[vala/wip/goocanvas: 5/5] vapi: Add goocanvas-2.0 bindings



commit 57fa049a08a92b5c1030b17be6a50cf393fc7ed3
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Mon Jan 21 10:19:22 2019 +0100

    vapi: Add goocanvas-2.0 bindings
    
    Fixes https://gitlab.gnome.org/GNOME/vala/issues/739

 vapi/Makefile.am                     |    6 +
 vapi/goocanvas-2.0.deps              |    7 +
 vapi/goocanvas-2.0.vapi              | 1224 ++++++++++++++++++++++++++++++++++
 vapi/metadata/GooCanvas-2.0.metadata |   41 ++
 4 files changed, 1278 insertions(+)
---
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index 6c48201b2..a04cada15 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -78,6 +78,8 @@ dist_vapi_DATA = \
        gobject-introspection-1.0.vapi \
        goocanvas.deps \
        goocanvas.vapi \
+       goocanvas-2.0.deps \
+       goocanvas-2.0.vapi \
        graphene-1.0.deps \
        graphene-1.0.vapi \
        gsl.vapi \
@@ -351,6 +353,7 @@ GIR_BINDINGS = \
        gio-2.0 \
        gnome-desktop-3.0 \
        gobject-introspection-1.0 \
+       goocanvas-2.0 \
        graphene-1.0 \
        gtk+-3.0 \
        gtk+-4.0 \
@@ -487,6 +490,9 @@ gobject-introspection-1.0:
 goocanvas:
        $(GENVAPI) --library $(srcdir)/goocanvas $(PACKAGESDIR)/goocanvas/goocanvas-custom.vala 
$(PACKAGESDIR)/goocanvas/goocanvas.gi
 
+goocanvas-2.0:
+       $(GENVAPI) --library $(srcdir)/goocanvas-2.0 --pkg cairo --pkg gtk+-3.0 --metadatadir $(METADATADIR) 
$(GIRDIR)/GooCanvas-2.0.gir
+
 graphene-1.0:
        $(GENVAPI) --library $(srcdir)/graphene-1.0 --pkg gobject-2.0 --metadatadir $(METADATADIR) 
$(GIRDIR)/Graphene-1.0.gir
 
