Welcome to GooCanvas
(a cairo-based canvas widget for GTK+)
GooCanvas Home Page : http://live.gnome.org/GooCanvas
GooCanvas is similar in many ways to GnomeCanvas and FooCanvas, but it uses
cairo for rendering.
NOTE: I am no longer actively developing GooCanvas, so no major new
features will be added (unless a new maintainer takes over). I'll still
try to fix any bugs that appear though, and may accept minor patches.
To build it run './configure' and 'make'. To run the demo cd into 'demo' and
run './demo'. (Or run ./simple-demo for the very simple demo, or ./mv-demo
for the model-view demo.)
o Basic items - rect/ellipse/polyline/text/image/grid/group.
o Path item, using SVG path specification strings.
o Table item for layout of other items (similar to the GtkTable widget).
(This also supports items whose requested height changes according to
their allocated width, such as text items.)
o Embedded GTK+ widgets.
o Layers/stacking order with raise/lower functions.
o Affine transformations for all items - rotations/scales/skews.
o Clip paths to support clipping items.
o Event handling - button/motion events, "pointer-events" property like SVG.
o Grabs - support for pointer & keyboard grabs.
o Keyboard focus traversal.
o Accessibility (item title & description properties and hierarchy stuff).
o Printing (output to a given cairo_t).
o Static items that don't move as the canvas is scrolled or zoomed.
o Item visibility setting - on/off/above zoom threshold.
o Simple animation.
o Scalable - support for thousands of items over a large canvas area.
o Support for different units - pixels/points/inches/millimeters.
o API docs.
Features that may be removed in future to simplify the code:
o Optional model/view split.
o Uses interfaces for items & views.
o Cascading styles - line width/style/dashes, colors, fill patterns.
(The style properties will remain, but will not cascade.)
Damon Chaplin (email@example.com)
(FooCanvas can be found in GNOME svn in the 'foocanvas' module.
FooCanvas was based on GnomeCanvas, which is in the 'libgnomecanvas' module.)