001 package com.croftsoft.core.animation.factory;
002
003 import com.croftsoft.core.animation.AnimationFactory;
004 import com.croftsoft.core.animation.RepaintCollector;
005 import com.croftsoft.core.animation.collector.*;
006 import com.croftsoft.core.util.loop.LoopGovernor;
007 import com.croftsoft.core.util.loop.NanoTimeLoopGovernor;
008
009 /*********************************************************************
010 * Creates the default animation objects.
011 *
012 * @version
013 * $Date: 2008/04/19 21:27:14 $
014 * @since
015 * 2002-03-09
016 * @author
017 * <a href="http://www.CroftSoft.com/">David Wallace Croft</a>
018 *********************************************************************/
019
020 public class DefaultAnimationFactory
021 implements AnimationFactory
022 //////////////////////////////////////////////////////////////////////
023 //////////////////////////////////////////////////////////////////////
024 {
025
026 public static final DefaultAnimationFactory INSTANCE
027 = new DefaultAnimationFactory ( );
028
029 public static final double DEFAULT_FRAME_RATE = 85.0;
030
031 //////////////////////////////////////////////////////////////////////
032 //////////////////////////////////////////////////////////////////////
033
034 public RepaintCollector createRepaintCollector ( )
035 //////////////////////////////////////////////////////////////////////
036 {
037 return new CoalescingRepaintCollector ( );
038 }
039
040 public LoopGovernor createLoopGovernor ( double frequency )
041 //////////////////////////////////////////////////////////////////////
042 {
043 return new NanoTimeLoopGovernor ( frequency );
044 }
045
046 public LoopGovernor createLoopGovernor ( )
047 //////////////////////////////////////////////////////////////////////
048 {
049 return new NanoTimeLoopGovernor ( DEFAULT_FRAME_RATE );
050 }
051
052 //////////////////////////////////////////////////////////////////////
053 //////////////////////////////////////////////////////////////////////
054
055 private DefaultAnimationFactory ( ) { }
056
057 //////////////////////////////////////////////////////////////////////
058 //////////////////////////////////////////////////////////////////////
059 }