diff --git a/vapi/goocanvas-2.0.deps b/vapi/goocanvas-2.0.deps
new file mode 100644
index 000000000..3566d8fe8
--- /dev/null
+++ b/vapi/goocanvas-2.0.deps
@@ -0,0 +1,7 @@
+atk
+cairo
+pango
+gdk-3.0
+gio-2.0
+gtk+-3.0
+gdk-pixbuf-2.0
diff --git a/vapi/goocanvas-2.0.vapi b/vapi/goocanvas-2.0.vapi
new file mode 100644
index 000000000..957e49f96
--- /dev/null
+++ b/vapi/goocanvas-2.0.vapi
@@ -0,0 +1,1224 @@
+/* goocanvas-2.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Goo", gir_namespace = "GooCanvas", gir_version = "2.0", lower_case_cprefix = "goo_")]
+namespace Goo {
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_get_type ()")]
+       public class Canvas : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Scrollable {
+               [CCode (has_construct_function = false, type = "GtkWidget*")]
+               public Canvas ();
+               public void convert_bounds_to_item_space (Goo.CanvasItem item, ref Goo.CanvasBounds bounds);
+               public void convert_from_item_space (Goo.CanvasItem item, ref double x, ref double y);
+               public void convert_from_pixels (ref double x, ref double y);
+               public void convert_to_item_space (Goo.CanvasItem item, ref double x, ref double y);
+               public void convert_to_pixels (ref double x, ref double y);
+               [Version (since = "2.0.1")]
+               public void convert_units_from_pixels (ref double x, ref double y);
+               [Version (since = "2.0.1")]
+               public void convert_units_to_pixels (ref double x, ref double y);
+               public Cairo.Context create_cairo_context ();
+               public virtual Goo.CanvasItem create_item (Goo.CanvasItemModel model);
+               public static void create_path (GLib.Array<Goo.CanvasPathCommand?> commands, Cairo.Context 
cr);
+               public void get_bounds (out double left, out double top, out double right, out double bottom);
+               public double get_default_line_width ();
+               public unowned Goo.CanvasItem get_item (Goo.CanvasItemModel model);
+               public unowned Goo.CanvasItem get_item_at (double x, double y, bool is_pointer_event);
+               public GLib.List<weak Goo.CanvasItem> get_items_at (double x, double y, bool 
is_pointer_event);
+               public GLib.List<weak Goo.CanvasItem> get_items_in_area (Goo.CanvasBounds area, bool 
inside_area, bool allow_overlaps, bool include_containers);
+               public unowned Goo.CanvasItem get_root_item ();
+               public unowned Goo.CanvasItemModel get_root_item_model ();
+               public double get_scale ();
+               public unowned Goo.CanvasItem get_static_root_item ();
+               public unowned Goo.CanvasItemModel get_static_root_item_model ();
+               public void grab_focus (Goo.CanvasItem item);
+               public Gdk.GrabStatus keyboard_grab (Goo.CanvasItem item, bool owner_events, uint32 time);
+               public void keyboard_ungrab (Goo.CanvasItem item, uint32 time);
+               public static GLib.Array<Goo.CanvasPathCommand?> parse_path_data (string path_data);
+               public Gdk.GrabStatus pointer_grab (Goo.CanvasItem item, Gdk.EventMask event_mask, Gdk.Cursor 
cursor, uint32 time);
+               public void pointer_ungrab (Goo.CanvasItem item, uint32 time);
+               public void register_widget_item (Goo.CanvasWidget witem);
+               public void render (Cairo.Context cr, Goo.CanvasBounds? bounds, double scale);
+               public void request_item_redraw (Goo.CanvasBounds bounds, bool is_static);
+               public void request_redraw (Goo.CanvasBounds bounds);
+               public void request_update ();
+               public void scroll_to (double left, double top);
+               public void set_bounds (double left, double top, double right, double bottom);
+               public void set_root_item (Goo.CanvasItem item);
+               public void set_root_item_model (Goo.CanvasItemModel model);
+               public void set_scale (double scale);
+               public void set_static_root_item (Goo.CanvasItem item);
+               public void set_static_root_item_model (Goo.CanvasItemModel model);
+               public void unregister_item (Goo.CanvasItemModel model);
+               public void unregister_widget_item (Goo.CanvasWidget witem);
+               public void update ();
+               [NoAccessorMethod]
+               public Goo.CanvasAnchorType anchor { get; set; }
+               [NoAccessorMethod]
+               public bool automatic_bounds { get; set; }
+               [NoAccessorMethod]
+               public string background_color { set; }
+               [NoAccessorMethod]
+               [Version (since = "2.0.1")]
+               public Gdk.RGBA background_color_gdk_rgba { set; }
+               [NoAccessorMethod]
+               public uint background_color_rgb { set; }
+               [NoAccessorMethod]
+               public bool bounds_from_origin { get; set; }
+               [NoAccessorMethod]
+               public double bounds_padding { get; set; }
+               [NoAccessorMethod]
+               public bool clear_background { get; set; }
+               [NoAccessorMethod]
+               public bool integer_layout { get; set; }
+               [NoAccessorMethod]
+               public bool redraw_when_scrolled { get; set; }
+               [NoAccessorMethod]
+               public double resolution_x { get; set; }
+               [NoAccessorMethod]
+               public double resolution_y { get; set; }
+               public double scale { get; set; }
+               [NoAccessorMethod]
+               public double scale_x { get; set; }
+               [NoAccessorMethod]
+               public double scale_y { get; set; }
+               [NoAccessorMethod]
+               public Gtk.Unit units { get; set; }
+               [NoAccessorMethod]
+               public double x1 { get; set; }
+               [NoAccessorMethod]
+               public double x2 { get; set; }
+               [NoAccessorMethod]
+               public double y1 { get; set; }
+               [NoAccessorMethod]
+               public double y2 { get; set; }
+               public virtual signal void item_created (Goo.CanvasItem item, Goo.CanvasItemModel model);
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_accessible_factory_get_type ()")]
+       public class CanvasAccessibleFactory : Atk.ObjectFactory {
+               [CCode (has_construct_function = false)]
+               protected CanvasAccessibleFactory ();
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_ellipse_get_type ()")]
+       public class CanvasEllipse : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public Goo.CanvasEllipseData ellipse_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasEllipse (Goo.CanvasItem? parent, double center_x, double center_y, double 
radius_x, double radius_y, ...);
+               [NoAccessorMethod]
+               public double center_x { get; set; }
+               [NoAccessorMethod]
+               public double center_y { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double radius_x { get; set; }
+               [NoAccessorMethod]
+               public double radius_y { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_ellipse_model_get_type ()")]
+       public class CanvasEllipseModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public Goo.CanvasEllipseData ellipse_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasEllipseModel (Goo.CanvasItemModel? parent, double center_x, double center_y, 
double radius_x, double radius_y, ...);
+               [NoAccessorMethod]
+               public double center_x { get; set; }
+               [NoAccessorMethod]
+               public double center_y { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double radius_x { get; set; }
+               [NoAccessorMethod]
+               public double radius_y { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_grid_get_type ()")]
+       public class CanvasGrid : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public Goo.CanvasGridData grid_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasGrid (Goo.CanvasItem? parent, double x, double y, double width, double height, 
double x_step, double y_step, double x_offset, double y_offset, ...);
+               [NoAccessorMethod]
+               public string border_color { set; }
+               [NoAccessorMethod]
+               [Version (since = "2.0.1")]
+               public Gdk.RGBA border_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint border_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? border_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf border_pixbuf { set; }
+               [NoAccessorMethod]
+               public double border_width { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public string horz_grid_line_color { set; }
+               [NoAccessorMethod]
+               [Version (since = "2.0.1")]
+               public Gdk.RGBA horz_grid_line_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint horz_grid_line_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? horz_grid_line_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf horz_grid_line_pixbuf { set; }
+               [NoAccessorMethod]
+               public double horz_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public bool show_horz_grid_lines { get; set; }
+               [NoAccessorMethod]
+               public bool show_vert_grid_lines { get; set; }
+               [NoAccessorMethod]
+               public string vert_grid_line_color { set; }
+               [NoAccessorMethod]
+               [Version (since = "2.0.1")]
+               public Gdk.RGBA vert_grid_line_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint vert_grid_line_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? vert_grid_line_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf vert_grid_line_pixbuf { set; }
+               [NoAccessorMethod]
+               public double vert_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public bool vert_grid_lines_on_top { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double x_offset { get; set; }
+               [NoAccessorMethod]
+               public double x_step { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+               [NoAccessorMethod]
+               public double y_offset { get; set; }
+               [NoAccessorMethod]
+               public double y_step { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_grid_model_get_type ()")]
+       public class CanvasGridModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public Goo.CanvasGridData grid_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasGridModel (Goo.CanvasItemModel? parent, double x, double y, double width, double 
height, double x_step, double y_step, double x_offset, double y_offset, ...);
+               [NoAccessorMethod]
+               public string border_color { set; }
+               [NoAccessorMethod]
+               public Gdk.RGBA border_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint border_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? border_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf border_pixbuf { set; }
+               [NoAccessorMethod]
+               public double border_width { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public string horz_grid_line_color { set; }
+               [NoAccessorMethod]
+               public Gdk.RGBA horz_grid_line_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint horz_grid_line_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? horz_grid_line_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf horz_grid_line_pixbuf { set; }
+               [NoAccessorMethod]
+               public double horz_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public bool show_horz_grid_lines { get; set; }
+               [NoAccessorMethod]
+               public bool show_vert_grid_lines { get; set; }
+               [NoAccessorMethod]
+               public string vert_grid_line_color { set; }
+               [NoAccessorMethod]
+               public Gdk.RGBA vert_grid_line_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint vert_grid_line_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? vert_grid_line_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf vert_grid_line_pixbuf { set; }
+               [NoAccessorMethod]
+               public double vert_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public bool vert_grid_lines_on_top { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double x_offset { get; set; }
+               [NoAccessorMethod]
+               public double x_step { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+               [NoAccessorMethod]
+               public double y_offset { get; set; }
+               [NoAccessorMethod]
+               public double y_step { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_group_get_type ()")]
+       public class CanvasGroup : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public weak GLib.GenericArray<void*> items;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasGroup (Goo.CanvasItem? parent, ...);
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_group_model_get_type ()")]
+       public class CanvasGroupModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public weak GLib.GenericArray<void*> children;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasGroupModel (Goo.CanvasItemModel? parent, ...);
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_image_get_type ()")]
+       public class CanvasImage : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public Goo.CanvasImageData image_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasImage (Goo.CanvasItem? parent, Gdk.Pixbuf? pixbuf, double x, double y, ...);
+               [NoAccessorMethod]
+               public double alpha { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf pixbuf { set; }
+               [NoAccessorMethod]
+               public bool scale_to_fit { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_image_model_get_type ()")]
+       public class CanvasImageModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public Goo.CanvasImageData image_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasImageModel (Goo.CanvasItemModel? parent, Gdk.Pixbuf? pixbuf, double x, double y, 
...);
+               [NoAccessorMethod]
+               public double alpha { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf pixbuf { set; }
+               [NoAccessorMethod]
+               public bool scale_to_fit { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_accessible_factory_get_type ()")]
+       public class CanvasItemAccessibleFactory : Atk.ObjectFactory {
+               [CCode (has_construct_function = false)]
+               protected CanvasItemAccessibleFactory ();
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_model_simple_get_type ()")]
+       public class CanvasItemModelSimple : GLib.Object, Goo.CanvasItemModel {
+               public weak string description;
+               public weak Goo.CanvasItemModel parent;
+               public Goo.CanvasItemSimpleData simple_data;
+               public weak string title;
+               [CCode (has_construct_function = false)]
+               protected CanvasItemModelSimple ();
+               [NoAccessorMethod]
+               public Goo.CairoAntialias antialias { get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoFillRule clip_fill_rule { get; set; }
+               [NoAccessorMethod]
+               public string clip_path { set; }
+               [NoAccessorMethod]
+               public string fill_color { set; }
+               [NoAccessorMethod]
+               public Gdk.RGBA fill_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint fill_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? fill_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf fill_pixbuf { set; }
+               [NoAccessorMethod]
+               public Goo.CairoFillRule fill_rule { get; set; }
+               [NoAccessorMethod]
+               public string font { owned get; set; }
+               [NoAccessorMethod]
+               public Pango.FontDescription font_desc { owned get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoHintMetrics hint_metrics { get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoLineCap line_cap { get; set; }
+               [NoAccessorMethod]
+               public Goo.CanvasLineDash line_dash { owned get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoLineJoin line_join { get; set; }
+               [NoAccessorMethod]
+               public double line_join_miter_limit { get; set; }
+               [NoAccessorMethod]
+               public double line_width { get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoOperator operator { get; set; }
+               [NoAccessorMethod]
+               public string stroke_color { set; }
+               [NoAccessorMethod]
+               public Gdk.RGBA stroke_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint stroke_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? stroke_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf stroke_pixbuf { set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_simple_get_type ()")]
+       public class CanvasItemSimple : GLib.Object, Goo.CanvasItem {
+               public Goo.CanvasBounds bounds;
+               public weak Goo.Canvas canvas;
+               public weak Goo.CanvasItemModelSimple model;
+               public uint need_entire_subtree_update;
+               public uint need_update;
+               public weak Goo.CanvasItem parent;
+               public Goo.CanvasItemSimpleData simple_data;
+               [CCode (has_construct_function = false)]
+               protected CanvasItemSimple ();
+               public void changed (bool recompute_bounds);
+               public bool check_in_path (double x, double y, Cairo.Context cr, Goo.CanvasPointerEvents 
pointer_events);
+               public void check_style ();
+               public double get_line_width ();
+               public void get_path_bounds (Cairo.Context cr, out Goo.CanvasBounds bounds);
+               public void paint_path (Cairo.Context cr);
+               [NoWrapper]
+               public virtual void simple_create_path (Cairo.Context cr);
+               [NoWrapper]
+               public virtual bool simple_is_item_at (double x, double y, Cairo.Context cr, bool 
is_pointer_event);
+               [NoWrapper]
+               public virtual void simple_paint (Cairo.Context cr, Goo.CanvasBounds bounds);
+               [NoWrapper]
+               public virtual void simple_update (Cairo.Context cr);
+               public void user_bounds_to_device (Cairo.Context cr, Goo.CanvasBounds bounds);
+               public void user_bounds_to_parent (Cairo.Context cr, Goo.CanvasBounds bounds);
+               [NoAccessorMethod]
+               public Goo.CairoAntialias antialias { get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoFillRule clip_fill_rule { get; set; }
+               [NoAccessorMethod]
+               public string clip_path { set; }
+               [NoAccessorMethod]
+               public string fill_color { set; }
+               [NoAccessorMethod]
+               [Version (since = "2.0.1")]
+               public Gdk.RGBA fill_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint fill_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? fill_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf fill_pixbuf { set; }
+               [NoAccessorMethod]
+               public Goo.CairoFillRule fill_rule { get; set; }
+               [NoAccessorMethod]
+               public string font { owned get; set; }
+               [NoAccessorMethod]
+               public Pango.FontDescription font_desc { owned get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoHintMetrics hint_metrics { get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoLineCap line_cap { get; set; }
+               [NoAccessorMethod]
+               public Goo.CanvasLineDash line_dash { owned get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoLineJoin line_join { get; set; }
+               [NoAccessorMethod]
+               public double line_join_miter_limit { get; set; }
+               [NoAccessorMethod]
+               public double line_width { get; set; }
+               [NoAccessorMethod]
+               public Goo.CairoOperator operator { get; set; }
+               [NoAccessorMethod]
+               public string stroke_color { set; }
+               [NoAccessorMethod]
+               [Version (since = "2.0.1")]
+               public Gdk.RGBA stroke_color_gdk_rgba { get; set; }
+               [NoAccessorMethod]
+               public uint stroke_color_rgba { get; set; }
+               [NoAccessorMethod]
+               public Cairo.Pattern? stroke_pattern { owned get; set; }
+               [NoAccessorMethod]
+               public Gdk.Pixbuf stroke_pixbuf { set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", ref_function = "goo_canvas_line_dash_ref", type_id = 
"goo_canvas_line_dash_get_type ()", unref_function = "goo_canvas_line_dash_unref")]
+       [Compact]
+       public class CanvasLineDash {
+               public double dash_offset;
+               [CCode (array_length_cname = "num_dashes")]
+               public double[] dashes;
+               public int num_dashes;
+               public int ref_count;
+               [CCode (has_construct_function = false)]
+               public CanvasLineDash (int num_dashes, ...);
+               [CCode (cname = "goo_canvas_line_dash_newv", has_construct_function = false)]
+               public CanvasLineDash.newv ([CCode (array_length_cname = "num_dashes", array_length_pos = 
0.5)] owned double[] dashes);
+               public Goo.CanvasLineDash @ref ();
+               [Version (since = "2.0.2")]
+               public void set_offset (double dash_offset);
+               public void unref ();
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_path_get_type ()")]
+       public class CanvasPath : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public Goo.CanvasPathData path_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasPath (Goo.CanvasItem? parent, string path_data, ...);
+               [NoAccessorMethod]
+               public string data { set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_path_model_get_type ()")]
+       public class CanvasPathModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public Goo.CanvasPathData path_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasPathModel (Goo.CanvasItemModel? parent, string path_data, ...);
+               [NoAccessorMethod]
+               public string data { set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", ref_function = "goo_canvas_points_ref", type_id = 
"goo_canvas_points_get_type ()", unref_function = "goo_canvas_points_unref")]
+       [Compact]
+       public class CanvasPoints {
+               [CCode (array_length_cname = "num_points")]
+               public double[] coords;
+               public int num_points;
+               public int ref_count;
+               [CCode (has_construct_function = false)]
+               public CanvasPoints (int num_points);
+               [Version (since = "2.0.1")]
+               public void get_point (int idx, out double x, out double y);
+               public Goo.CanvasPoints @ref ();
+               [Version (since = "2.0.1")]
+               public void set_point (int idx, double x, double y);
+               public void unref ();
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_polyline_get_type ()")]
+       public class CanvasPolyline : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public Goo.CanvasPolylineData polyline_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasPolyline (Goo.CanvasItem? parent, bool close_path, int num_points, ...);
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasPolyline.line (Goo.CanvasItem? parent, double x1, double y1, double x2, double 
y2, ...);
+               [NoAccessorMethod]
+               public double arrow_length { get; set; }
+               [NoAccessorMethod]
+               public double arrow_tip_length { get; set; }
+               [NoAccessorMethod]
+               public double arrow_width { get; set; }
+               [NoAccessorMethod]
+               public bool close_path { get; set; }
+               [NoAccessorMethod]
+               public bool end_arrow { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public Goo.CanvasPoints points { owned get; set; }
+               [NoAccessorMethod]
+               public bool start_arrow { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_polyline_model_get_type ()")]
+       public class CanvasPolylineModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public Goo.CanvasPolylineData polyline_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasPolylineModel (Goo.CanvasItemModel? parent, bool close_path, int num_points, 
...);
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasPolylineModel.line (Goo.CanvasItemModel? parent, double x1, double y1, double 
x2, double y2, ...);
+               [NoAccessorMethod]
+               public double arrow_length { get; set; }
+               [NoAccessorMethod]
+               public double arrow_tip_length { get; set; }
+               [NoAccessorMethod]
+               public double arrow_width { get; set; }
+               [NoAccessorMethod]
+               public bool close_path { get; set; }
+               [NoAccessorMethod]
+               public bool end_arrow { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public Goo.CanvasPoints points { owned get; set; }
+               [NoAccessorMethod]
+               public bool start_arrow { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_rect_get_type ()")]
+       public class CanvasRect : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public Goo.CanvasRectData rect_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasRect (Goo.CanvasItem? parent, double x, double y, double width, double height, 
...);
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double radius_x { get; set; }
+               [NoAccessorMethod]
+               public double radius_y { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_rect_model_get_type ()")]
+       public class CanvasRectModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public Goo.CanvasRectData rect_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasRectModel (Goo.CanvasItemModel? parent, double x, double y, double width, double 
height, ...);
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public double radius_x { get; set; }
+               [NoAccessorMethod]
+               public double radius_y { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_style_get_type ()")]
+       public class CanvasStyle : GLib.Object {
+               public weak Goo.CanvasStyle parent;
+               public weak GLib.Array<void*> properties;
+               [CCode (has_construct_function = false)]
+               public CanvasStyle ();
+               public Goo.CanvasStyle copy ();
+               public unowned Goo.CanvasStyle get_parent ();
+               public GLib.Value? get_property (GLib.Quark property_id);
+               public bool set_fill_options (Cairo.Context cr);
+               public void set_parent (Goo.CanvasStyle parent);
+               public void set_property (GLib.Quark property_id, GLib.Value value);
+               public bool set_stroke_options (Cairo.Context cr);
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_table_get_type ()")]
+       public class CanvasTable : Goo.CanvasGroup, Goo.CanvasItem {
+               public Goo.CanvasTableData table_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasTable (Goo.CanvasItem? parent, ...);
+               [NoAccessorMethod]
+               public double column_spacing { get; set; }
+               [NoAccessorMethod]
+               public bool homogeneous_columns { get; set; }
+               [NoAccessorMethod]
+               public bool homogeneous_rows { get; set; }
+               [NoAccessorMethod]
+               public double horz_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public double row_spacing { get; set; }
+               [NoAccessorMethod]
+               public double vert_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public double x_border_spacing { get; set; }
+               [NoAccessorMethod]
+               public double y_border_spacing { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       [Compact]
+       public class CanvasTableLayoutData {
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_table_model_get_type ()")]
+       public class CanvasTableModel : Goo.CanvasGroupModel, Goo.CanvasItemModel {
+               public Goo.CanvasTableData table_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasTableModel (Goo.CanvasItemModel? parent, ...);
+               [NoAccessorMethod]
+               public double column_spacing { get; set; }
+               [NoAccessorMethod]
+               public bool homogeneous_columns { get; set; }
+               [NoAccessorMethod]
+               public bool homogeneous_rows { get; set; }
+               [NoAccessorMethod]
+               public double horz_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public double row_spacing { get; set; }
+               [NoAccessorMethod]
+               public double vert_grid_line_width { get; set; }
+               [NoAccessorMethod]
+               public double x_border_spacing { get; set; }
+               [NoAccessorMethod]
+               public double y_border_spacing { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_text_get_type ()")]
+       public class CanvasText : Goo.CanvasItemSimple, Goo.CanvasItem {
+               public double layout_width;
+               public Goo.CanvasTextData text_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasText (Goo.CanvasItem? parent, string string, double x, double y, double width, 
Goo.CanvasAnchorType anchor, ...);
+               public void get_natural_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle 
logical_rect);
+               [NoAccessorMethod]
+               public Pango.Alignment alignment { get; set; }
+               [NoAccessorMethod]
+               public Goo.CanvasAnchorType anchor { get; set; }
+               [NoAccessorMethod]
+               public Pango.EllipsizeMode ellipsize { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public string text { owned get; set; }
+               [NoAccessorMethod]
+               public bool use_markup { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public Pango.WrapMode wrap { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_text_model_get_type ()")]
+       public class CanvasTextModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+               public Goo.CanvasTextData text_data;
+               [CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
+               public CanvasTextModel (Goo.CanvasItemModel? parent, string string, double x, double y, 
double width, Goo.CanvasAnchorType anchor, ...);
+               [NoAccessorMethod]
+               public Pango.Alignment alignment { get; set; }
+               [NoAccessorMethod]
+               public Goo.CanvasAnchorType anchor { get; set; }
+               [NoAccessorMethod]
+               public Pango.EllipsizeMode ellipsize { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public string text { owned get; set; }
+               [NoAccessorMethod]
+               public bool use_markup { get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public Pango.WrapMode wrap { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_widget_get_type ()")]
+       public class CanvasWidget : Goo.CanvasItemSimple, Goo.CanvasItem {
+               [CCode (has_construct_function = false, type = "GooCanvasItem*")]
+               public CanvasWidget (Goo.CanvasItem? parent, Gtk.Widget widget, double x, double y, double 
width, double height, ...);
+               [NoAccessorMethod]
+               public Goo.CanvasAnchorType anchor { get; set; }
+               [NoAccessorMethod]
+               public double height { get; set; }
+               [NoAccessorMethod]
+               public Gtk.Widget widget { owned get; set; }
+               [NoAccessorMethod]
+               public double width { get; set; }
+               [NoAccessorMethod]
+               public double x { get; set; }
+               [NoAccessorMethod]
+               public double y { get; set; }
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_widget_accessible_factory_get_type 
()")]
+       public class CanvasWidgetAccessibleFactory : Atk.ObjectFactory {
+               [CCode (has_construct_function = false)]
+               protected CanvasWidgetAccessibleFactory ();
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_get_type ()")]
+       public interface CanvasItem : GLib.Object {
+               public abstract void add_child (Goo.CanvasItem child, int position);
+               public abstract void allocate_area (Cairo.Context cr, Goo.CanvasBounds requested_area, 
Goo.CanvasBounds allocated_area, double x_offset, double y_offset);
+               public void animate (double x, double y, double scale, double degrees, bool absolute, int 
duration, int step_time, Goo.CanvasAnimateType type);
+               public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass iclass, 
string property_name);
+               public static void class_install_child_property (GLib.ObjectClass iclass, uint property_id, 
GLib.ParamSpec pspec);
+               [CCode (array_length_pos = 1.1, array_length_type = "guint")]
+               public static (unowned GLib.ParamSpec)[] class_list_child_properties (GLib.ObjectClass 
iclass);
+               public void ensure_updated ();
+               public int find_child (Goo.CanvasItem child);
+               public abstract void get_bounds (out Goo.CanvasBounds bounds);
+               public abstract unowned Goo.Canvas get_canvas ();
+               public abstract unowned Goo.CanvasItem get_child (int child_num);
+               public void get_child_properties (Goo.CanvasItem child, ...);
+               public void get_child_properties_valist (Goo.CanvasItem child, va_list var_args);
+               [NoWrapper]
+               public abstract void get_child_property (Goo.CanvasItem child, uint property_id, GLib.Value 
value, GLib.ParamSpec pspec);
+               public abstract bool get_is_static ();
+               public abstract unowned GLib.List<Goo.CanvasItem> get_items_at (double x, double y, 
Cairo.Context cr, bool is_pointer_event, bool parent_is_visible, GLib.List<Goo.CanvasItem> found_items);
+               public abstract unowned Goo.CanvasItemModel get_model ();
+               public abstract int get_n_children ();
+               public abstract unowned Goo.CanvasItem get_parent ();
+               public abstract bool get_requested_area (Cairo.Context cr, Goo.CanvasBounds requested_area);
+               [Version (since = "2.0.1")]
+               public abstract bool get_requested_area_for_width (Cairo.Context cr, double width, 
Goo.CanvasBounds requested_area);
+               public abstract double get_requested_height (Cairo.Context cr, double width);
+               public bool get_simple_transform (out double x, out double y, out double scale, out double 
rotation);
+               public abstract unowned Goo.CanvasStyle get_style ();
+               public abstract bool get_transform (out Cairo.Matrix transform);
+               public abstract bool get_transform_for_child (Goo.CanvasItem child, out Cairo.Matrix 
transform);
+               public bool is_container ();
+               public abstract bool is_visible ();
+               public void lower (Goo.CanvasItem? below);
+               public abstract void move_child (int old_position, int new_position);
+               public abstract void paint (Cairo.Context cr, Goo.CanvasBounds bounds, double scale);
+               public void raise (Goo.CanvasItem? above);
+               public void remove ();
+               public abstract void remove_child (int child_num);
+               public abstract void request_update ();
+               public void rotate (double degrees, double cx, double cy);
+               public void scale (double sx, double sy);
+               public abstract void set_canvas (Goo.Canvas canvas);
+               public void set_child_properties (Goo.CanvasItem child, ...);
+               public void set_child_properties_valist (Goo.CanvasItem child, va_list var_args);
+               [NoWrapper]
+               public abstract void set_child_property (Goo.CanvasItem child, uint property_id, GLib.Value 
value, GLib.ParamSpec pspec);
+               public abstract void set_is_static (bool is_static);
+               public abstract void set_model (Goo.CanvasItemModel model);
+               public abstract void set_parent (Goo.CanvasItem parent);
+               public void set_simple_transform (double x, double y, double scale, double rotation);
+               public abstract void set_style (Goo.CanvasStyle style);
+               public abstract void set_transform (Cairo.Matrix? transform);
+               public void skew_x (double degrees, double cx, double cy);
+               public void skew_y (double degrees, double cx, double cy);
+               public void stop_animation ();
+               public void translate (double tx, double ty);
+               public abstract void update (bool entire_tree, Cairo.Context cr, Goo.CanvasBounds bounds);
+               [NoAccessorMethod]
+               public abstract bool can_focus { get; set; }
+               [NoAccessorMethod]
+               public abstract string description { owned get; set; }
+               public abstract Goo.CanvasItem parent { get; set; }
+               [NoAccessorMethod]
+               public abstract Goo.CanvasPointerEvents pointer_events { get; set; }
+               [NoAccessorMethod]
+               public abstract string title { owned get; set; }
+               [NoAccessorMethod]
+               public abstract string tooltip { owned get; set; }
+               [NoAccessorMethod]
+               public abstract Cairo.Matrix? transform { owned get; set; }
+               [NoAccessorMethod]
+               public abstract Goo.CanvasItemVisibility visibility { get; set; }
+               [NoAccessorMethod]
+               public abstract double visibility_threshold { get; set; }
+               public virtual signal void animation_finished (bool stopped);
+               public virtual signal bool button_press_event (Goo.CanvasItem target, Gdk.EventButton event);
+               public virtual signal bool button_release_event (Goo.CanvasItem target, Gdk.EventButton 
event);
+               public virtual signal void child_notify (GLib.ParamSpec pspec);
+               public virtual signal bool enter_notify_event (Goo.CanvasItem target, Gdk.EventCrossing 
event);
+               public virtual signal bool focus_in_event (Goo.CanvasItem target, Gdk.EventFocus event);
+               public virtual signal bool focus_out_event (Goo.CanvasItem target, Gdk.EventFocus event);
+               public virtual signal bool grab_broken_event (Goo.CanvasItem target, Gdk.EventGrabBroken 
event);
+               public virtual signal bool key_press_event (Goo.CanvasItem target, Gdk.EventKey event);
+               public virtual signal bool key_release_event (Goo.CanvasItem target, Gdk.EventKey event);
+               public virtual signal bool leave_notify_event (Goo.CanvasItem target, Gdk.EventCrossing 
event);
+               public virtual signal bool motion_notify_event (Goo.CanvasItem target, Gdk.EventMotion event);
+               public virtual signal bool query_tooltip (double x, double y, bool keyboard_tooltip, 
Gtk.Tooltip tooltip);
+               public virtual signal bool scroll_event (Goo.CanvasItem target, Gdk.EventScroll event);
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_model_get_type ()")]
+       public interface CanvasItemModel : GLib.Object {
+               public abstract void add_child (Goo.CanvasItemModel child, int position);
+               public void animate (double x, double y, double scale, double degrees, bool absolute, int 
duration, int step_time, Goo.CanvasAnimateType type);
+               public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass mclass, 
string property_name);
+               public static void class_install_child_property (GLib.ObjectClass mclass, uint property_id, 
GLib.ParamSpec pspec);
+               [CCode (array_length_pos = 1.1, array_length_type = "guint")]
+               public static (unowned GLib.ParamSpec)[] class_list_child_properties (GLib.ObjectClass 
mclass);
+               [NoWrapper]
+               public abstract unowned Goo.CanvasItem create_item (Goo.Canvas canvas);
+               public int find_child (Goo.CanvasItemModel child);
+               public abstract unowned Goo.CanvasItemModel get_child (int child_num);
+               public void get_child_properties (Goo.CanvasItemModel child, ...);
+               public void get_child_properties_valist (Goo.CanvasItemModel child, va_list var_args);
+               [NoWrapper]
+               public abstract void get_child_property (Goo.CanvasItemModel child, uint property_id, 
GLib.Value value, GLib.ParamSpec pspec);
+               public abstract int get_n_children ();
+               public abstract unowned Goo.CanvasItemModel get_parent ();
+               public bool get_simple_transform (out double x, out double y, out double scale, out double 
rotation);
+               public abstract unowned Goo.CanvasStyle get_style ();
+               public abstract bool get_transform (out Cairo.Matrix transform);
+               public bool is_container ();
+               public void lower (Goo.CanvasItemModel? below);
+               public abstract void move_child (int old_position, int new_position);
+               public void raise (Goo.CanvasItemModel? above);
+               public void remove ();
+               public abstract void remove_child (int child_num);
+               public void rotate (double degrees, double cx, double cy);
+               public void scale (double sx, double sy);
+               public void set_child_properties (Goo.CanvasItemModel child, ...);
+               public void set_child_properties_valist (Goo.CanvasItemModel child, va_list var_args);
+               [NoWrapper]
+               public abstract void set_child_property (Goo.CanvasItemModel child, uint property_id, 
GLib.Value value, GLib.ParamSpec pspec);
+               public abstract void set_parent (Goo.CanvasItemModel parent);
+               public void set_simple_transform (double x, double y, double scale, double rotation);
+               public abstract void set_style (Goo.CanvasStyle style);
+               public abstract void set_transform (Cairo.Matrix? transform);
+               public void skew_x (double degrees, double cx, double cy);
+               public void skew_y (double degrees, double cx, double cy);
+               public void stop_animation ();
+               public void translate (double tx, double ty);
+               [NoAccessorMethod]
+               public abstract bool can_focus { get; set; }
+               [NoAccessorMethod]
+               public abstract string description { owned get; set; }
+               public abstract Goo.CanvasItemModel parent { get; set; }
+               [NoAccessorMethod]
+               public abstract Goo.CanvasPointerEvents pointer_events { get; set; }
+               [NoAccessorMethod]
+               public abstract string title { owned get; set; }
+               [NoAccessorMethod]
+               public abstract string tooltip { owned get; set; }
+               [NoAccessorMethod]
+               public abstract Cairo.Matrix? transform { owned get; set; }
+               [NoAccessorMethod]
+               public abstract Goo.CanvasItemVisibility visibility { get; set; }
+               [NoAccessorMethod]
+               public abstract double visibility_threshold { get; set; }
+               public virtual signal void animation_finished (bool stopped);
+               public virtual signal void changed (bool recompute_bounds);
+               public virtual signal void child_added (int child_num);
+               public virtual signal void child_moved (int old_child_num, int new_child_num);
+               public virtual signal void child_notify (GLib.ParamSpec pspec);
+               public virtual signal void child_removed (int child_num);
+       }
+       [CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_bounds_get_type ()")]
+       public struct CanvasBounds {
+               public double x1;
+               public double y1;
+               public double x2;
+               public double y2;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasEllipseData {
+               public double center_x;
+               public double center_y;
+               public double radius_x;
+               public double radius_y;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasGridData {
+               public double x;
+               public double y;
+               public double width;
+               public double height;
+               public double x_step;
+               public double y_step;
+               public double x_offset;
+               public double y_offset;
+               public double horz_grid_line_width;
+               public double vert_grid_line_width;
+               public Cairo.Pattern? horz_grid_line_pattern;
+               public Cairo.Pattern? vert_grid_line_pattern;
+               public double border_width;
+               public Cairo.Pattern? border_pattern;
+               public uint show_horz_grid_lines;
+               public uint show_vert_grid_lines;
+               public uint vert_grid_lines_on_top;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasImageData {
+               public Cairo.Pattern? pattern;
+               public double x;
+               public double y;
+               public double width;
+               public double height;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasItemSimpleData {
+               public weak Goo.CanvasStyle style;
+               public Cairo.Matrix? transform;
+               public GLib.Array<Goo.CanvasPathCommand?> clip_path_commands;
+               public weak string tooltip;
+               public double visibility_threshold;
+               public uint visibility;
+               public uint pointer_events;
+               public uint can_focus;
+               public uint own_style;
+               public uint clip_fill_rule;
+               public uint is_static;
+               public uint cache_setting;
+               public uint has_tooltip;
+       }
+       [CCode (cheader_filename = "goocanvas.h")]
+       public struct CanvasPathCommand {
+               [CCode (cname = "simple.type")]
+               public uint simple_type;
+               [CCode (cname = "simple.relative")]
+               public uint simple_relative;
+               [CCode (cname = "simple.x")]
+               public double simple_x;
+               [CCode (cname = "simple.y")]
+               public double simple_y;
+               [CCode (cname = "curve.type")]
+               public uint curve_type;
+               [CCode (cname = "curve.relative")]
+               public uint curve_relative;
+               [CCode (cname = "curve.x")]
+               public double curve_x;
+               [CCode (cname = "curve.y")]
+               public double curve_y;
+               [CCode (cname = "curve.x1")]
+               public double curve_x1;
+               [CCode (cname = "curve.y1")]
+               public double curve_y1;
+               [CCode (cname = "curve.x2")]
+               public double curve_x2;
+               [CCode (cname = "curve.y2")]
+               public double curve_y2;
+               [CCode (cname = "arc.type")]
+               public uint arc_type;
+               [CCode (cname = "arc.relative")]
+               public uint arc_relative;
+               [CCode (cname = "arc.large_arc_flag")]
+               public uint arc_large_arc_flag;
+               [CCode (cname = "arc.sweep_flag")]
+               public uint arc_sweep_flag;
+               [CCode (cname = "arc.rx")]
+               public double arc_rx;
+               [CCode (cname = "arc.ry")]
+               public double arc_ry;
+               [CCode (cname = "arc.x_axis_rotation")]
+               public double arc_x_axis_rotation;
+               [CCode (cname = "arc.x")]
+               public double arc_x;
+               [CCode (cname = "arc.y")]
+               public double arc_y;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasPathData {
+               public GLib.Array<Goo.CanvasPathCommand?> path_commands;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasPolylineArrowData {
+               public double arrow_width;
+               public double arrow_length;
+               public double arrow_tip_length;
+               [CCode (array_length = false)]
+               public weak double line_start[2];
+               [CCode (array_length = false)]
+               public weak double line_end[2];
+               [CCode (array_length = false)]
+               public weak double start_arrow_coords[10];
+               [CCode (array_length = false)]
+               public weak double end_arrow_coords[10];
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasPolylineData {
+               public double coords;
+               public Goo.CanvasPolylineArrowData arrow_data;
+               public uint num_points;
+               public uint close_path;
+               public uint start_arrow;
+               public uint end_arrow;
+               public uint reconfigure_arrows;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasRectData {
+               public double x;
+               public double y;
+               public double width;
+               public double height;
+               public double radius_x;
+               public double radius_y;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasStyleProperty {
+               public GLib.Quark id;
+               public GLib.Value value;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasTableData {
+               public double width;
+               public double height;
+               [CCode (array_length = false)]
+               public weak Goo.CanvasTableDimension dimensions[2];
+               public double border_width;
+               public weak GLib.Array<void*> children;
+               public weak Goo.CanvasTableLayoutData layout_data;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasTableDimension {
+               public int size;
+               public double default_spacing;
+               public double spacings;
+               public uint homogeneous;
+       }
+       [CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
+       public struct CanvasTextData {
+               public weak string text;
+               public double x;
+               public double y;
+               public double width;
+               public uint use_markup;
+               public uint anchor;
+               public uint alignment;
+               public uint ellipsize;
+               public uint wrap;
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_ANTIALIAS_", type_id = 
"goo_cairo_antialias_get_type ()")]
+       public enum CairoAntialias {
+               DEFAULT,
+               NONE,
+               GRAY,
+               SUBPIXEL
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_FILL_RULE_", type_id = 
"goo_cairo_fill_rule_get_type ()")]
+       public enum CairoFillRule {
+               WINDING,
+               EVEN_ODD
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_HINT_METRICS_", type_id = 
"goo_cairo_hint_metrics_get_type ()")]
+       public enum CairoHintMetrics {
+               DEFAULT,
+               OFF,
+               ON
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_LINE_CAP_", type_id = 
"goo_cairo_line_cap_get_type ()")]
+       public enum CairoLineCap {
+               BUTT,
+               ROUND,
+               SQUARE
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_LINE_JOIN_", type_id = 
"goo_cairo_line_join_get_type ()")]
+       public enum CairoLineJoin {
+               MITER,
+               ROUND,
+               BEVEL
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_OPERATOR_", type_id = 
"goo_cairo_operator_get_type ()")]
+       public enum CairoOperator {
+               CLEAR,
+               SOURCE,
+               OVER,
+               IN,
+               OUT,
+               ATOP,
+               DEST,
+               DEST_OVER,
+               DEST_IN,
+               DEST_OUT,
+               DEST_ATOP,
+               XOR,
+               ADD,
+               SATURATE
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_ANCHOR_", type_id = 
"goo_canvas_anchor_type_get_type ()")]
+       public enum CanvasAnchorType {
+               CENTER,
+               NORTH,
+               NORTH_WEST,
+               NORTH_EAST,
+               SOUTH,
+               SOUTH_WEST,
+               SOUTH_EAST,
+               WEST,
+               EAST,
+               N,
+               NW,
+               NE,
+               S,
+               SW,
+               SE,
+               W,
+               E
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_ANIMATE_", type_id = 
"goo_canvas_animate_type_get_type ()")]
+       public enum CanvasAnimateType {
+               FREEZE,
+               RESET,
+               RESTART,
+               BOUNCE
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_ITEM_", type_id = 
"goo_canvas_item_visibility_get_type ()")]
+       public enum CanvasItemVisibility {
+               HIDDEN,
+               INVISIBLE,
+               VISIBLE,
+               VISIBLE_ABOVE_THRESHOLD
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_PATH_", type_id = 
"goo_canvas_path_command_type_get_type ()")]
+       public enum CanvasPathCommandType {
+               MOVE_TO,
+               CLOSE_PATH,
+               LINE_TO,
+               HORIZONTAL_LINE_TO,
+               VERTICAL_LINE_TO,
+               CURVE_TO,
+               SMOOTH_CURVE_TO,
+               QUADRATIC_CURVE_TO,
+               SMOOTH_QUADRATIC_CURVE_TO,
+               ELLIPTICAL_ARC
+       }
+       [CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_EVENTS_", type_id = 
"goo_canvas_pointer_events_get_type ()")]
+       [Flags]
+       public enum CanvasPointerEvents {
+               VISIBLE_MASK,
+               PAINTED_MASK,
+               FILL_MASK,
+               STROKE_MASK,
+               NONE,
+               VISIBLE_PAINTED,
+               VISIBLE_FILL,
+               VISIBLE_STROKE,
+               VISIBLE,
+               PAINTED,
+               FILL,
+               STROKE,
+               ALL
+       }
+       [CCode (cheader_filename = "goocanvas.h", cname = "GOO_CANVAS_POLYLINE_NUM_ARROW_POINTS")]
+       public const int NUM_ARROW_POINTS;
+}
diff --git a/vapi/metadata/GooCanvas-2.0.metadata b/vapi/metadata/GooCanvas-2.0.metadata
new file mode 100644
index 000000000..423957285
--- /dev/null
+++ b/vapi/metadata/GooCanvas-2.0.metadata
@@ -0,0 +1,41 @@
+* cheader_filename="goocanvas.h"
+* skip=false
+*.* skip=false
+
+CanvasBounds struct
+*.get_*bounds return_void
+
+CairoMatrix skip
+cairo_matrix_* skip
+*.transform type="Cairo.Matrix?"
+
+CairoPattern skip
+*.*_pattern type="Cairo.Pattern?"
+*.pattern type="Cairo.Pattern?"
+
+CANVAS_POLYLINE_NUM_ARROW_POINTS name="NUM_ARROW_POINTS"
+
+// Returns unowned instance if parent is not null
+*.new*.parent nullable
+*.new* symbol_type="constructor"
+
+canvas_item*_class_* skip
+
+//Upstream
+Canvas
+       .*#field skip
+       .convert_bounds_to_item_space.bounds ref unowned=false
+       .marshal* skip
+CanvasItemSimple
+       .get_path_bounds.bounds out unowned=false
+CanvasItemModel
+       .get_simple_transform.* out
+       .get_transform.transform out
+CanvasLineDash
+       .dashes array array_length_field="num_dashes" unowned=false
+CanvasPoints
+       .coords array array_length_field="num_points" unowned=false
+CanvasItemSimpleData
+       .clip_path_commands type="GLib.Array<Goo.CanvasPathCommand?>"
+CanvasPathData
+       .path_commands type="GLib.Array<Goo.CanvasPathCommand?>"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]