org.gnu.gdk

Class PixbufAnimation

public class PixbufAnimation extends GObject

Provides a simple mechanism to load and represent animations. An animation is conceptually a series of frames to be displayed over time. Each frame is the same size. The animation may not be represented as a series of frames internally; for example, it may be stored as a sprite and instructions for moving the sprite around a background. To display an animation you don't need to understand its representation, however; you just ask this class what should be displayed at a given point in time.
Constructor Summary
PixbufAnimation(String filename)
Construct a new Pixbuf animation by loading it from a file.
PixbufAnimation(Handle handle)
Create a new pixbuf from a handle to a native resource.
Method Summary
PixbufAnimationItergetIter(long startSec, long startUsec)
Get an iterator for displaying an animation.
PixbufgetStaticImage()
If an animation is really just a plain image (has only one frame), this method returns that image.
intheight()
Return the height of the bounding box of a pixbuf animation.
booleanisStaticImage()
If this animation was loaded from a that turns out to be a plain unaminated image then this method will return true.
intwidth()
Return the width of the bounding box of a pixbuf animation.

Constructor Detail

PixbufAnimation

public PixbufAnimation(String filename)
Construct a new Pixbuf animation by loading it from a file. The file format is detected automatically. If the files format does not support multi-frame images then an animation with a single frame will be created.

Parameters: filename The name of the image file.

PixbufAnimation

public PixbufAnimation(Handle handle)
Create a new pixbuf from a handle to a native resource. For internal use.

Parameters: handle The handle to the native resoufce

Method Detail

getIter

public PixbufAnimationIter getIter(long startSec, long startUsec)
Get an iterator for displaying an animation. The iterator provides the frames that should be displayed at a given time.

The start time marks the beginning of animation playback. After creating an iterator, you should immediately display the pixbuf returned by the getPixbuf() method of PixbufAnimationIter. Then, you should install a timeout by some mechanism to ensure that you'll update the image after the delay time. Each time the image is updated, you should reinstall the timeout with the new, possibly-changed delay time.

Parameters: startSec startUsec

getStaticImage

public Pixbuf getStaticImage()
If an animation is really just a plain image (has only one frame), this method returns that image. If the animation is an animation, this method returns a reasonable thing to display as a static unanimated image, which might be the first frame, or something more sophisticated. If an animation hasn't loaded any frames yet, this method will return NULL.

height

public int height()
Return the height of the bounding box of a pixbuf animation.

Returns: The height

isStaticImage

public boolean isStaticImage()
If this animation was loaded from a that turns out to be a plain unaminated image then this method will return true.

width

public int width()
Return the width of the bounding box of a pixbuf animation.

Returns: The width