
Sodipodi API's
--------------

This file identifies and discusses various Application Programming
Interfaces (API's) that exist in the codebase.  This is not intended to
serve as a complete reference but as a high level overview; details
should be sought from the appropriate code units.

Stable API's
============


Unstable API's
==============
Objects and API-s mentioned here, even if implemented,
may change without notice.

Special item classes
~~~~~~~~~~~~~~~~~~~~
SPGroup::SPBinder
A group with special children
For example - blender
1. first
2. second
3... intermediate

Sodipodi New Object Tree TM
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Caution: This does not follow necessarily the Real (TM) implementation
logic.  This should be updated to capture the correct stuff.

 SPItem
 Virtual methods:
    void update (gdouble affine[]);
    void bbox ();
    void print (GnomePrintContext * gpc);
    gchar * description ();
    void read ();
    read_attr (const gchar * attr)
    GnomeCanvasItem * show (GnomeCanvasGroup * canvas_group, gpointer event_handler);
    hide (GnomeCanvas * canvas)
    paint (ArtPixBuf * buf, double affine[]);
 Signals:
 Methods:
    SPRepr * sp_item_repr ()
    SPItem * sp_item_parent ()

 Constructors:
    sp_item_new (SPRepr * repr);

 Destructors:
    sp_item_destroy (SPItem * item);

 Derivatives:

    SPGroup -> SPDocument
    SPImage
    SPPath -> SPShape -> SPRect
                      -> SPEllipse
		      -> SPChars -> SPText
