The GmbSprite widget is the simple sprite manipulation framework
that will be used in the next version of "Gnome Memory Blocks"
(http://gnome-memblocks.sourceforge.net).
Main goal was to write something intermediate between
plain GdkDrawingArea widget and the intelligent GnomeCanvas.
Actually, mostly all of event handling code was "stolen" from
GnomeCanvas. (and slightly uglified :))
At present moment gmb-sprite consists of the following
GTK+ widgets/objects:
* GtkWidget
+---GmbSpriteArea (see gmb-sprite/gmb-sprite-area.h)
Oversimplified "flicker guard" & container for GmbSprites.
As a container it is similar to the GtkFixed, i.e. you
have to specify sprites positions explicitly.
As a "flicker guard" it is similar to the GnomeCanvas in
not-antialiased mode; due to simplisity of (expected) using
there is no objects similar to GnomeCanvasItemGroup and all
GmbSprite's has rectangular shapes. You have to specify
the widget size manually using gtk_widget_set_usize()
or to derive a subclass that implements `size_request'
GtkWidget's method.
* GtkObject
+---GmbSprite
That is the abstract class for sprites. Has some usefull methods
like `move', `show'/`hide' and `lower'/'raise'.
It also emits `event' signal for mouse events.
* GtkObject
+---GmbSprite
+---GmbSpritePixmap
Just pixmap & mask.
* GtkObject
+---GmbSprite
+---GmbSpritePixbuf
It uses standard GdkPixbuf features to render itself with given
alpha value. It can also do `smooth' transformation of currently
displayed GdkPixbuf area to anouther one.
* GtkObject
+---GmbAnimation
That is the animation container which we need only because
GdkPixbufAnimation structure is opaque.
* GtkObject
+---GmbSprite
+---GmbSpriteAnimator
This provide standard animation routines such as playing animation
in normal and reversed directions, in different loop modes
together with emiting "playback finished" signal. For demo
program see `tests/test-animator'.
is finished. See `test-animator' in the tests directory.
Vova Babin, <vb@dwuj.ichf.edu.pl>.
|