[Contents] [Back] [Prev] [Up] [Next] [Forward]

# Package Gtk.Drawing`_`Area

This 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.

- Gtk.Drawing_Area Widget Hierarchy
- Gtk.Drawing_Area Subprograms

## Widget Hierarchy

    GObject                       (see section Package Glib.Object)
    Gtk_Object                    (see section Package Gtk.Object)
       \___ Gtk_Widget            (see section Package Gtk.Widget)
          \___ Gtk_Drawing_Area   (see section 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);

[Contents] [Back] [Prev] [Up] [Next] [Forward]