The canvas widget is a powerful and extensible object-oriented display engine, useful in a wide variety of Gnome applications. The widget itself is simply a blank area; you can place GnomeCanvasItems? on it. A GnomeCanvasItem? is a GtkObject? representing some element of the display, such as an image, a rectangle, an ellipse, or some text. Although mostly used for relatively simple StructuredGraphics, the GnomeCanvas has a two dimensional SceneGraph architecture; the canvas lets you deal with graphics in terms of items, rather than an undifferentiated grid of pixels. Since a GnomeCanvasItem? is a GtkObject?, you can create your own subclasses to supplement those that come with Gnome. This gives you quite a bit of flexibility. Using custom canvas items, the canvas can render almost anything. At the same time, you can use stock canvas items to save time and effort. The canvas puts you in control.
Also see: GraphicsPatterns, SceneBeans