_
AreaThis widget provides an empty canvas on which the application can draw anything. Note that this widget is simply an empty space, and that you need to connect it to events to make it useful. For instance, you might want to do one of the following :
* Connect it to "expose_event": The handlers are called every time the widget needs to be redrawn. You can then draw anything you want on the canvas, after getting its associated window with a call to Gtk.Widget.Get_Window. Note that the event mask is automatically set up to accept expose_events.
* Connect it to "button_press_event" and "button_release_event" events, when you want it to react to user input. Note that you need to set up the event mask with a call to Gtk.Widget.Set_Events.
See also the Double_Buffer widget provided in the GtkAda examples for an advanced example that demonstrates how to use double buffering, to avoid flickering in your drawings.
Widget Hierarchy |
---|
GObject (see Package_Glib.Object) Gtk_Object (see Package_Gtk.Object) \___ Gtk_Widget (see Package_Gtk.Widget) \___ Gtk_Drawing_Area (see Package_Gtk.Drawing_Area) |
Subprograms |
---|
procedure Gtk_New (Drawing_Area : out Gtk_Drawing_Area); |
Create a new blank Drawing_Area. Note that the background of the widget is uninitialized, and that you have to draw on it yourself. |
function Get_Type return Gtk.Gtk_Type; |
Return the internal value associated with a Gtk_Drawing_Area. |
procedure Size (Darea : access Gtk_Drawing_Area_Record; Width : Gint; Height : Gint); |
Request a new size for the area. This queues a resize request for the area. pragma Deprecated (Size); |