GooCanvas

GooCanvas — the main canvas widget.

Synopsis

                    GooCanvas;
struct              GooCanvasClass;

GtkWidget *         goo_canvas_new                      (void);

GooCanvasItem *     goo_canvas_get_root_item            (GooCanvas *canvas);
void                goo_canvas_set_root_item            (GooCanvas *canvas,
                                                         GooCanvasItem *item);
GooCanvasItemModel * goo_canvas_get_root_item_model     (GooCanvas *canvas);
void                goo_canvas_set_root_item_model      (GooCanvas *canvas,
                                                         GooCanvasItemModel *model);

GooCanvasItem *     goo_canvas_get_static_root_item     (GooCanvas *canvas);
void                goo_canvas_set_static_root_item     (GooCanvas *canvas,
                                                         GooCanvasItem *item);
GooCanvasItemModel * goo_canvas_get_static_root_item_model
                                                        (GooCanvas *canvas);
void                goo_canvas_set_static_root_item_model
                                                        (GooCanvas *canvas,
                                                         GooCanvasItemModel *model);

void                goo_canvas_get_bounds               (GooCanvas *canvas,
                                                         gdouble *left,
                                                         gdouble *top,
                                                         gdouble *right,
                                                         gdouble *bottom);
void                goo_canvas_set_bounds               (GooCanvas *canvas,
                                                         gdouble left,
                                                         gdouble top,
                                                         gdouble right,
                                                         gdouble bottom);
gdouble             goo_canvas_get_scale                (GooCanvas *canvas);
void                goo_canvas_set_scale                (GooCanvas *canvas,
                                                         gdouble scale);

GooCanvasItem *     goo_canvas_get_item                 (GooCanvas *canvas,
                                                         GooCanvasItemModel *model);
GooCanvasItem *     goo_canvas_get_item_at              (GooCanvas *canvas,
                                                         gdouble x,
                                                         gdouble y,
                                                         gboolean is_pointer_event);
GList *             goo_canvas_get_items_at             (GooCanvas *canvas,
                                                         gdouble x,
                                                         gdouble y,
                                                         gboolean is_pointer_event);
GList *             goo_canvas_get_items_in_area        (GooCanvas *canvas,
                                                         const GooCanvasBounds *area,
                                                         gboolean inside_area,
                                                         gboolean allow_overlaps,
                                                         gboolean include_containers);

void                goo_canvas_scroll_to                (GooCanvas *canvas,
                                                         gdouble left,
                                                         gdouble top);
void                goo_canvas_render                   (GooCanvas *canvas,
                                                         cairo_t *cr,
                                                         const GooCanvasBounds *bounds,
                                                         gdouble scale);

void                goo_canvas_convert_to_pixels        (GooCanvas *canvas,
                                                         gdouble *x,
                                                         gdouble *y);
void                goo_canvas_convert_from_pixels      (GooCanvas *canvas,
                                                         gdouble *x,
                                                         gdouble *y);
void                goo_canvas_convert_to_item_space    (GooCanvas *canvas,
                                                         GooCanvasItem *item,
                                                         gdouble *x,
                                                         gdouble *y);
void                goo_canvas_convert_from_item_space  (GooCanvas *canvas,
                                                         GooCanvasItem *item,
                                                         gdouble *x,
                                                         gdouble *y);
void                goo_canvas_convert_bounds_to_item_space
                                                        (GooCanvas *canvas,
                                                         GooCanvasItem *item,
                                                         GooCanvasBounds *bounds);
void                goo_canvas_convert_units_to_pixels  (GooCanvas *canvas,
                                                         gdouble *x,
                                                         gdouble *y);
void                goo_canvas_convert_units_from_pixels
                                                        (GooCanvas *canvas,
                                                         gdouble *x,
                                                         gdouble *y);

GdkGrabStatus       goo_canvas_pointer_grab             (GooCanvas *canvas,
                                                         GooCanvasItem *item,
                                                         GdkEventMask event_mask,
                                                         GdkCursor *cursor,
                                                         guint32 time);
void                goo_canvas_pointer_ungrab           (GooCanvas *canvas,
                                                         GooCanvasItem *item,
                                                         guint32 time);

void                goo_canvas_grab_focus               (GooCanvas *canvas,
                                                         GooCanvasItem *item);
GdkGrabStatus       goo_canvas_keyboard_grab            (GooCanvas *canvas,
                                                         GooCanvasItem *item,
                                                         gboolean owner_events,
                                                         guint32 time);
void                goo_canvas_keyboard_ungrab          (GooCanvas *canvas,
                                                         GooCanvasItem *item,
                                                         guint32 time);

cairo_t *           goo_canvas_create_cairo_context     (GooCanvas *canvas);
GooCanvasItem *     goo_canvas_create_item              (GooCanvas *canvas,
                                                         GooCanvasItemModel *model);
void                goo_canvas_unregister_item          (GooCanvas *canvas,
                                                         GooCanvasItemModel *model);
void                goo_canvas_register_widget_item     (GooCanvas *canvas,
                                                         GooCanvasWidget *witem);
void                goo_canvas_unregister_widget_item   (GooCanvas *canvas,
                                                         GooCanvasWidget *witem);
void                goo_canvas_update                   (GooCanvas *canvas);
void                goo_canvas_request_update           (GooCanvas *canvas);
void                goo_canvas_request_redraw           (GooCanvas *canvas,
                                                         const GooCanvasBounds *bounds);
void                goo_canvas_request_item_redraw      (GooCanvas *canvas,
                                                         const GooCanvasBounds *bounds,
                                                         gboolean is_static);
gdouble             goo_canvas_get_default_line_width   (GooCanvas *canvas);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GooCanvas

Implemented Interfaces

GooCanvas implements AtkImplementorIface, GtkBuildable and GtkScrollable.

Properties

  "anchor"                   GooCanvasAnchorType   : Read / Write
  "automatic-bounds"         gboolean              : Read / Write
  "background-color"         gchar*                : Write
  "background-color-gdk-rgba" GdkRGBA*              : Write
  "background-color-rgb"     guint                 : Write
  "bounds-from-origin"       gboolean              : Read / Write
  "bounds-padding"           gdouble               : Read / Write
  "clear-background"         gboolean              : Read / Write
  "integer-layout"           gboolean              : Read / Write
  "redraw-when-scrolled"     gboolean              : Read / Write
  "resolution-x"             gdouble               : Read / Write
  "resolution-y"             gdouble               : Read / Write
  "scale"                    gdouble               : Read / Write
  "scale-x"                  gdouble               : Read / Write
  "scale-y"                  gdouble               : Read / Write
  "units"                    GtkUnit               : Read / Write
  "x1"                       gdouble               : Read / Write
  "x2"                       gdouble               : Read / Write
  "y1"                       gdouble               : Read / Write
  "y2"                       gdouble               : Read / Write

Signals

  "item-created"                                   : Run Last

Description

GooCanvas is the main widget containing a number of canvas items.

Here is a simple example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77