public abstract class Transition
extends java.lang.Object
initTransition(Image, Image, GC, double)
, stepTransition(long, Image, Image, GC, double)
and
endTransition(Image, Image, GC, double)
must be implemented.
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.Modifier and Type | Field and 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 and 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
|
Modifier and Type | Method and 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) |
public static final long DEFAULT_FPS
public static final long DEFAULT_T
public static final double DIR_RIGHT
public static final double DIR_UP
public static final double DIR_LEFT
public static final double DIR_DOWN
protected static final boolean IS_MAC_OS
protected static final boolean IS_LINUX_OS
protected TransitionManager _transitionManager
protected long _fps
protected long _T
public Transition(TransitionManager transitionManager, long fps, long T)
transitionManager
- the transition manager to be used to manage transitionsfps
- number of frames per secondT
- the total time the transition effect will takepublic Transition(TransitionManager transitionManager)
DEFAULT_FPS
, DEFAULT_T
)transitionManager
- the transition manager to be used to manage transitionspublic final void setFPS(long fps)
fps
- maximum number of frames per secondpublic final long getFPS()
public final void setTotalTransitionTime(long T)
T
- total time of the transition effect in millisecondspublic final double getTotalTransitionTime()
public final void start(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.widgets.Canvas canvas, double direction)
from
- is the image to start the transition fromto
- is the image to end the transition tocanvas
- is the canvas object to draw the transition ondirection
- determines the direction of the transition in degreesprotected void doEvents()
protected abstract void initTransition(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)
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)
protected abstract void endTransition(org.eclipse.swt.graphics.Image from, org.eclipse.swt.graphics.Image to, org.eclipse.swt.graphics.GC gc, double direction)