HippoCanvas: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
{{stub}}
{{stub}}


HippoCanvas is a generic user interface element that can draw Cairo graphics, respond to key and mouse events, and lay out other widgets. It is currently used to implement a number of Sugar's custom widgets (toolbars, rounded buttons, etc.) and to lay out the screen.
HippoCanvas is a generic user interface element that can draw [[Cairo]] graphics, respond to key and mouse events, and lay out other widgets. It is currently used to implement a number of [[Sugar]]'s custom widgets (toolbars, rounded buttons, etc.) and to lay out the screen.


On the OLPC, HippoCanvas is a GTK widget and it can contain other GTK widgets, so the programmer can freely combine HippoCanvas and other widgets. While Sugar does not require that activities be written using HippoCanvas, those that do can look more visually consistent with other activities.
On the OLPC, HippoCanvas is a [[GTK]] widget and it can contain other GTK widgets, so the programmer can freely combine HippoCanvas and other widgets. While Sugar does not require that activities be written using HippoCanvas, those that do can look more visually consistent with other activities.


== Rationale ==
== Rationale ==


HippoCanvas was originally designed to be a cross-platform UI layer built on top of other windowing systems. It is used in Sugar to work around deficiencies GTK's layout system. HippoCanvas also makes it easier to prototype custom widgets, and its Python interface can be somewhat simpler than native GTK widgets.
HippoCanvas was originally designed to be a cross-platform UI layer built on top of other windowing systems. It is used in Sugar to work around deficiencies GTK's layout system. [http://log.ometer.com/2006-10.html#14] HippoCanvas also makes it easier to prototype custom widgets, and its Python interface can be somewhat simpler than native GTK widgets.


== Canvas object ==
== Canvas object ==

Revision as of 19:02, 19 February 2007

This article is a stub. You can help the OLPC project by expanding it.

HippoCanvas is a generic user interface element that can draw Cairo graphics, respond to key and mouse events, and lay out other widgets. It is currently used to implement a number of Sugar's custom widgets (toolbars, rounded buttons, etc.) and to lay out the screen.

On the OLPC, HippoCanvas is a GTK widget and it can contain other GTK widgets, so the programmer can freely combine HippoCanvas and other widgets. While Sugar does not require that activities be written using HippoCanvas, those that do can look more visually consistent with other activities.

Rationale

HippoCanvas was originally designed to be a cross-platform UI layer built on top of other windowing systems. It is used in Sugar to work around deficiencies GTK's layout system. [1] HippoCanvas also makes it easier to prototype custom widgets, and its Python interface can be somewhat simpler than native GTK widgets.

Canvas object

CanvasItem object

CanvasBox object

CanvasWidget object

CanvasContext object

CanvasImage object

CanvasText object

CanvasLink object

Links