[vala] goocanvas: update to version 0.15



commit a1bc99ae7835def0eb19e0ba63c288fdc31fb45b
Author: Eric Alber <eric alber gmail com>
Date:   Sun Jan 24 23:45:55 2010 -0800

    goocanvas: update to version 0.15
    
    Fixes bug 607236.

 vapi/goocanvas.vapi                           |  588 +++++++++++++++----------
 vapi/packages/goocanvas/goocanvas-custom.vala |  129 +++++-
 vapi/packages/goocanvas/goocanvas.gi          |  447 ++++++++++++++++---
 vapi/packages/goocanvas/goocanvas.metadata    |  235 +++++++++--
 4 files changed, 1063 insertions(+), 336 deletions(-)
---
diff --git a/vapi/goocanvas.vapi b/vapi/goocanvas.vapi
index b497300..bb2d490 100644
--- a/vapi/goocanvas.vapi
+++ b/vapi/goocanvas.vapi
@@ -5,64 +5,50 @@ namespace Goo {
 	[Compact]
 	[CCode (copy_function = "goo_cairo_matrix_copy", type_id = "GOO_TYPE_CAIRO_MATRIX", cheader_filename = "goocanvas.h")]
 	public class CairoMatrix {
+		public double x0;
+		public double xx;
+		public double xy;
+		public double y0;
+		public double yx;
+		public double yy;
 		public static Cairo.Matrix copy (Cairo.Matrix matrix);
 	}
+	[Compact]
+	[CCode (type_id = "GOO_TYPE_CAIRO_PATTERN", cheader_filename = "goocanvas.h")]
+	public class CairoPattern {
+	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class Canvas : Gtk.Container, Atk.Implementor, Gtk.Buildable {
-		public Goo.CanvasBounds bounds;
-		public weak Gdk.Window canvas_window;
-		public int canvas_x_offset;
-		public int canvas_y_offset;
-		public Gdk.EventCrossing crossing_event;
-		public double device_to_pixels_x;
-		public double device_to_pixels_y;
-		public weak Goo.CanvasItem focused_item;
-		public int freeze_count;
-		public weak Gtk.Adjustment hadjustment;
-		public uint idle_id;
-		public weak Goo.CanvasItem keyboard_grab_item;
-		public weak GLib.HashTable model_to_item;
-		public uint need_entire_subtree_update;
-		public uint need_update;
-		public uint pointer_grab_button;
-		public weak Goo.CanvasItem pointer_grab_initial_item;
-		public weak Goo.CanvasItem pointer_grab_item;
-		public weak Goo.CanvasItem pointer_item;
-		public weak Goo.CanvasItem root_item;
-		public weak Goo.CanvasItemModel root_item_model;
-		public weak Gdk.Window tmp_window;
-		public weak Gtk.Adjustment vadjustment;
-		public weak GLib.List widget_items;
-		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		[CCode (has_construct_function = false)]
 		public Canvas ();
-		public void convert_from_item_space (Goo.CanvasItem item, double x, double y);
-		public void convert_from_pixels (double x, double y);
-		public void convert_to_item_space (Goo.CanvasItem item, double x, double y);
-		public void convert_to_pixels (double x, double y);
+		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);
 		public unowned Cairo.Context create_cairo_context ();
 		public virtual unowned Goo.CanvasItem create_item (Goo.CanvasItemModel model);
-		public static void create_path (GLib.Array commands, Cairo.Context cr);
-		public void get_bounds (double left, double top, double right, double bottom);
+		public static void create_path (GLib.Array<Goo.CanvasPathCommand> commands, Cairo.Context cr);
+		public void get_bounds (ref unowned double? left, ref unowned double? top, ref unowned double? right, ref unowned 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 unowned GLib.List get_items_at (double x, double y, bool is_pointer_event);
-		public unowned GLib.List 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 unowned Goo.CanvasItem? get_item (Goo.CanvasItemModel model);
+		public unowned Goo.CanvasItem? get_item_at (double x, double y, bool is_pointer_event);
+		public unowned GLib.List<Goo.CanvasItem> get_items_at (double x, double y, bool is_pointer_event);
+		public unowned GLib.List<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 void marshal_BOOLEAN__BOXED (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
-		public static void marshal_BOOLEAN__OBJECT_BOXED (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
-		public static void marshal_VOID__INT_INT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
-		public static void marshal_VOID__OBJECT_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
-		public static unowned GLib.Array parse_path_data (string path_data);
-		public Gdk.GrabStatus pointer_grab (Goo.CanvasItem item, Gdk.EventMask event_mask, Gdk.Cursor cursor, 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 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);
@@ -70,6 +56,8 @@ namespace Goo {
 		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 ();
@@ -86,8 +74,12 @@ namespace Goo {
 		[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; }
@@ -111,7 +103,6 @@ namespace Goo {
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasEllipse : Goo.CanvasItemSimple, Goo.CanvasItem {
-		public Goo.CanvasEllipseData ellipse_data;
 		[CCode (cname = "goo_canvas_ellipse_new")]
 		public static unowned Goo.CanvasEllipse create (Goo.CanvasItem? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
 		[NoAccessorMethod]
@@ -119,13 +110,20 @@ namespace Goo {
 		[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")]
 	public class CanvasEllipseModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
-		public Goo.CanvasEllipseData ellipse_data;
 		[CCode (cname = "goo_canvas_ellipse_model_new")]
 		public static unowned Goo.CanvasEllipseModel create (Goo.CanvasItemModel? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
 		[NoAccessorMethod]
@@ -133,34 +131,171 @@ namespace Goo {
 		[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")]
+	public class CanvasGrid : Goo.CanvasItemSimple, Goo.CanvasItem {
+		[CCode (cname = "goo_canvas_grid_new")]
+		public static unowned Goo.CanvasGrid create (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]
+		public uint border_color_rgba { get; set; }
+		[NoAccessorMethod]
+		public Goo.CairoPattern 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 uint horz_grid_line_color_rgba { get; set; }
+		[NoAccessorMethod]
+		public Goo.CairoPattern 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 uint vert_grid_line_color_rgba { get; set; }
+		[NoAccessorMethod]
+		public Goo.CairoPattern 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")]
+	public class CanvasGridModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
+		[CCode (cname = "goo_canvas_grid_model_new")]
+		public static unowned Goo.CanvasGridModel create (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 uint border_color_rgba { get; set; }
+		[NoAccessorMethod]
+		public Goo.CairoPattern 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 uint horz_grid_line_color_rgba { get; set; }
+		[NoAccessorMethod]
+		public Goo.CairoPattern 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 uint vert_grid_line_color_rgba { get; set; }
+		[NoAccessorMethod]
+		public Goo.CairoPattern 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")]
 	public class CanvasGroup : Goo.CanvasItemSimple, Goo.CanvasItem {
-		public weak GLib.PtrArray items;
 		[CCode (cname = "goo_canvas_group_new")]
 		public static unowned Goo.CanvasGroup create (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")]
 	public class CanvasGroupModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
-		public weak GLib.PtrArray children;
 		[CCode (cname = "goo_canvas_group_model_new")]
 		public static unowned Goo.CanvasGroupModel create (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")]
 	public class CanvasImage : Goo.CanvasItemSimple, Goo.CanvasItem {
-		public Goo.CanvasImageData image_data;
 		[CCode (cname = "goo_image_group_new")]
 		public static unowned Goo.CanvasImage create (Goo.CanvasItem? parent, Gdk.Pixbuf pixbuf, double x, double y, ...);
 		[NoAccessorMethod]
 		public double height { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoPattern pattern { get; set; }
+		public Goo.CairoPattern 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; }
@@ -169,16 +304,17 @@ namespace Goo {
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasImageModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
-		public Goo.CanvasImageData image_data;
 		[CCode (cname = "goo_canvas_image_model_new")]
 		public static unowned Goo.CanvasImageModel create (Goo.CanvasItemModel? parent, Gdk.Pixbuf pixbuf, double x, double y, ...);
 		[NoAccessorMethod]
 		public double height { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoPattern pattern { get; set; }
+		public Goo.CairoPattern 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; }
@@ -187,10 +323,8 @@ namespace Goo {
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	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;
 		[NoAccessorMethod]
 		public Goo.CairoAntialias antialias { get; set; }
 		[NoAccessorMethod]
@@ -200,9 +334,9 @@ namespace Goo {
 		[NoAccessorMethod]
 		public string fill_color { set; }
 		[NoAccessorMethod]
-		public uint fill_color_rgba { set; }
+		public uint fill_color_rgba { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoPattern fill_pattern { get; set; }
+		public Goo.CairoPattern fill_pattern { owned get; set; }
 		[NoAccessorMethod]
 		public Gdk.Pixbuf fill_pixbuf { set; }
 		[NoAccessorMethod]
@@ -216,7 +350,7 @@ namespace Goo {
 		[NoAccessorMethod]
 		public Goo.CairoLineCap line_cap { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoLineDash line_dash { get; set; }
+		public Goo.CanvasLineDash line_dash { owned get; set; }
 		[NoAccessorMethod]
 		public Goo.CairoLineJoin line_join { get; set; }
 		[NoAccessorMethod]
@@ -228,9 +362,9 @@ namespace Goo {
 		[NoAccessorMethod]
 		public string stroke_color { set; }
 		[NoAccessorMethod]
-		public uint stroke_color_rgba { set; }
+		public uint stroke_color_rgba { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoPattern stroke_pattern { get; set; }
+		public Goo.CairoPattern stroke_pattern { owned get; set; }
 		[NoAccessorMethod]
 		public Gdk.Pixbuf stroke_pixbuf { set; }
 	}
@@ -247,7 +381,7 @@ namespace Goo {
 		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, Goo.CanvasBounds bounds);
+		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);
@@ -268,9 +402,9 @@ namespace Goo {
 		[NoAccessorMethod]
 		public string fill_color { set; }
 		[NoAccessorMethod]
-		public uint fill_color_rgba { set; }
+		public uint fill_color_rgba { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoPattern fill_pattern { get; set; }
+		public Goo.CairoPattern fill_pattern { owned get; set; }
 		[NoAccessorMethod]
 		public Gdk.Pixbuf fill_pixbuf { set; }
 		[NoAccessorMethod]
@@ -284,7 +418,7 @@ namespace Goo {
 		[NoAccessorMethod]
 		public Goo.CairoLineCap line_cap { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoLineDash line_dash { get; set; }
+		public Goo.CanvasLineDash line_dash { owned get; set; }
 		[NoAccessorMethod]
 		public Goo.CairoLineJoin line_join { get; set; }
 		[NoAccessorMethod]
@@ -296,44 +430,58 @@ namespace Goo {
 		[NoAccessorMethod]
 		public string stroke_color { set; }
 		[NoAccessorMethod]
-		public uint stroke_color_rgba { set; }
+		public uint stroke_color_rgba { get; set; }
 		[NoAccessorMethod]
-		public Goo.CairoPattern stroke_pattern { get; set; }
+		public Goo.CairoPattern stroke_pattern { owned get; set; }
 		[NoAccessorMethod]
 		public Gdk.Pixbuf stroke_pixbuf { set; }
 	}
 	[Compact]
-	[CCode (ref_function = "goo_canvas_line_dash_ref", unref_function = "goo_canvas_line_dash_unref", cheader_filename = "goocanvas.h")]
+	[CCode (ref_function = "goo_canvas_line_dash_ref", unref_function = "goo_canvas_line_dash_unref", type_id = "GOO_TYPE_CANVAS_LINE_DASH", cheader_filename = "goocanvas.h")]
 	public class CanvasLineDash {
 		public double dash_offset;
-		public double 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 (int num_dashes, double dashes);
+		[CCode (has_construct_function = false)]
+		public CanvasLineDash.newv (int num_dashes, double* dashes);
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPath : Goo.CanvasItemSimple, Goo.CanvasItem {
-		public Goo.CanvasPathData path_data;
 		[CCode (cname = "goo_canvas_path_new")]
 		public static unowned Goo.CanvasPath create (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")]
 	public class CanvasPathModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
-		public Goo.CanvasPathData path_data;
 		[CCode (cname = "goo_canvas_path_model_new")]
 		public static unowned Goo.CanvasPathModel create (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; }
 	}
 	[Compact]
 	[CCode (ref_function = "goo_canvas_points_ref", unref_function = "goo_canvas_points_unref", type_id = "GOO_TYPE_CANVAS_POINTS", cheader_filename = "goocanvas.h")]
 	public class CanvasPoints {
-		public double coords;
+		public double* coords;
 		public int num_points;
 		public int ref_count;
 		[CCode (has_construct_function = false)]
@@ -341,13 +489,10 @@ namespace Goo {
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPolyline : Goo.CanvasItemSimple, Goo.CanvasItem {
-		public Goo.CanvasPolylineData polyline_data;
 		[CCode (cname = "goo_canvas_polyline_new")]
 		public static unowned Goo.CanvasPolyline create (Goo.CanvasItem? parent, bool close_path, int num_points, ...);
 		[CCode (cname = "goo_canvas_polyline_new_line")]
 		public static unowned Goo.CanvasPolyline create_line (Goo.CanvasItem? parent, double x1, double y1, double x2, double y2, ...);
-		[CCode (type = "GooCanvasItem*", has_construct_function = false)]
-		public CanvasPolyline.line (Goo.CanvasItem parent, double x1, double y1, double x2, double y2);
 		[NoAccessorMethod]
 		public double arrow_length { get; set; }
 		[NoAccessorMethod]
@@ -359,19 +504,39 @@ namespace Goo {
 		[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; }
+	}
+	[Compact]
+	[CCode (cheader_filename = "goocanvas.h")]
+	public class CanvasPolylineArrowData {
+		public double arrow_length;
+		public double arrow_tip_length;
+		public double arrow_width;
+		[CCode (array_length = false)]
+		public weak double[] end_arrow_coords;
+		[CCode (array_length = false)]
+		public weak double[] line_end;
+		[CCode (array_length = false)]
+		public weak double[] line_start;
+		[CCode (array_length = false)]
+		public weak double[] start_arrow_coords;
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPolylineModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
-		public Goo.CanvasPolylineData polyline_data;
 		[CCode (cname = "goo_canvas_polyline_model_new")]
 		public static unowned Goo.CanvasPolylineModel create (Goo.CanvasItemModel? parent, bool close_path, int num_points, ...);
 		[CCode (cname = "goo_canvas_polyline_model_new_line")]
 		public static unowned Goo.CanvasPolylineModel create_line (Goo.CanvasItemModel? parent, double x1, double y1, double x2, double y2, ...);
-		[CCode (type = "GooCanvasItemModel*", has_construct_function = false)]
-		public CanvasPolylineModel.line (Goo.CanvasItemModel parent, double x1, double y1, double x2, double y2);
 		[NoAccessorMethod]
 		public double arrow_length { get; set; }
 		[NoAccessorMethod]
@@ -383,13 +548,20 @@ namespace Goo {
 		[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")]
 	public class CanvasRect : Goo.CanvasItemSimple, Goo.CanvasItem {
-		public Goo.CanvasRectData rect_data;
 		[CCode (cname = "goo_canvas_rect_new")]
 		public static unowned Goo.CanvasRect create (Goo.CanvasItem? parent, double x, double y, double width, double height, ...);
 		[NoAccessorMethod]
@@ -407,7 +579,6 @@ namespace Goo {
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasRectModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
-		public Goo.CanvasRectData rect_data;
 		[CCode (cname = "goo_canvas_rect_model_new")]
 		public static unowned Goo.CanvasRectModel create (Goo.CanvasItemModel? parent, double x, double y, double width, double height, ...);
 		[NoAccessorMethod]
@@ -425,60 +596,65 @@ namespace Goo {
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasStyle : GLib.Object {
-		public weak Goo.CanvasStyle parent;
-		public weak GLib.Array properties;
+		public weak Goo.CanvasStyle? parent;
+		public weak GLib.Array<Goo.CanvasStyleProperty> 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 unowned Goo.CanvasStyle? get_parent ();
+		public unowned 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_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")]
 	public class CanvasTable : Goo.CanvasGroup, Goo.CanvasItem {
-		public Goo.CanvasTableData table_data;
 		[CCode (cname = "goo_canvas_table_new")]
 		public static unowned Goo.CanvasTable create (Goo.CanvasItem? parent, ...);
 		[NoAccessorMethod]
 		public double column_spacing { get; set; }
 		[NoAccessorMethod]
-		public double height { 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 width { get; set; }
+		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")]
 	public class CanvasTableModel : Goo.CanvasGroupModel, Goo.CanvasItemModel {
-		public Goo.CanvasTableData table_data;
 		[CCode (cname = "goo_canvas_table_model_new")]
 		public static unowned Goo.CanvasTableModel create (Goo.CanvasItemModel? parent, ...);
 		[NoAccessorMethod]
 		public double column_spacing { get; set; }
 		[NoAccessorMethod]
-		public double height { 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 width { get; set; }
+		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")]
 	public class CanvasText : Goo.CanvasItemSimple, Goo.CanvasItem {
-		public double layout_width;
-		public Goo.CanvasTextData text_data;
 		[CCode (cname = "goo_canvas_text_new")]
 		public static unowned Goo.CanvasText create (Goo.CanvasItem? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
+		public void get_natural_extents (out unowned Pango.Rectangle? ink_rect, out unowned Pango.Rectangle? logical_rect);
 		[NoAccessorMethod]
 		public Pango.Alignment alignment { get; set; }
 		[NoAccessorMethod]
@@ -486,6 +662,8 @@ namespace Goo {
 		[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; }
@@ -500,7 +678,6 @@ namespace Goo {
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasTextModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
-		public Goo.CanvasTextData text_data;
 		[CCode (cname = "goo_canvas_text_model_new")]
 		public static unowned Goo.CanvasTextModel create (Goo.CanvasItemModel? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
 		[NoAccessorMethod]
@@ -510,6 +687,8 @@ namespace Goo {
 		[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; }
@@ -544,35 +723,32 @@ namespace Goo {
 		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 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);
-		public static unowned GLib.ParamSpec class_list_child_properties (GLib.ObjectClass iclass, uint n_properties);
+		public static GLib.ParamSpec[] class_list_child_properties (GLib.ObjectClass iclass, out uint n_properties);
 		public void ensure_updated ();
 		public int find_child (Goo.CanvasItem child);
-		public abstract void get_bounds (Goo.CanvasBounds bounds);
+		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, void* var_args);
-		[NoWrapper]
-		public abstract void get_child_property (Goo.CanvasItem child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
-		public abstract unowned GLib.List get_items_at (double x, double y, Cairo.Context cr, bool is_pointer_event, bool parent_is_visible, GLib.List found_items);
-		public abstract unowned Goo.CanvasItemModel get_model ();
+		public abstract unowned Goo.CanvasItem? get_child (int child_num);
+		public void get_child_properties (Goo.CanvasItem child, ...);
+		public abstract void get_child_property (Goo.CanvasItem child, string property_name, out GLib.Value value);
+		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);
+		public abstract unowned Goo.CanvasItem? get_parent ();
+		public abstract bool get_requested_area (Cairo.Context cr, out Goo.CanvasBounds requested_area);
 		public abstract double get_requested_height (Cairo.Context cr, double width);
-		public void get_simple_transform (out double x, out double y, out double scale, out double rotation);
+		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 (Cairo.Matrix transform);
-		public abstract bool get_transform_for_child (Goo.CanvasItem child, Cairo.Matrix transform);
+		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);
-		[NoWrapper]
-		public abstract bool query_tooltip (double x, double y, bool keyboard_tooltip, void* tooltip);
 		public void raise (Goo.CanvasItem? above);
 		public void remove ();
 		public abstract void remove_child (int child_num);
@@ -580,10 +756,9 @@ namespace Goo {
 		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, void* var_args);
-		[NoWrapper]
-		public abstract void set_child_property (Goo.CanvasItem child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
+		public void set_child_properties (Goo.CanvasItem child, ...);
+		public abstract void set_child_property (Goo.CanvasItem child, string property_name, GLib.Value value);
+		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);
@@ -599,9 +774,11 @@ namespace Goo {
 		public Goo.CanvasItem parent { get; set; }
 		public Goo.CanvasPointerEvents pointer_events { get; set; }
 		public string title { get; set; }
+		public string tooltip { get; set; }
 		public Goo.CairoMatrix transform { get; set; }
 		public Goo.CanvasItemVisibility visibility { get; set; }
 		public double visibility_threshold { get; set; }
+		public signal void animation_finished (bool stopped);
 		public signal bool button_press_event (Goo.CanvasItem target, Gdk.EventButton event);
 		public signal bool button_release_event (Goo.CanvasItem target, Gdk.EventButton event);
 		public signal void child_notify (GLib.ParamSpec pspec);
@@ -613,43 +790,41 @@ namespace Goo {
 		public signal bool key_release_event (Goo.CanvasItem target, Gdk.EventKey event);
 		public signal bool leave_notify_event (Goo.CanvasItem target, Gdk.EventCrossing event);
 		public signal bool motion_notify_event (Goo.CanvasItem target, Gdk.EventMotion event);
+		public signal bool query_tooltip (double x, double y, bool keyboard_tooltip, Gtk.Tooltip tooltip);
+		public signal bool scroll_event (Goo.CanvasItem target, Gdk.Event event);
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	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 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);
-		public static unowned GLib.ParamSpec class_list_child_properties (GLib.ObjectClass mclass, uint n_properties);
+		public static GLib.ParamSpec[] class_list_child_properties (GLib.ObjectClass iclass, out uint n_properties);
 		[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, void* var_args);
-		[NoWrapper]
-		public abstract void get_child_property (Goo.CanvasItemModel child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
+		public abstract unowned Goo.CanvasItemModel? get_child (int child_num);
+		public void get_child_properties (Goo.CanvasItem child, ...);
+		public abstract void get_child_property (Goo.CanvasItemModel child, string property_name, out GLib.Value value);
 		public abstract int get_n_children ();
-		public abstract unowned Goo.CanvasItemModel get_parent ();
-		public void get_simple_transform (out double x, out double y, out double scale, out double rotation);
+		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 (Cairo.Matrix transform);
+		public abstract bool get_transform (out Cairo.Matrix transform);
 		public bool is_container ();
-		public void lower (Goo.CanvasItemModel below);
+		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 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, void* var_args);
-		[NoWrapper]
-		public abstract void set_child_property (Goo.CanvasItemModel child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
+		public void set_child_properties (Goo.CanvasItem child, ...);
+		public abstract void set_child_property (Goo.CanvasItemModel child, string property_name, GLib.Value value);
 		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 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 ();
@@ -659,21 +834,17 @@ namespace Goo {
 		public Goo.CanvasItemModel parent { get; set; }
 		public Goo.CanvasPointerEvents pointer_events { get; set; }
 		public string title { get; set; }
+		public string tooltip { get; set; }
 		public Goo.CairoMatrix transform { get; set; }
 		public Goo.CanvasItemVisibility visibility { get; set; }
 		public double visibility_threshold { get; set; }
+		public signal void animation_finished (bool stopped);
 		public signal void changed (bool recompute_bounds);
 		public signal void child_added (int child_num);
 		public signal void child_moved (int old_child_num, int new_child_num);
 		public signal void child_notify (GLib.ParamSpec pspec);
 		public signal void child_removed (int child_num);
 	}
-	[CCode (type_id = "GOO_TYPE_CAIRO_LINE_DASH", cheader_filename = "goocanvas.h")]
-	public struct CairoLineDash {
-	}
-	[CCode (type_id = "GOO_TYPE_CAIRO_PATTERN", cheader_filename = "goocanvas.h")]
-	public struct CairoPattern {
-	}
 	[CCode (type_id = "GOO_TYPE_CANVAS_BOUNDS", cheader_filename = "goocanvas.h")]
 	public struct CanvasBounds {
 		public double x1;
@@ -681,26 +852,11 @@ namespace Goo {
 		public double x2;
 		public double y2;
 	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_ELLIPSE_DATA", cheader_filename = "goocanvas.h")]
-	public struct CanvasEllipseData {
-		public double center_x;
-		public double center_y;
-		public double radius_x;
-		public double radius_y;
-	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_IMAGE_DATA", cheader_filename = "goocanvas.h")]
-	public struct CanvasImageData {
-		public weak Cairo.Pattern pattern;
-		public double x;
-		public double y;
-		public double width;
-		public double height;
-	}
 	[CCode (type_id = "GOO_TYPE_CANVAS_ITEM_SIMPLE_DATA", cheader_filename = "goocanvas.h")]
 	public struct CanvasItemSimpleData {
+		public Cairo.Matrix? transform;
+		public weak GLib.Array<Goo.CanvasPathCommand> clip_path_commands;
 		public weak Goo.CanvasStyle style;
-		public Cairo.Matrix transform;
-		public weak GLib.Array clip_path_commands;
 		public weak string tooltip;
 		public double visibility_threshold;
 		public uint visibility;
@@ -708,120 +864,82 @@ namespace Goo {
 		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 (type_id = "GOO_TYPE_CANVAS_PATH_COMMAND", cheader_filename = "goocanvas.h")]
 	public struct CanvasPathCommand {
-		public void* simple;
-		public void* curve;
-		public void* arc;
-	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_PATH_DATA", cheader_filename = "goocanvas.h")]
-	public struct CanvasPathData {
-		public weak GLib.Array path_commands;
+		public Goo.CanvasPathCommandSimple simple;
+		public Goo.CanvasPathCommandCurve curve;
+		public Goo.CanvasPathCommandArc arc;
+	}
+	[CCode (type_id = "GOO_TYPE_CANVAS_PATH_COMMAND_ARC", cheader_filename = "goocanvas.h")]
+	public struct CanvasPathCommandArc {
+		public uint type;
+		public uint relative;
+		public uint large_arc_flag;
+		public uint sweep_flag;
+		public double rx;
+		public double ry;
+		public double x_axis_rotation;
+		public double x;
+		public double y;
 	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_POLYLINE_ARROW_DATA", cheader_filename = "goocanvas.h")]
-	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;
-		[CCode (array_length = false)]
-		public weak double[] line_end;
-		[CCode (array_length = false)]
-		public weak double[] start_arrow_coords;
-		[CCode (array_length = false)]
-		public weak double[] end_arrow_coords;
+	[CCode (type_id = "GOO_TYPE_CANVAS_PATH_COMMAND_CURVE", cheader_filename = "goocanvas.h")]
+	public struct CanvasPathCommandCurve {
+		public uint type;
+		public uint relative;
+		public double x;
+		public double y;
+		public double x1;
+		public double y1;
+		public double x2;
+		public double y2;
 	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_POLYLINE_DATA", cheader_filename = "goocanvas.h")]
-	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 (type_id = "GOO_TYPE_CANVAS_RECT_DATA", cheader_filename = "goocanvas.h")]
-	public struct CanvasRectData {
+	[CCode (type_id = "GOO_TYPE_CANVAS_PATH_COMMAND_SIMPLE", cheader_filename = "goocanvas.h")]
+	public struct CanvasPathCommandSimple {
+		public uint type;
+		public uint relative;
 		public double x;
 		public double y;
-		public double width;
-		public double height;
-		public double radius_x;
-		public double radius_y;
 	}
 	[CCode (type_id = "GOO_TYPE_CANVAS_STYLE_PROPERTY", cheader_filename = "goocanvas.h")]
 	public struct CanvasStyleProperty {
 		public GLib.Quark id;
 		public GLib.Value value;
 	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_TABLE_DATA", cheader_filename = "goocanvas.h")]
-	public struct CanvasTableData {
-		public double width;
-		public double height;
-		[CCode (array_length = false)]
-		public weak Goo.CanvasTableDimension[] dimensions;
-		public double border_width;
-		public weak GLib.Array children;
-		public Goo.CanvasTableLayoutData layout_data;
-	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_TABLE_DIMENSION", cheader_filename = "goocanvas.h")]
-	public struct CanvasTableDimension {
-		public int size;
-		public double default_spacing;
-		public double spacings;
-		public uint homogeneous;
-	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_TABLE_LAYOUT_DATA", cheader_filename = "goocanvas.h")]
-	public struct CanvasTableLayoutData {
-	}
-	[CCode (type_id = "GOO_TYPE_CANVAS_TEXT_DATA", cheader_filename = "goocanvas.h")]
-	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 (cprefix = "CAIRO_ANTIALIAS_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "CAIRO_ANTIALIAS_", cheader_filename = "goocanvas.h")]
 	public enum CairoAntialias {
 		DEFAULT,
 		NONE,
 		GRAY,
 		SUBPIXEL
 	}
-	[CCode (cprefix = "CAIRO_FILL_RULE_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "CAIRO_FILL_RULE_", cheader_filename = "goocanvas.h")]
 	public enum CairoFillRule {
 		WINDING,
 		EVEN_ODD
 	}
-	[CCode (cprefix = "CAIRO_HINT_METRICS_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "CAIRO_HINT_METRICS_", cheader_filename = "goocanvas.h")]
 	public enum CairoHintMetrics {
 		DEFAULT,
 		OFF,
 		ON
 	}
-	[CCode (cprefix = "CAIRO_LINE_CAP_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "CAIRO_LINE_CAP_", cheader_filename = "goocanvas.h")]
 	public enum CairoLineCap {
 		BUTT,
 		ROUND,
 		SQUARE
 	}
-	[CCode (cprefix = "CAIRO_LINE_JOIN_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "CAIRO_LINE_JOIN_", cheader_filename = "goocanvas.h")]
 	public enum CairoLineJoin {
 		MITER,
 		ROUND,
 		BEVEL
 	}
-	[CCode (cprefix = "CAIRO_OPERATOR_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "CAIRO_OPERATOR_", cheader_filename = "goocanvas.h")]
 	public enum CairoOperator {
 		CLEAR,
 		SOURCE,
@@ -838,21 +956,21 @@ namespace Goo {
 		ADD,
 		SATURATE
 	}
-	[CCode (cprefix = "GOO_CANVAS_ANIMATE_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "GOO_CANVAS_ANIMATE_", cheader_filename = "goocanvas.h")]
 	public enum CanvasAnimateType {
 		FREEZE,
 		RESET,
 		RESTART,
 		BOUNCE
 	}
-	[CCode (cprefix = "GOO_CANVAS_ITEM_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "GOO_CANVAS_ITEM_", cheader_filename = "goocanvas.h")]
 	public enum CanvasItemVisibility {
 		HIDDEN,
 		INVISIBLE,
 		VISIBLE,
 		VISIBLE_ABOVE_THRESHOLD
 	}
-	[CCode (cprefix = "GOO_CANVAS_PATH_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "GOO_CANVAS_PATH_", cheader_filename = "goocanvas.h")]
 	public enum CanvasPathCommandType {
 		MOVE_TO,
 		CLOSE_PATH,
@@ -865,7 +983,7 @@ namespace Goo {
 		SMOOTH_QUADRATIC_CURVE_TO,
 		ELLIPTICAL_ARC
 	}
-	[CCode (cprefix = "GOO_CANVAS_EVENTS_", has_type_id = "0", cheader_filename = "goocanvas.h")]
+	[CCode (cprefix = "GOO_CANVAS_EVENTS_", cheader_filename = "goocanvas.h")]
 	[Flags]
 	public enum CanvasPointerEvents {
 		VISIBLE_MASK,
diff --git a/vapi/packages/goocanvas/goocanvas-custom.vala b/vapi/packages/goocanvas/goocanvas-custom.vala
index 663d3ff..d5f7e2c 100644
--- a/vapi/packages/goocanvas/goocanvas-custom.vala
+++ b/vapi/packages/goocanvas/goocanvas-custom.vala
@@ -17,11 +17,36 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  *
  * Author:
+ * 	Eric ALBER <eric alber gmail com>
  * 	Matias De la Puente <mfpuente ar gmail com>
  */
 
+/* Written for GooCanvas v0.15 */
+
 namespace Goo
 {
+	[Compact]
+	[CCode (type_id = "GOO_TYPE_CAIRO_MATRIX")]
+	public class CairoMatrix
+	{
+		public double xx;
+		public double yx;
+		public double xy;
+		public double yy;
+		public double x0;
+		public double y0;
+	}
+
+	public class Canvas
+	{
+		[CCode (has_construct_function = false)]
+		public Canvas();
+		public static void create_path(GLib.Array<CanvasPathCommand> commands, Cairo.Context cr);
+		public static GLib.Array<CanvasPathCommand> parse_path_data (string path_data);
+		public unowned GLib.List<CanvasItem> get_items_at (double x, double y, bool is_pointer_event);
+		public unowned GLib.List<CanvasItem> get_items_in_area (Goo.CanvasBounds area, bool inside_area, bool allow_overlaps, bool include_containers);
+	}
+
 	public class CanvasEllipse
 	{
 		[CCode (cname="goo_canvas_ellipse_new", type="GooCanvasItem*")]
@@ -34,6 +59,18 @@ namespace Goo
 		public static weak CanvasEllipseModel create (Goo.CanvasItemModel? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
 	}
 
+	public class CanvasGrid
+	{
+		[CCode (cname="goo_canvas_grid_new", type="GooCanvasItemModel*")]
+		public static weak CanvasGrid create(Goo.CanvasItem? parent, double x, double y, double width, double height, double x_step, double y_step, double x_offset, double y_offset, ...);
+	}
+
+	public class CanvasGridModel
+	{
+		[CCode (cname="goo_canvas_grid_model_new", type="GooCanvasItemModel*")]
+		public static weak CanvasGridModel create(CanvasItemModel? parent, double x, double y, double width, double height, double x_step, double y_step, double x_offset, double y_offset, ...);
+	}
+
 	public class CanvasGroup
 	{
 		[CCode (cname="goo_canvas_group_new", type="GooCanvasItem*")]
@@ -58,6 +95,14 @@ namespace Goo
 		public static weak CanvasImageModel create (Goo.CanvasItemModel? parent, Gdk.Pixbuf pixbuf, double x, double y, ...);
 	}
 
+	[Compact]
+	[CCode (type_id = "GOO_TYPE_CANVAS_LINE_DASH")]
+	public class CanvasLineDash {
+		public double* dashes;
+		[CCode (has_construct_function = false)]
+		public CanvasLineDash.newv (int num_dashes, double* dashes);
+	}
+
 	public class CanvasPath
 	{
 		[CCode (cname="goo_canvas_path_new", type="GooCanvasItem*")]
@@ -70,6 +115,12 @@ namespace Goo
 		public static weak CanvasPathModel create (Goo.CanvasItemModel? parent, string path_data, ...);
 	}
 
+	[Compact]
+	[CCode (type_id = "GOO_TYPE_CANVAS_POINTS")]
+	public class CanvasPoints {
+		public double* coords;
+	}
+
 	public class CanvasPolyline
 	{
 		[CCode (cname="goo_canvas_polyline_new", type="GooCanvasItem*")]
@@ -85,57 +136,111 @@ namespace Goo
 		[CCode (cname="goo_canvas_polyline_model_new_line", type="GooCanvasItemModel*")]
 		public static weak CanvasPolylineModel create_line (Goo.CanvasItemModel? parent, double x1, double y1, double x2, double y2, ...);
 	}
-	
+
 	public class CanvasRect
 	{
 		[CCode (cname = "goo_canvas_rect_new", type="GooCanvasItem*")]
 		public static weak CanvasRect create (Goo.CanvasItem? parent, double x, double y, double width, double height, ...);
 	}
-	
+
 	public class CanvasRectModel
 	{
 		[CCode (cname = "goo_canvas_rect_model_new", type="GooCanvasItemModel*")]
 		public static weak CanvasRectModel create (Goo.CanvasItemModel? parent, double x, double y, double width, double height, ...);
 	}
-	
+
+	public class CanvasStyle
+	{
+		public weak Goo.CanvasStyle? parent;
+		public weak GLib.Array<CanvasStyleProperty> properties;
+	}
+
 	public class CanvasTable
 	{
 		[CCode (cname="goo_canvas_table_new", type="GooCanvasItem*")]
 		public static weak CanvasTable create (Goo.CanvasItem? parent, ...);
 	}
-	
+
 	public class CanvasTableModel
 	{
 		[CCode (cname="goo_canvas_table_model_new", type="GooCanvasItemModel*")]
 		public static weak CanvasTableModel create (Goo.CanvasItemModel? parent, ...);
 	}
-	
+
 	public class CanvasText
 	{
 		[CCode (cname="goo_canvas_text_new", type="GooCanvasItem*")]
 		public static weak CanvasText create (Goo.CanvasItem? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
 	}
-	
+
 	public class CanvasTextModel
 	{
 		[CCode (cname="goo_canvas_text_model_new", type="GooCanvasItemModel*")]
 		public static weak CanvasTextModel create (Goo.CanvasItemModel? parent, string str, double x, double y, double width, Gtk.AnchorType anchor, ...);
 	}
-	
+
 	public class CanvasWidget
 	{
 		[CCode (cname="goo_canvas_widget_new", type="GooCanvasItem*")]
 		public static weak CanvasWidget create (Goo.CanvasItem? parent, Gtk.Widget widget, double x, double y, double width, double height, ...);
 	}
-	
+
 	public interface CanvasItem : GLib.Object
 	{
-		public void get_simple_transform (out double x, out double y, out double scale, out double rotation);
+		public static GLib.ParamSpec[] class_list_child_properties (GLib.ObjectClass iclass, out uint n_properties);
+		public void get_child_properties (Goo.CanvasItem child, ...);
+		public void set_child_properties (Goo.CanvasItem child, ...);
+		public abstract unowned GLib.List<CanvasItem> get_items_at (double x, double y, Cairo.Context cr, bool is_pointer_event, bool parent_is_visible, GLib.List<CanvasItem> found_items);
 	}
-	
+
 	public interface CanvasItemModel : GLib.Object
 	{
-		public void get_simple_transform (out double x, out double y, out double scale, out double rotation);
+		public static GLib.ParamSpec[] class_list_child_properties (GLib.ObjectClass iclass, out uint n_properties);
+		public void get_child_properties (Goo.CanvasItem child, ...);
+		public void set_child_properties (Goo.CanvasItem child, ...);
+	}
+
+	public struct CanvasItemSimpleData
+	{
+		public Cairo.Matrix? transform;
+		public weak GLib.Array<CanvasPathCommand> clip_path_commands;
 	}
-}
 
+	/* Trying to describe a C union with dummy structs */
+	public struct CanvasPathCommandSimple
+	{
+		uint type;
+		uint relative;
+		double x;
+		double y;
+	}
+	public struct CanvasPathCommandCurve
+	{
+		uint type;
+		uint relative;
+		double x;
+		double y;
+		double x1;
+		double y1;
+		double x2;
+		double y2;
+	}
+	public struct CanvasPathCommandArc
+	{
+		uint type;
+		uint relative;
+		uint large_arc_flag;
+		uint sweep_flag;
+		double rx;
+		double ry;
+		double x_axis_rotation;
+		double x;
+		double y;
+	}
+	[CCode (type_id = "GOO_TYPE_CANVAS_PATH_COMMAND", cheader_filename = "goocanvas.h")]
+	public struct CanvasPathCommand {
+		public CanvasPathCommandSimple simple;
+		public CanvasPathCommandCurve curve;
+		public CanvasPathCommandArc arc;
+	}
+}
diff --git a/vapi/packages/goocanvas/goocanvas.gi b/vapi/packages/goocanvas/goocanvas.gi
index 60352af..735ebf3 100644
--- a/vapi/packages/goocanvas/goocanvas.gi
+++ b/vapi/packages/goocanvas/goocanvas.gi
@@ -7,6 +7,25 @@
 			<field name="radius_x" type="gdouble"/>
 			<field name="radius_y" type="gdouble"/>
 		</struct>
+		<struct name="GooCanvasGridData">
+			<field name="x" type="gdouble"/>
+			<field name="y" type="gdouble"/>
+			<field name="width" type="gdouble"/>
+			<field name="height" type="gdouble"/>
+			<field name="x_step" type="gdouble"/>
+			<field name="y_step" type="gdouble"/>
+			<field name="x_offset" type="gdouble"/>
+			<field name="y_offset" type="gdouble"/>
+			<field name="horz_grid_line_width" type="gdouble"/>
+			<field name="vert_grid_line_width" type="gdouble"/>
+			<field name="horz_grid_line_pattern" type="cairo_pattern_t*"/>
+			<field name="vert_grid_line_pattern" type="cairo_pattern_t*"/>
+			<field name="border_width" type="gdouble"/>
+			<field name="border_pattern" type="cairo_pattern_t*"/>
+			<field name="show_horz_grid_lines" type="guint"/>
+			<field name="show_vert_grid_lines" type="guint"/>
+			<field name="vert_grid_lines_on_top" type="guint"/>
+		</struct>
 		<struct name="GooCanvasImageData">
 			<field name="pattern" type="cairo_pattern_t*"/>
 			<field name="x" type="gdouble"/>
@@ -25,40 +44,10 @@
 			<field name="can_focus" type="guint"/>
 			<field name="own_style" type="guint"/>
 			<field name="clip_fill_rule" type="guint"/>
+			<field name="is_static" type="guint"/>
 			<field name="cache_setting" type="guint"/>
 			<field name="has_tooltip" type="guint"/>
 		</struct>
-		<struct name="GooCanvasLineDash">
-			<method name="new" symbol="goo_canvas_line_dash_new">
-				<return-type type="GooCanvasLineDash*"/>
-				<parameters>
-					<parameter name="num_dashes" type="gint"/>
-				</parameters>
-			</method>
-			<method name="newv" symbol="goo_canvas_line_dash_newv">
-				<return-type type="GooCanvasLineDash*"/>
-				<parameters>
-					<parameter name="num_dashes" type="gint"/>
-					<parameter name="dashes" type="double*"/>
-				</parameters>
-			</method>
-			<method name="ref" symbol="goo_canvas_line_dash_ref">
-				<return-type type="GooCanvasLineDash*"/>
-				<parameters>
-					<parameter name="dash" type="GooCanvasLineDash*"/>
-				</parameters>
-			</method>
-			<method name="unref" symbol="goo_canvas_line_dash_unref">
-				<return-type type="void"/>
-				<parameters>
-					<parameter name="dash" type="GooCanvasLineDash*"/>
-				</parameters>
-			</method>
-			<field name="ref_count" type="int"/>
-			<field name="num_dashes" type="int"/>
-			<field name="dashes" type="double*"/>
-			<field name="dash_offset" type="double"/>
-		</struct>
 		<struct name="GooCanvasPathData">
 			<field name="path_commands" type="GArray*"/>
 		</struct>
@@ -119,8 +108,6 @@
 			<field name="ellipsize" type="guint"/>
 			<field name="wrap" type="guint"/>
 		</struct>
-		<boxed name="GooCairoLineDash" type-name="GooCairoLineDash" get-type="goo_canvas_line_dash_get_type">
-		</boxed>
 		<boxed name="GooCairoMatrix" type-name="GooCairoMatrix" get-type="goo_cairo_matrix_get_type">
 			<method name="copy" symbol="goo_cairo_matrix_copy">
 				<return-type type="cairo_matrix_t*"/>
@@ -143,6 +130,37 @@
 			<field name="x2" type="gdouble"/>
 			<field name="y2" type="gdouble"/>
 		</boxed>
+		<boxed name="GooCanvasLineDash" type-name="GooCanvasLineDash" get-type="goo_canvas_line_dash_get_type">
+			<constructor name="new" symbol="goo_canvas_line_dash_new">
+				<return-type type="GooCanvasLineDash*"/>
+				<parameters>
+					<parameter name="num_dashes" type="gint"/>
+				</parameters>
+			</constructor>
+			<constructor name="newv" symbol="goo_canvas_line_dash_newv">
+				<return-type type="GooCanvasLineDash*"/>
+				<parameters>
+					<parameter name="num_dashes" type="gint"/>
+					<parameter name="dashes" type="double*"/>
+				</parameters>
+			</constructor>
+			<method name="ref" symbol="goo_canvas_line_dash_ref">
+				<return-type type="GooCanvasLineDash*"/>
+				<parameters>
+					<parameter name="dash" type="GooCanvasLineDash*"/>
+				</parameters>
+			</method>
+			<method name="unref" symbol="goo_canvas_line_dash_unref">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dash" type="GooCanvasLineDash*"/>
+				</parameters>
+			</method>
+			<field name="ref_count" type="int"/>
+			<field name="num_dashes" type="int"/>
+			<field name="dashes" type="double*"/>
+			<field name="dash_offset" type="double"/>
+		</boxed>
 		<boxed name="GooCanvasPoints" type-name="GooCanvasPoints" get-type="goo_canvas_points_get_type">
 			<constructor name="new" symbol="goo_canvas_points_new">
 				<return-type type="GooCanvasPoints*"/>
@@ -166,32 +184,32 @@
 			<field name="num_points" type="int"/>
 			<field name="ref_count" type="int"/>
 		</boxed>
-		<enum name="GooCairoAntialias">
+		<enum name="GooCairoAntialias" type-name="GooCairoAntialias" get-type="goo_cairo_antialias_get_type">
 			<member name="CAIRO_ANTIALIAS_DEFAULT" value="0"/>
 			<member name="CAIRO_ANTIALIAS_NONE" value="1"/>
 			<member name="CAIRO_ANTIALIAS_GRAY" value="2"/>
 			<member name="CAIRO_ANTIALIAS_SUBPIXEL" value="3"/>
 		</enum>
-		<enum name="GooCairoFillRule">
+		<enum name="GooCairoFillRule" type-name="GooCairoFillRule" get-type="goo_cairo_fill_rule_get_type">
 			<member name="CAIRO_FILL_RULE_WINDING" value="0"/>
 			<member name="CAIRO_FILL_RULE_EVEN_ODD" value="1"/>
 		</enum>
-		<enum name="GooCairoHintMetrics">
+		<enum name="GooCairoHintMetrics" type-name="GooCairoHintMetrics" get-type="goo_cairo_hint_metrics_get_type">
 			<member name="CAIRO_HINT_METRICS_DEFAULT" value="0"/>
 			<member name="CAIRO_HINT_METRICS_OFF" value="1"/>
 			<member name="CAIRO_HINT_METRICS_ON" value="2"/>
 		</enum>
-		<enum name="GooCairoLineCap">
+		<enum name="GooCairoLineCap" type-name="GooCairoLineCap" get-type="goo_cairo_line_cap_get_type">
 			<member name="CAIRO_LINE_CAP_BUTT" value="0"/>
 			<member name="CAIRO_LINE_CAP_ROUND" value="1"/>
 			<member name="CAIRO_LINE_CAP_SQUARE" value="2"/>
 		</enum>
-		<enum name="GooCairoLineJoin">
+		<enum name="GooCairoLineJoin" type-name="GooCairoLineJoin" get-type="goo_cairo_line_join_get_type">
 			<member name="CAIRO_LINE_JOIN_MITER" value="0"/>
 			<member name="CAIRO_LINE_JOIN_ROUND" value="1"/>
 			<member name="CAIRO_LINE_JOIN_BEVEL" value="2"/>
 		</enum>
-		<enum name="GooCairoOperator">
+		<enum name="GooCairoOperator" type-name="GooCairoOperator" get-type="goo_cairo_operator_get_type">
 			<member name="CAIRO_OPERATOR_CLEAR" value="0"/>
 			<member name="CAIRO_OPERATOR_SOURCE" value="1"/>
 			<member name="CAIRO_OPERATOR_OVER" value="2"/>
@@ -207,19 +225,19 @@
 			<member name="CAIRO_OPERATOR_ADD" value="12"/>
 			<member name="CAIRO_OPERATOR_SATURATE" value="13"/>
 		</enum>
-		<enum name="GooCanvasAnimateType">
+		<enum name="GooCanvasAnimateType" type-name="GooCanvasAnimateType" get-type="goo_canvas_animate_type_get_type">
 			<member name="GOO_CANVAS_ANIMATE_FREEZE" value="0"/>
 			<member name="GOO_CANVAS_ANIMATE_RESET" value="1"/>
 			<member name="GOO_CANVAS_ANIMATE_RESTART" value="2"/>
 			<member name="GOO_CANVAS_ANIMATE_BOUNCE" value="3"/>
 		</enum>
-		<enum name="GooCanvasItemVisibility">
+		<enum name="GooCanvasItemVisibility" type-name="GooCanvasItemVisibility" get-type="goo_canvas_item_visibility_get_type">
 			<member name="GOO_CANVAS_ITEM_HIDDEN" value="0"/>
 			<member name="GOO_CANVAS_ITEM_INVISIBLE" value="1"/>
 			<member name="GOO_CANVAS_ITEM_VISIBLE" value="2"/>
 			<member name="GOO_CANVAS_ITEM_VISIBLE_ABOVE_THRESHOLD" value="3"/>
 		</enum>
-		<enum name="GooCanvasPathCommandType">
+		<enum name="GooCanvasPathCommandType" type-name="GooCanvasPathCommandType" get-type="goo_canvas_path_command_type_get_type">
 			<member name="GOO_CANVAS_PATH_MOVE_TO" value="0"/>
 			<member name="GOO_CANVAS_PATH_CLOSE_PATH" value="1"/>
 			<member name="GOO_CANVAS_PATH_LINE_TO" value="2"/>
@@ -231,7 +249,7 @@
 			<member name="GOO_CANVAS_PATH_SMOOTH_QUADRATIC_CURVE_TO" value="8"/>
 			<member name="GOO_CANVAS_PATH_ELLIPTICAL_ARC" value="9"/>
 		</enum>
-		<flags name="GooCanvasPointerEvents">
+		<flags name="GooCanvasPointerEvents" type-name="GooCanvasPointerEvents" get-type="goo_canvas_pointer_events_get_type">
 			<member name="GOO_CANVAS_EVENTS_VISIBLE_MASK" value="1"/>
 			<member name="GOO_CANVAS_EVENTS_PAINTED_MASK" value="2"/>
 			<member name="GOO_CANVAS_EVENTS_FILL_MASK" value="4"/>
@@ -251,6 +269,14 @@
 				<interface name="AtkImplementor"/>
 				<interface name="GtkBuildable"/>
 			</implements>
+			<method name="convert_bounds_to_item_space" symbol="goo_canvas_convert_bounds_to_item_space">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="canvas" type="GooCanvas*"/>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="bounds" type="GooCanvasBounds*"/>
+				</parameters>
+			</method>
 			<method name="convert_from_item_space" symbol="goo_canvas_convert_from_item_space">
 				<return-type type="void"/>
 				<parameters>
@@ -374,6 +400,18 @@
 					<parameter name="canvas" type="GooCanvas*"/>
 				</parameters>
 			</method>
+			<method name="get_static_root_item" symbol="goo_canvas_get_static_root_item">
+				<return-type type="GooCanvasItem*"/>
+				<parameters>
+					<parameter name="canvas" type="GooCanvas*"/>
+				</parameters>
+			</method>
+			<method name="get_static_root_item_model" symbol="goo_canvas_get_static_root_item_model">
+				<return-type type="GooCanvasItemModel*"/>
+				<parameters>
+					<parameter name="canvas" type="GooCanvas*"/>
+				</parameters>
+			</method>
 			<method name="grab_focus" symbol="goo_canvas_grab_focus">
 				<return-type type="void"/>
 				<parameters>
@@ -409,6 +447,17 @@
 					<parameter name="marshal_data" type="gpointer"/>
 				</parameters>
 			</method>
+			<method name="marshal_BOOLEAN__DOUBLE_DOUBLE_BOOLEAN_OBJECT" symbol="goo_canvas_marshal_BOOLEAN__DOUBLE_DOUBLE_BOOLEAN_OBJECT">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="closure" type="GClosure*"/>
+					<parameter name="return_value" type="GValue*"/>
+					<parameter name="n_param_values" type="guint"/>
+					<parameter name="param_values" type="GValue*"/>
+					<parameter name="invocation_hint" type="gpointer"/>
+					<parameter name="marshal_data" type="gpointer"/>
+				</parameters>
+			</method>
 			<method name="marshal_BOOLEAN__OBJECT_BOXED" symbol="goo_canvas_marshal_BOOLEAN__OBJECT_BOXED">
 				<return-type type="void"/>
 				<parameters>
@@ -485,6 +534,14 @@
 					<parameter name="scale" type="gdouble"/>
 				</parameters>
 			</method>
+			<method name="request_item_redraw" symbol="goo_canvas_request_item_redraw">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="canvas" type="GooCanvas*"/>
+					<parameter name="bounds" type="GooCanvasBounds*"/>
+					<parameter name="is_static" type="gboolean"/>
+				</parameters>
+			</method>
 			<method name="request_redraw" symbol="goo_canvas_request_redraw">
 				<return-type type="void"/>
 				<parameters>
@@ -537,6 +594,20 @@
 					<parameter name="scale" type="gdouble"/>
 				</parameters>
 			</method>
+			<method name="set_static_root_item" symbol="goo_canvas_set_static_root_item">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="canvas" type="GooCanvas*"/>
+					<parameter name="item" type="GooCanvasItem*"/>
+				</parameters>
+			</method>
+			<method name="set_static_root_item_model" symbol="goo_canvas_set_static_root_item_model">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="canvas" type="GooCanvas*"/>
+					<parameter name="model" type="GooCanvasItemModel*"/>
+				</parameters>
+			</method>
 			<method name="unregister_item" symbol="goo_canvas_unregister_item">
 				<return-type type="void"/>
 				<parameters>
@@ -563,7 +634,9 @@
 			<property name="background-color-rgb" type="guint" readable="0" writable="1" construct="0" construct-only="0"/>
 			<property name="bounds-from-origin" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="bounds-padding" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="clear-background" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="integer-layout" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="redraw-when-scrolled" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="resolution-x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="resolution-y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="scale" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -610,6 +683,8 @@
 			<field name="integer_layout" type="guint"/>
 			<field name="automatic_bounds" type="guint"/>
 			<field name="bounds_from_origin" type="guint"/>
+			<field name="clear_background" type="guint"/>
+			<field name="redraw_when_scrolled" type="guint"/>
 			<field name="bounds_padding" type="gdouble"/>
 			<field name="pointer_item" type="GooCanvasItem*"/>
 			<field name="pointer_grab_item" type="GooCanvasItem*"/>
@@ -649,8 +724,12 @@
 			</constructor>
 			<property name="center-x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="center-y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="radius-x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="radius-y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="ellipse_data" type="GooCanvasEllipseData*"/>
 		</object>
 		<object name="GooCanvasEllipseModel" parent="GooCanvasItemModelSimple" type-name="GooCanvasEllipseModel" get-type="goo_canvas_ellipse_model_get_type">
@@ -669,10 +748,106 @@
 			</constructor>
 			<property name="center-x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="center-y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="radius-x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="radius-y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="ellipse_data" type="GooCanvasEllipseData"/>
 		</object>
+		<object name="GooCanvasGrid" parent="GooCanvasItemSimple" type-name="GooCanvasGrid" get-type="goo_canvas_grid_get_type">
+			<implements>
+				<interface name="GooCanvasItem"/>
+			</implements>
+			<constructor name="new" symbol="goo_canvas_grid_new">
+				<return-type type="GooCanvasItem*"/>
+				<parameters>
+					<parameter name="parent" type="GooCanvasItem*"/>
+					<parameter name="x" type="gdouble"/>
+					<parameter name="y" type="gdouble"/>
+					<parameter name="width" type="gdouble"/>
+					<parameter name="height" type="gdouble"/>
+					<parameter name="x_step" type="gdouble"/>
+					<parameter name="y_step" type="gdouble"/>
+					<parameter name="x_offset" type="gdouble"/>
+					<parameter name="y_offset" type="gdouble"/>
+				</parameters>
+			</constructor>
+			<property name="border-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="border-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="border-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="border-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="border-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="show-horz-grid-lines" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="show-vert-grid-lines" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-lines-on-top" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x-offset" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x-step" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y-offset" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y-step" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<field name="grid_data" type="GooCanvasGridData*"/>
+		</object>
+		<object name="GooCanvasGridModel" parent="GooCanvasItemModelSimple" type-name="GooCanvasGridModel" get-type="goo_canvas_grid_model_get_type">
+			<implements>
+				<interface name="GooCanvasItemModel"/>
+			</implements>
+			<constructor name="new" symbol="goo_canvas_grid_model_new">
+				<return-type type="GooCanvasItemModel*"/>
+				<parameters>
+					<parameter name="parent" type="GooCanvasItemModel*"/>
+					<parameter name="x" type="gdouble"/>
+					<parameter name="y" type="gdouble"/>
+					<parameter name="width" type="gdouble"/>
+					<parameter name="height" type="gdouble"/>
+					<parameter name="x_step" type="gdouble"/>
+					<parameter name="y_step" type="gdouble"/>
+					<parameter name="x_offset" type="gdouble"/>
+					<parameter name="y_offset" type="gdouble"/>
+				</parameters>
+			</constructor>
+			<property name="border-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="border-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="border-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="border-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="border-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="show-horz-grid-lines" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="show-vert-grid-lines" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-lines-on-top" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x-offset" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x-step" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y-offset" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y-step" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<field name="grid_data" type="GooCanvasGridData"/>
+		</object>
 		<object name="GooCanvasGroup" parent="GooCanvasItemSimple" type-name="GooCanvasGroup" get-type="goo_canvas_group_get_type">
 			<implements>
 				<interface name="GooCanvasItem"/>
@@ -683,6 +858,10 @@
 					<parameter name="parent" type="GooCanvasItem*"/>
 				</parameters>
 			</constructor>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="items" type="GPtrArray*"/>
 		</object>
 		<object name="GooCanvasGroupModel" parent="GooCanvasItemModelSimple" type-name="GooCanvasGroupModel" get-type="goo_canvas_group_model_get_type">
@@ -695,6 +874,10 @@
 					<parameter name="parent" type="GooCanvasItemModel*"/>
 				</parameters>
 			</constructor>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="children" type="GPtrArray*"/>
 		</object>
 		<object name="GooCanvasImage" parent="GooCanvasItemSimple" type-name="GooCanvasImage" get-type="goo_canvas_image_get_type">
@@ -713,6 +896,7 @@
 			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="scale-to-fit" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -734,6 +918,7 @@
 			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="scale-to-fit" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -747,7 +932,7 @@
 			<property name="clip-fill-rule" type="GooCairoFillRule" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="clip-path" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
-			<property name="fill-color-rgba" type="guint" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="fill-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-rule" type="GooCairoFillRule" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -755,13 +940,13 @@
 			<property name="font-desc" type="PangoFontDescription*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="hint-metrics" type="GooCairoHintMetrics" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-cap" type="GooCairoLineCap" readable="1" writable="1" construct="0" construct-only="0"/>
-			<property name="line-dash" type="GooCairoLineDash*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="line-dash" type="GooCanvasLineDash*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-join" type="GooCairoLineJoin" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-join-miter-limit" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="operator" type="GooCairoOperator" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="stroke-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
-			<property name="stroke-color-rgba" type="guint" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="stroke-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="stroke-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="stroke-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
 			<field name="parent" type="GooCanvasItemModel*"/>
@@ -844,7 +1029,7 @@
 			<property name="clip-fill-rule" type="GooCairoFillRule" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="clip-path" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
-			<property name="fill-color-rgba" type="guint" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="fill-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
 			<property name="fill-rule" type="GooCairoFillRule" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -852,13 +1037,13 @@
 			<property name="font-desc" type="PangoFontDescription*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="hint-metrics" type="GooCairoHintMetrics" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-cap" type="GooCairoLineCap" readable="1" writable="1" construct="0" construct-only="0"/>
-			<property name="line-dash" type="GooCairoLineDash*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="line-dash" type="GooCanvasLineDash*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-join" type="GooCairoLineJoin" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-join-miter-limit" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="operator" type="GooCairoOperator" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="stroke-color" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
-			<property name="stroke-color-rgba" type="guint" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="stroke-color-rgba" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="stroke-pattern" type="GooCairoPattern*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="stroke-pixbuf" type="GdkPixbuf*" readable="0" writable="1" construct="0" construct-only="0"/>
 			<vfunc name="simple_create_path">
@@ -913,6 +1098,10 @@
 				</parameters>
 			</constructor>
 			<property name="data" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="path_data" type="GooCanvasPathData*"/>
 		</object>
 		<object name="GooCanvasPathModel" parent="GooCanvasItemModelSimple" type-name="GooCanvasPathModel" get-type="goo_canvas_path_model_get_type">
@@ -927,6 +1116,10 @@
 				</parameters>
 			</constructor>
 			<property name="data" type="char*" readable="0" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="path_data" type="GooCanvasPathData"/>
 		</object>
 		<object name="GooCanvasPolyline" parent="GooCanvasItemSimple" type-name="GooCanvasPolyline" get-type="goo_canvas_polyline_get_type">
@@ -956,8 +1149,12 @@
 			<property name="arrow-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="close-path" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="end-arrow" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="points" type="GooCanvasPoints*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="start-arrow" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="polyline_data" type="GooCanvasPolylineData*"/>
 		</object>
 		<object name="GooCanvasPolylineModel" parent="GooCanvasItemModelSimple" type-name="GooCanvasPolylineModel" get-type="goo_canvas_polyline_model_get_type">
@@ -987,8 +1184,12 @@
 			<property name="arrow-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="close-path" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="end-arrow" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="points" type="GooCanvasPoints*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="start-arrow" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="polyline_data" type="GooCanvasPolylineData"/>
 		</object>
 		<object name="GooCanvasRect" parent="GooCanvasItemSimple" type-name="GooCanvasRect" get-type="goo_canvas_rect_get_type">
@@ -1101,11 +1302,13 @@
 				</parameters>
 			</constructor>
 			<property name="column-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
-			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="homogeneous-columns" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="homogeneous-rows" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="row-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
-			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x-border-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y-border-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="table_data" type="GooCanvasTableData*"/>
 		</object>
 		<object name="GooCanvasTableModel" parent="GooCanvasGroupModel" type-name="GooCanvasTableModel" get-type="goo_canvas_table_model_get_type">
@@ -1119,17 +1322,27 @@
 				</parameters>
 			</constructor>
 			<property name="column-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
-			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="homogeneous-columns" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="homogeneous-rows" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="horz-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="row-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
-			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="vert-grid-line-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x-border-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y-border-spacing" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<field name="table_data" type="GooCanvasTableData"/>
 		</object>
 		<object name="GooCanvasText" parent="GooCanvasItemSimple" type-name="GooCanvasText" get-type="goo_canvas_text_get_type">
 			<implements>
 				<interface name="GooCanvasItem"/>
 			</implements>
+			<method name="get_natural_extents" symbol="goo_canvas_text_get_natural_extents">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="text" type="GooCanvasText*"/>
+					<parameter name="ink_rect" type="PangoRectangle*"/>
+					<parameter name="logical_rect" type="PangoRectangle*"/>
+				</parameters>
+			</method>
 			<constructor name="new" symbol="goo_canvas_text_new">
 				<return-type type="GooCanvasItem*"/>
 				<parameters>
@@ -1144,6 +1357,7 @@
 			<property name="alignment" type="PangoAlignment" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="anchor" type="GtkAnchorType" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="ellipsize" type="PangoEllipsizeMode" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="text" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="use-markup" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -1171,6 +1385,7 @@
 			<property name="alignment" type="PangoAlignment" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="anchor" type="GtkAnchorType" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="ellipsize" type="PangoEllipsizeMode" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="height" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="text" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="use-markup" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
@@ -1314,6 +1529,21 @@
 					<parameter name="var_args" type="va_list"/>
 				</parameters>
 			</method>
+			<method name="get_child_property" symbol="goo_canvas_item_get_child_property">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="child" type="GooCanvasItem*"/>
+					<parameter name="property_name" type="gchar*"/>
+					<parameter name="value" type="GValue*"/>
+				</parameters>
+			</method>
+			<method name="get_is_static" symbol="goo_canvas_item_get_is_static">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+				</parameters>
+			</method>
 			<method name="get_items_at" symbol="goo_canvas_item_get_items_at">
 				<return-type type="GList*"/>
 				<parameters>
@@ -1360,6 +1590,16 @@
 					<parameter name="width" type="gdouble"/>
 				</parameters>
 			</method>
+			<method name="get_simple_transform" symbol="goo_canvas_item_get_simple_transform">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="x" type="gdouble*"/>
+					<parameter name="y" type="gdouble*"/>
+					<parameter name="scale" type="gdouble*"/>
+					<parameter name="rotation" type="gdouble*"/>
+				</parameters>
+			</method>
 			<method name="get_style" symbol="goo_canvas_item_get_style">
 				<return-type type="GooCanvasStyle*"/>
 				<parameters>
@@ -1482,6 +1722,22 @@
 					<parameter name="var_args" type="va_list"/>
 				</parameters>
 			</method>
+			<method name="set_child_property" symbol="goo_canvas_item_set_child_property">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="child" type="GooCanvasItem*"/>
+					<parameter name="property_name" type="gchar*"/>
+					<parameter name="value" type="GValue*"/>
+				</parameters>
+			</method>
+			<method name="set_is_static" symbol="goo_canvas_item_set_is_static">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="is_static" type="gboolean"/>
+				</parameters>
+			</method>
 			<method name="set_model" symbol="goo_canvas_item_set_model">
 				<return-type type="void"/>
 				<parameters>
@@ -1566,9 +1822,17 @@
 			<property name="parent" type="GooCanvasItem*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="pointer-events" type="GooCanvasPointerEvents" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="title" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="tooltip" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="transform" type="GooCairoMatrix*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="visibility" type="GooCanvasItemVisibility" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="visibility-threshold" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<signal name="animation-finished" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="stopped" type="gboolean"/>
+				</parameters>
+			</signal>
 			<signal name="button-press-event" when="LAST">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -1656,6 +1920,24 @@
 					<parameter name="event" type="GdkEvent*"/>
 				</parameters>
 			</signal>
+			<signal name="query-tooltip" when="LAST">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="x" type="gdouble"/>
+					<parameter name="y" type="gdouble"/>
+					<parameter name="keyboard_tooltip" type="gboolean"/>
+					<parameter name="tooltip" type="GtkTooltip*"/>
+				</parameters>
+			</signal>
+			<signal name="scroll-event" when="LAST">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="target" type="GooCanvasItem*"/>
+					<parameter name="event" type="GdkEvent*"/>
+				</parameters>
+			</signal>
 			<vfunc name="add_child">
 				<return-type type="void"/>
 				<parameters>
@@ -1705,6 +1987,12 @@
 					<parameter name="pspec" type="GParamSpec*"/>
 				</parameters>
 			</vfunc>
+			<vfunc name="get_is_static">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+				</parameters>
+			</vfunc>
 			<vfunc name="get_items_at">
 				<return-type type="GList*"/>
 				<parameters>
@@ -1795,16 +2083,6 @@
 					<parameter name="scale" type="gdouble"/>
 				</parameters>
 			</vfunc>
-			<vfunc name="query_tooltip">
-				<return-type type="gboolean"/>
-				<parameters>
-					<parameter name="item" type="GooCanvasItem*"/>
-					<parameter name="x" type="gdouble"/>
-					<parameter name="y" type="gdouble"/>
-					<parameter name="keyboard_tooltip" type="gboolean"/>
-					<parameter name="tooltip" type="gpointer*"/>
-				</parameters>
-			</vfunc>
 			<vfunc name="remove_child">
 				<return-type type="void"/>
 				<parameters>
@@ -1835,6 +2113,13 @@
 					<parameter name="pspec" type="GParamSpec*"/>
 				</parameters>
 			</vfunc>
+			<vfunc name="set_is_static">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="item" type="GooCanvasItem*"/>
+					<parameter name="is_static" type="gboolean"/>
+				</parameters>
+			</vfunc>
 			<vfunc name="set_model">
 				<return-type type="void"/>
 				<parameters>
@@ -1950,6 +2235,15 @@
 					<parameter name="var_args" type="va_list"/>
 				</parameters>
 			</method>
+			<method name="get_child_property" symbol="goo_canvas_item_model_get_child_property">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GooCanvasItemModel*"/>
+					<parameter name="child" type="GooCanvasItemModel*"/>
+					<parameter name="property_name" type="gchar*"/>
+					<parameter name="value" type="GValue*"/>
+				</parameters>
+			</method>
 			<method name="get_n_children" symbol="goo_canvas_item_model_get_n_children">
 				<return-type type="gint"/>
 				<parameters>
@@ -1962,6 +2256,16 @@
 					<parameter name="model" type="GooCanvasItemModel*"/>
 				</parameters>
 			</method>
+			<method name="get_simple_transform" symbol="goo_canvas_item_model_get_simple_transform">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="model" type="GooCanvasItemModel*"/>
+					<parameter name="x" type="gdouble*"/>
+					<parameter name="y" type="gdouble*"/>
+					<parameter name="scale" type="gdouble*"/>
+					<parameter name="rotation" type="gdouble*"/>
+				</parameters>
+			</method>
 			<method name="get_style" symbol="goo_canvas_item_model_get_style">
 				<return-type type="GooCanvasStyle*"/>
 				<parameters>
@@ -2048,6 +2352,15 @@
 					<parameter name="var_args" type="va_list"/>
 				</parameters>
 			</method>
+			<method name="set_child_property" symbol="goo_canvas_item_model_set_child_property">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GooCanvasItemModel*"/>
+					<parameter name="child" type="GooCanvasItemModel*"/>
+					<parameter name="property_name" type="gchar*"/>
+					<parameter name="value" type="GValue*"/>
+				</parameters>
+			</method>
 			<method name="set_parent" symbol="goo_canvas_item_model_set_parent">
 				<return-type type="void"/>
 				<parameters>
@@ -2116,9 +2429,17 @@
 			<property name="parent" type="GooCanvasItemModel*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="pointer-events" type="GooCanvasPointerEvents" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="title" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="tooltip" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="transform" type="GooCairoMatrix*" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="visibility" type="GooCanvasItemVisibility" readable="1" writable="1" construct="0" construct-only="0"/>
 			<property name="visibility-threshold" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<signal name="animation-finished" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GooCanvasItemModel*"/>
+					<parameter name="stopped" type="gboolean"/>
+				</parameters>
+			</signal>
 			<signal name="changed" when="LAST">
 				<return-type type="void"/>
 				<parameters>
diff --git a/vapi/packages/goocanvas/goocanvas.metadata b/vapi/packages/goocanvas/goocanvas.metadata
index 951da64..4b3f5b0 100644
--- a/vapi/packages/goocanvas/goocanvas.metadata
+++ b/vapi/packages/goocanvas/goocanvas.metadata
@@ -1,50 +1,233 @@
+# Written for GooCanvas v0.15
+
 Goo cprefix="Goo" lower_case_cprefix="goo_" cheader_filename="goocanvas.h"
-GooCanvasItem::button_press_event.event namespace_name="Gdk" type_name="EventButton"
-GooCanvasItem::button_release_event.event namespace_name="Gdk" type_name="EventButton"
-GooCanvasItem::enter_notify_event.event namespace_name="Gdk" type_name="EventCrossing"
-GooCanvasItem::focus_in_event.event namespace_name="Gdk" type_name="EventFocus"
-GooCanvasItem::focus_out_event.event namespace_name="Gdk" type_name="EventFocus"
-GooCanvasItem::grab_broken_event.event namespace_name="Gdk" type_name="EventGrabBroken"
-GooCanvasItem::key_press_event.event namespace_name="Gdk" type_name="EventKey"
-GooCanvasItem::key_release_event.event namespace_name="Gdk" type_name="EventKey"
-GooCanvasItem::leave_notify_event.event namespace_name="Gdk" type_name="EventCrossing"
-GooCanvasItem::motion_notify_event.event namespace_name="Gdk" type_name="EventMotion"
+
+# Goo.Canvas
+GooCanvas.root_item_model hidden="1"
+GooCanvas.root_item hidden="1"
+GooCanvas.bounds hidden="1"
+GooCanvas.scale_x hidden="1"
+GooCanvas.scale_y hidden="1"
+GooCanvas.scale hidden="1"
+GooCanvas.anchor hidden="1"
+GooCanvas.idle_id hidden="1"
+GooCanvas.need_update hidden="1"
+GooCanvas.need_entire_subtree_update hidden="1"
+GooCanvas.integer_layout hidden="1"
+GooCanvas.automatic_bounds hidden="1"
+GooCanvas.bounds_from_origin hidden="1"
+GooCanvas.clear_background hidden="1"
+GooCanvas.redraw_when_scrolled hidden="1"
+GooCanvas.bounds_padding hidden="1"
+GooCanvas.pointer_item hidden="1"
+GooCanvas.pointer_grab_item hidden="1"
+GooCanvas.pointer_grab_initial_item hidden="1"
+GooCanvas.pointer_grab_button hidden="1"
+GooCanvas.focused_item hidden="1"
+GooCanvas.keyboard_grab_item hidden="1"
+GooCanvas.crossing_event hidden="1"
+GooCanvas.canvas_window hidden="1"
+GooCanvas.canvas_x_offset hidden="1"
+GooCanvas.canvas_y_offset hidden="1"
+GooCanvas.hadjustment hidden="1"
+GooCanvas.vadjustment hidden="1"
+GooCanvas.freeze_count hidden="1"
+GooCanvas.tmp_window hidden="1"
+GooCanvas.model_to_item hidden="1"
+GooCanvas.units hidden="1"
+GooCanvas.resolution_x hidden="1"
+GooCanvas.resolution_y hidden="1"
+GooCanvas.device_to_pixels_x hidden="1"
+GooCanvas.device_to_pixels_y hidden="1"
+GooCanvas.widget_items hidden="1"
+goo_canvas_new hidden="1"
+goo_canvas_convert_bounds_to_item_space.bounds is_ref="1"
+goo_canvas_convert_from_item_space.x is_ref="1"
+goo_canvas_convert_from_item_space.y is_ref="1"
+goo_canvas_convert_to_item_space.x is_ref="1"
+goo_canvas_convert_to_item_space.y is_ref="1"
+goo_canvas_convert_from_pixels.x is_ref="1"
+goo_canvas_convert_from_pixels.y is_ref="1"
+goo_canvas_convert_to_pixels.x is_ref="1"
+goo_canvas_convert_to_pixels.y is_ref="1"
+goo_canvas_create_path hidden="1"
+goo_canvas_get_bounds.left is_ref="1" nullable="1"
+goo_canvas_get_bounds.top is_ref="1" nullable="1"
+goo_canvas_get_bounds.right is_ref="1" nullable="1"
+goo_canvas_get_bounds.bottom is_ref="1" nullable="1"
+goo_canvas_get_root_item nullable="1"
+goo_canvas_get_root_item_model nullable="1"
+goo_canvas_get_static_root_item nullable="1"
+goo_canvas_get_static_root_item_model nullable="1"
+goo_canvas_get_item nullable="1"
+goo_canvas_get_item_at nullable="1"
+goo_canvas_get_items_at hidden="1"
+goo_canvas_get_items_in_area hidden="1"
+goo_canvas_marshal_BOOLEAN__BOXED hidden="1"
+goo_canvas_marshal_BOOLEAN__OBJECT_BOXED hidden="1"
+goo_canvas_marshal_VOID__INT_INT hidden="1"
+goo_canvas_marshal_VOID__OBJECT_OBJECT hidden="1"
+goo_canvas_marshal_BOOLEAN__DOUBLE_DOUBLE_BOOLEAN_OBJECT hidden="1"
+goo_canvas_parse_path_data hidden="1"
+goo_canvas_pointer_grab.cursor nullable="1"
+goo_canvas_render.bounds nullable="1"
+
+# Goo.CanvasEllipse
+GooCanvasEllipseData hidden="1"
+GooCanvasEllipse.ellipse_data hidden="1"
 goo_canvas_ellipse_new hidden="1"
+GooCanvasEllipseModel.ellipse_data hidden="1"
 goo_canvas_ellipse_model_new hidden="1"
+
+# Goo.CanvasGrid fixes
+GooCanvasGridData hidden="1"
+GooCanvasGrid.grid_data hidden="1"
+goo_canvas_grid_new hidden="1"
+GooCanvasGridModel.grid_data hidden="1"
+goo_canvas_grid_model_new hidden="1"
+
+# Goo.CanvasGroup
+GooCanvasGroup.items hidden="1"
 goo_canvas_group_new hidden="1"
+GooCanvasGroupModel.children hidden="1"
 goo_canvas_group_model_new hidden="1"
+
+# Goo.CanvasImage
+GooCanvasImageData hidden="1"
+GooCanvasImage.image_data hidden="1"
 goo_canvas_image_new hidden="1"
+GooCanvasImageModel.image_data hidden="1"
 goo_canvas_image_model_new hidden="1"
+
+# Goo.CanvasItemModel
+GooCanvasItemSimpleData is_value_type="1"
+goo_canvas_item_simple_get_path_bounds.bounds is_out="1"
+GooCanvasItemModelSimple.description hidden="1"
+GooCanvasItemModelSimple.title hidden="1"
+
+# Goo.CanvasLineDash
+GooCanvasLineDash.dashes hidden="1"
+goo_canvas_line_dash_newv hidden="1"
+
+#Goo.CanvasPath
+GooCanvasPathData hidden="1"
+GooCanvasPath.path_data hidden="1"
 goo_canvas_path_new hidden="1"
+GooCanvasPathModel.path_data hidden="1"
 goo_canvas_path_model_new hidden="1"
+
+# Goo.CanvasPoints
+GooCanvasPoints.coords hidden="1"
+
+# Goo.CanvasPolyline
+GooCanvasPolylineData hidden="1"
+CanvasPolylineArrowData hidden="1"
+GooCanvasPolyline.polyline_data hidden="1"
 goo_canvas_polyline_new hidden="1"
+goo_canvas_polyline_new_line hidden="1"
+GooCanvasPolylineModel.polyline_data hidden="1"
 goo_canvas_polyline_model_new hidden="1"
+goo_canvas_polyline_model_new_line hidden="1"
+
+# Goo.CanvasRect
+GooCanvasRectData hidden="1"
+GooCanvasRect.rect_data hidden="1"
 goo_canvas_rect_new hidden="1"
+GooCanvasRectModel.rect_data hidden="1"
 goo_canvas_rect_model_new hidden="1"
+
+# Goo.CanvasStyle
+GooCanvasStyleProperty is_value_type="1"
+GooCanvasStyle.parent hidden="1"
+GooCanvasStyle.properties hidden="1"
 goo_canvas_style_copy transfer_ownership="1"
+goo_canvas_style_get_parent nullable="1"
+goo_canvas_style_set_parent.parent nullable="1"
+goo_canvas_style_get_property nullable="1"
+
+# Goo.CanvasTable
+GooCanvasTableData hidden="1"
+GooCanvasTableDimension hidden="1"
+GooCanvasTableLayoutData hidden="1"
+GooCanvasTable.table_data hidden="1"
 goo_canvas_table_new hidden="1"
+GooCanvasTableModel.table_data hidden="1"
 goo_canvas_table_model_new hidden="1"
+
+# Goo.CanvasText
+GooCanvasTextData hidden="1"
+GooCanvasText.text_data hidden="1"
+GooCanvasText.layout_width hidden="1"
 goo_canvas_text_new hidden="1"
+goo_canvas_text_get_natural_extents.ink_rect nullable="1" is_out="1"
+goo_canvas_text_get_natural_extents.logical_rect nullable="1" is_out="1"
+GooCanvasTextModel.text_data hidden="1"
 goo_canvas_text_model_new hidden="1"
+
+# Goo.CanvasWidget
 goo_canvas_widget_new hidden="1"
-goo_canvas_widget_model_new hidden="1"
+
+# Goo.CanvasItem
+goo_canvas_item_class_find_child_property nullable="1"
+goo_canvas_item_class_list_child_properties hidden="1"
+goo_canvas_item_get_child nullable="1"
+goo_canvas_item_get_bounds.bounds is_out="1"
+goo_canvas_item_get_child_properties hidden="1"
+goo_canvas_item_get_child_properties_valist hidden="1"
+goo_canvas_item_get_child_property.value is_out="1"
+goo_canvas_item_get_items_at hidden="1"
+goo_canvas_item_get_model nullable="1"
+goo_canvas_item_get_parent nullable="1"
+goo_canvas_item_get_requested_area.requested_area is_out="1"
+goo_canvas_item_get_simple_transform.x is_out="1"
+goo_canvas_item_get_simple_transform.y is_out="1"
+goo_canvas_item_get_simple_transform.scale is_out="1"
+goo_canvas_item_get_simple_transform.rotation is_out="1"
+goo_canvas_item_get_transform.transform is_out="1"
+goo_canvas_item_get_transform_for_child.transform is_out="1"
 goo_canvas_item_set_transform.transform nullable="1"
 goo_canvas_item_lower.below nullable="1"
 goo_canvas_item_raise.above nullable="1"
-GooCanvasEllipseData is_value_type="1"
-GooCanvasImageData is_value_type="1"
-GooCanvasItemSimpleData is_value_type="1"
-GooCanvasPathData is_value_type="1"
-GooCanvasPolylineArrowData is_value_type="1"
-GooCanvasPolylineData is_value_type="1"
-GooCanvasRectData is_value_type="1"
-GooCanvasStyleProperty is_value_type="1"
-GooCanvasTableData is_value_type="1"
-GooCanvasTableDimension is_value_type="1"
-GooCanvasTableLayoutData is_value_type="1"
-GooCanvasTextData is_value_type="1"
-GooCairoLineDash is_value_type="1"
-GooCairoPattern is_value_type="1"
-GooCanvasBounds is_value_type="1"
+goo_canvas_item_set_child_properties hidden="1"
+goo_canvas_item_set_child_properties_valist hidden="1"
+GooCanvasItem::button_press_event.event namespace_name="Gdk" type_name="EventButton"
+GooCanvasItem::button_release_event.event namespace_name="Gdk" type_name="EventButton"
+GooCanvasItem::enter_notify_event.event namespace_name="Gdk" type_name="EventCrossing"
+GooCanvasItem::focus_in_event.event namespace_name="Gdk" type_name="EventFocus"
+GooCanvasItem::focus_out_event.event namespace_name="Gdk" type_name="EventFocus"
+GooCanvasItem::grab_broken_event.event namespace_name="Gdk" type_name="EventGrabBroken"
+GooCanvasItem::key_press_event.event namespace_name="Gdk" type_name="EventKey"
+GooCanvasItem::key_release_event.event namespace_name="Gdk" type_name="EventKey"
+GooCanvasItem::leave_notify_event.event namespace_name="Gdk" type_name="EventCrossing"
+GooCanvasItem::motion_notify_event.event namespace_name="Gdk" type_name="EventMotion"
+goo_canvas_item_model_class_find_child_property nullable="1"
+goo_canvas_item_model_class_list_child_properties hidden="1"
+goo_canvas_item_model_get_child nullable="1"
+goo_canvas_item_model_get_child_properties hidden="1"
+goo_canvas_item_model_get_child_properties_valist hidden="1"
+goo_canvas_item_model_get_child_property.value is_out="1"
+goo_canvas_item_model_get_parent nullable="1"
+goo_canvas_item_model_get_simple_transform.x is_out="1"
+goo_canvas_item_model_get_simple_transform.y is_out="1"
+goo_canvas_item_model_get_simple_transform.scale is_out="1"
+goo_canvas_item_model_get_simple_transform.rotation is_out="1"
+goo_canvas_item_model_get_transform.transform is_out="1"
+goo_canvas_item_model_set_transform.transform nullable="1"
+goo_canvas_item_model_lower.below nullable="1"
+goo_canvas_item_model_raise.above nullable="1"
+goo_canvas_item_model_set_child_properties hidden="1"
+goo_canvas_item_model_set_child_properties_valist hidden="1"
+
+# Goo.CanvasItemSimpleData
+GooCanvasItemSimpleData.transform hidden="1"
+GooCanvasItemSimpleData.clip_path_commands hidden="1"
+
+# Goo.CanvasPathCommand
 GooCanvasPathCommand is_value_type="1"
+GooCanvasPathCommand.simple hidden="1"
+GooCanvasPathCommand.curve hidden="1"
+GooCanvasPathCommand.arc hidden="1"
+
+# Goo.CanvasBounds
+GooCanvasBounds is_value_type="1"
 



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