Class Transition

java.lang.Object
org.eclipse.nebula.effects.stw.Transition
Direct Known Subclasses:
CubicRotationTransition, FadeTransition, SlideTransition

public abstract class Transition
extends java.lang.Object
An abstract class handling the basic actions required for whatever transition effect. These actions are like the transition loop.

To implement a new transition effect, this class should be extended by the new transition class and only the three methods initTransition(Image, Image, GC, double) , stepTransition(long, Image, Image, GC, double) and endTransition(Image, Image, GC, double) must be implemented.

The transition loop:
 xitionImgGC.drawImage(from, 0, 0);
 initTransition(from, to, xitionImgGC, direction);
 render(xitionImgGC);
 while(t <= T) {
   if(t <= T) {
     stepTransition(t, from, to, xitionImgGC, direction);
   } else {
     xitionImgGC.drawImage(to, 0, 0);
     endTransition(from, to, xitionImgGC, direction);
   }
   render(xitionImgGC);
   t += dt;
 }
 
The initTransition method initializes the transition variables and draws the initial/first frame of the transition effect at time 0. The stepTransition method calculates the new transition variables values based on the time parameter t and draws the transition effect at time instance t. Finally, the endTransition method finalizes the transition and draws the last frame at instance T.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected long _fps  
    protected long _T  
    protected TransitionManager _transitionManager  
    static long DEFAULT_FPS
    The default fps (frames per second) is 60
    static long DEFAULT_T
    The default transition time is 1000 ms
    static double DIR_DOWN
    The Down direction, 270 degrees
    static double DIR_LEFT
    The Left direction, 180 degrees
    static double DIR_RIGHT
    The Right direction, 0 degrees
    static double DIR_UP
    The Up direction, 90 degrees
    protected static boolean IS_LINUX_OS
    Flag to indicate if this OS is a Linux OS or not.
    protected static boolean IS_MAC_OS
    Flag to indicate if this OS is a MacOS X or not.
  • Constructor Summary

    Constructors 
    Constructor Description
    Transition​(TransitionManager transitionManager)
    This constructor is similar to new Transition(transitionManager, DEFAULT_FPS, DEFAULT_T)
    Transition​(TransitionManager transitionManager, long fps, long T)
    Constructs a new transition object
  • Method Summary

    Modifier and Type Method Description
    protected void doEvents()  
    protected abstract void endTransition​(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)  
    long getFPS()
    Returns the maximum number of frames per second
    double getTotalTransitionTime()
    Returns the total time of the transition effect in millisecond
    protected abstract void initTransition​(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)  
    void setFPS​(long fps)
    Sets the maximum fps (number of frames per second) for the transition.
    void setTotalTransitionTime​(long T)
    Sets the total time of the transition effect in milliseconds.
    void start​(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.widgets.Canvas canvas, double direction)
    Starts the transition from the from image to the to image drawing the effect on the graphics context object gc.
    protected abstract void stepTransition​(long t, org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • Transition

      public Transition​(TransitionManager transitionManager, long fps, long T)
      Constructs a new transition object
      Parameters:
      transitionManager - the transition manager to be used to manage transitions
      fps - number of frames per second
      T - the total time the transition effect will take
    • Transition

      public Transition​(TransitionManager transitionManager)
      This constructor is similar to new Transition(transitionManager, DEFAULT_FPS, DEFAULT_T)
      Parameters:
      transitionManager - the transition manager to be used to manage transitions
  • Method Details

    • setFPS

      public final void setFPS​(long fps)
      Sets the maximum fps (number of frames per second) for the transition. The actual number of frames displayed will vary depending on the current workload on the machine.
      Parameters:
      fps - maximum number of frames per second
    • getFPS

      public final long getFPS()
      Returns the maximum number of frames per second
      Returns:
      the maximum number of frames per second
    • setTotalTransitionTime

      public final void setTotalTransitionTime​(long T)
      Sets the total time of the transition effect in milliseconds.
      Parameters:
      T - total time of the transition effect in milliseconds
    • getTotalTransitionTime

      public final double getTotalTransitionTime()
      Returns the total time of the transition effect in millisecond
      Returns:
      the total time of the transition effect in millisecond
    • start

      public final void start​(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.widgets.Canvas canvas, double direction)
      Starts the transition from the from image to the to image drawing the effect on the graphics context object gc. The direction parameter determines the direction of the transition in degrees starting from 0 as the right direction and increasing in counter clock wise direction.
      Parameters:
      from - is the image to start the transition from
      to - is the image to end the transition to
      canvas - is the canvas object to draw the transition on
      direction - determines the direction of the transition in degrees
    • doEvents

      protected void doEvents()
    • initTransition

      protected abstract void initTransition​(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)
    • stepTransition

      protected abstract void stepTransition​(long t, org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)
    • endTransition

      protected abstract void endTransition​(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)