packages icon

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>.