1/* goocanvas-3.0.vapi generated by vapigen, do not modify. */
2
3[CCode (cprefix = "Goo", gir_namespace = "GooCanvas", gir_version = "3.0", lower_case_cprefix = "goo_")]
4namespace Goo {
5	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_get_type ()")]
6	public class Canvas : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.Scrollable {
7		[CCode (has_construct_function = false, type = "GtkWidget*")]
8		public Canvas ();
9		public void convert_bounds_to_item_space (Goo.CanvasItem item, ref Goo.CanvasBounds bounds);
10		public void convert_from_item_space (Goo.CanvasItem item, ref double x, ref double y);
11		public void convert_from_pixels (ref double x, ref double y);
12		public void convert_to_item_space (Goo.CanvasItem item, ref double x, ref double y);
13		public void convert_to_pixels (ref double x, ref double y);
14		[Version (since = "2.0.1")]
15		public void convert_units_from_pixels (ref double x, ref double y);
16		[Version (since = "2.0.1")]
17		public void convert_units_to_pixels (ref double x, ref double y);
18		public Cairo.Context create_cairo_context ();
19		public virtual Goo.CanvasItem create_item (Goo.CanvasItemModel model);
20		public static void create_path (GLib.Array<Goo.CanvasPathCommand?> commands, Cairo.Context cr);
21		public void get_bounds (out double left, out double top, out double right, out double bottom);
22		public double get_default_line_width ();
23		public unowned Goo.CanvasItem get_item (Goo.CanvasItemModel model);
24		public unowned Goo.CanvasItem get_item_at (double x, double y, bool is_pointer_event);
25		public GLib.List<weak Goo.CanvasItem> get_items_at (double x, double y, bool is_pointer_event);
26		public GLib.List<weak Goo.CanvasItem> get_items_in_area (Goo.CanvasBounds area, bool inside_area, bool allow_overlaps, bool include_containers);
27		public unowned Goo.CanvasItem get_root_item ();
28		public unowned Goo.CanvasItemModel get_root_item_model ();
29		public double get_scale ();
30		public unowned Goo.CanvasItem get_static_root_item ();
31		public unowned Goo.CanvasItemModel get_static_root_item_model ();
32		public void grab_focus (Goo.CanvasItem item);
33		public Gdk.GrabStatus keyboard_grab (Goo.CanvasItem item, bool owner_events, uint32 time);
34		public void keyboard_ungrab (Goo.CanvasItem item, uint32 time);
35		public static GLib.Array<Goo.CanvasPathCommand?> parse_path_data (string path_data);
36		public Gdk.GrabStatus pointer_grab (Goo.CanvasItem item, Gdk.EventMask event_mask, Gdk.Cursor cursor, uint32 time);
37		public void pointer_ungrab (Goo.CanvasItem item, uint32 time);
38		public void register_widget_item (Goo.CanvasWidget witem);
39		public void render (Cairo.Context cr, Goo.CanvasBounds? bounds, double scale);
40		public void request_item_redraw (Goo.CanvasBounds bounds, bool is_static);
41		public void request_redraw (Goo.CanvasBounds bounds);
42		public void request_update ();
43		public void scroll_to (double left, double top);
44		public void set_bounds (double left, double top, double right, double bottom);
45		public void set_root_item (Goo.CanvasItem item);
46		public void set_root_item_model (Goo.CanvasItemModel model);
47		public void set_scale (double scale);
48		public void set_static_root_item (Goo.CanvasItem item);
49		public void set_static_root_item_model (Goo.CanvasItemModel model);
50		public void unregister_item (Goo.CanvasItemModel model);
51		public void unregister_widget_item (Goo.CanvasWidget witem);
52		public void update ();
53		[NoAccessorMethod]
54		public Goo.CanvasAnchorType anchor { get; set; }
55		[NoAccessorMethod]
56		public bool automatic_bounds { get; set; }
57		[NoAccessorMethod]
58		public string background_color { set; }
59		[NoAccessorMethod]
60		[Version (since = "2.0.1")]
61		public Gdk.RGBA background_color_gdk_rgba { set; }
62		[NoAccessorMethod]
63		public uint background_color_rgb { set; }
64		[NoAccessorMethod]
65		public bool bounds_from_origin { get; set; }
66		[NoAccessorMethod]
67		public double bounds_padding { get; set; }
68		[NoAccessorMethod]
69		public bool clear_background { get; set; }
70		[NoAccessorMethod]
71		public bool integer_layout { get; set; }
72		[NoAccessorMethod]
73		public bool redraw_when_scrolled { get; set; }
74		[NoAccessorMethod]
75		public double resolution_x { get; set; }
76		[NoAccessorMethod]
77		public double resolution_y { get; set; }
78		public double scale { get; set; }
79		[NoAccessorMethod]
80		public double scale_x { get; set; }
81		[NoAccessorMethod]
82		public double scale_y { get; set; }
83		[NoAccessorMethod]
84		public Gtk.Unit units { get; set; }
85		[NoAccessorMethod]
86		public double x1 { get; set; }
87		[NoAccessorMethod]
88		public double x2 { get; set; }
89		[NoAccessorMethod]
90		public double y1 { get; set; }
91		[NoAccessorMethod]
92		public double y2 { get; set; }
93		public virtual signal void item_created (Goo.CanvasItem item, Goo.CanvasItemModel model);
94	}
95	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_accessible_factory_get_type ()")]
96	public class CanvasAccessibleFactory : Atk.ObjectFactory {
97		[CCode (has_construct_function = false)]
98		protected CanvasAccessibleFactory ();
99	}
100	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_ellipse_get_type ()")]
101	public class CanvasEllipse : Goo.CanvasItemSimple, Goo.CanvasItem {
102		public Goo.CanvasEllipseData? ellipse_data;
103		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
104		public CanvasEllipse (Goo.CanvasItem? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
105		[NoAccessorMethod]
106		public double center_x { get; set; }
107		[NoAccessorMethod]
108		public double center_y { get; set; }
109		[NoAccessorMethod]
110		public double height { get; set; }
111		[NoAccessorMethod]
112		public double radius_x { get; set; }
113		[NoAccessorMethod]
114		public double radius_y { get; set; }
115		[NoAccessorMethod]
116		public double width { get; set; }
117		[NoAccessorMethod]
118		public double x { get; set; }
119		[NoAccessorMethod]
120		public double y { get; set; }
121	}
122	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_ellipse_model_get_type ()")]
123	public class CanvasEllipseModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
124		public Goo.CanvasEllipseData ellipse_data;
125		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
126		public CanvasEllipseModel (Goo.CanvasItemModel? parent, double center_x, double center_y, double radius_x, double radius_y, ...);
127		[NoAccessorMethod]
128		public double center_x { get; set; }
129		[NoAccessorMethod]
130		public double center_y { get; set; }
131		[NoAccessorMethod]
132		public double height { get; set; }
133		[NoAccessorMethod]
134		public double radius_x { get; set; }
135		[NoAccessorMethod]
136		public double radius_y { get; set; }
137		[NoAccessorMethod]
138		public double width { get; set; }
139		[NoAccessorMethod]
140		public double x { get; set; }
141		[NoAccessorMethod]
142		public double y { get; set; }
143	}
144	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_grid_get_type ()")]
145	public class CanvasGrid : Goo.CanvasItemSimple, Goo.CanvasItem {
146		public Goo.CanvasGridData? grid_data;
147		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
148		public CanvasGrid (Goo.CanvasItem? parent, double x, double y, double width, double height, double x_step, double y_step, double x_offset, double y_offset, ...);
149		[NoAccessorMethod]
150		public string border_color { set; }
151		[NoAccessorMethod]
152		[Version (since = "2.0.1")]
153		public Gdk.RGBA border_color_gdk_rgba { owned get; set; }
154		[NoAccessorMethod]
155		public uint border_color_rgba { get; set; }
156		[NoAccessorMethod]
157		public Cairo.Pattern? border_pattern { owned get; set; }
158		[NoAccessorMethod]
159		public Gdk.Pixbuf border_pixbuf { set; }
160		[NoAccessorMethod]
161		public double border_width { get; set; }
162		[NoAccessorMethod]
163		public double height { get; set; }
164		[NoAccessorMethod]
165		public string horz_grid_line_color { set; }
166		[NoAccessorMethod]
167		[Version (since = "2.0.1")]
168		public Gdk.RGBA horz_grid_line_color_gdk_rgba { owned get; set; }
169		[NoAccessorMethod]
170		public uint horz_grid_line_color_rgba { get; set; }
171		[NoAccessorMethod]
172		public Cairo.Pattern? horz_grid_line_pattern { owned get; set; }
173		[NoAccessorMethod]
174		public Gdk.Pixbuf horz_grid_line_pixbuf { set; }
175		[NoAccessorMethod]
176		public double horz_grid_line_width { get; set; }
177		[NoAccessorMethod]
178		public bool show_horz_grid_lines { get; set; }
179		[NoAccessorMethod]
180		public bool show_vert_grid_lines { get; set; }
181		[NoAccessorMethod]
182		public string vert_grid_line_color { set; }
183		[NoAccessorMethod]
184		[Version (since = "2.0.1")]
185		public Gdk.RGBA vert_grid_line_color_gdk_rgba { owned get; set; }
186		[NoAccessorMethod]
187		public uint vert_grid_line_color_rgba { get; set; }
188		[NoAccessorMethod]
189		public Cairo.Pattern? vert_grid_line_pattern { owned get; set; }
190		[NoAccessorMethod]
191		public Gdk.Pixbuf vert_grid_line_pixbuf { set; }
192		[NoAccessorMethod]
193		public double vert_grid_line_width { get; set; }
194		[NoAccessorMethod]
195		public bool vert_grid_lines_on_top { get; set; }
196		[NoAccessorMethod]
197		public double width { get; set; }
198		[NoAccessorMethod]
199		public double x { get; set; }
200		[NoAccessorMethod]
201		public double x_offset { get; set; }
202		[NoAccessorMethod]
203		public double x_step { get; set; }
204		[NoAccessorMethod]
205		public double y { get; set; }
206		[NoAccessorMethod]
207		public double y_offset { get; set; }
208		[NoAccessorMethod]
209		public double y_step { get; set; }
210	}
211	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_grid_model_get_type ()")]
212	public class CanvasGridModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
213		public Goo.CanvasGridData grid_data;
214		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
215		public CanvasGridModel (Goo.CanvasItemModel? parent, double x, double y, double width, double height, double x_step, double y_step, double x_offset, double y_offset, ...);
216		[NoAccessorMethod]
217		public string border_color { set; }
218		[NoAccessorMethod]
219		public Gdk.RGBA border_color_gdk_rgba { owned get; set; }
220		[NoAccessorMethod]
221		public uint border_color_rgba { get; set; }
222		[NoAccessorMethod]
223		public Cairo.Pattern? border_pattern { owned get; set; }
224		[NoAccessorMethod]
225		public Gdk.Pixbuf border_pixbuf { set; }
226		[NoAccessorMethod]
227		public double border_width { get; set; }
228		[NoAccessorMethod]
229		public double height { get; set; }
230		[NoAccessorMethod]
231		public string horz_grid_line_color { set; }
232		[NoAccessorMethod]
233		public Gdk.RGBA horz_grid_line_color_gdk_rgba { owned get; set; }
234		[NoAccessorMethod]
235		public uint horz_grid_line_color_rgba { get; set; }
236		[NoAccessorMethod]
237		public Cairo.Pattern? horz_grid_line_pattern { owned get; set; }
238		[NoAccessorMethod]
239		public Gdk.Pixbuf horz_grid_line_pixbuf { set; }
240		[NoAccessorMethod]
241		public double horz_grid_line_width { get; set; }
242		[NoAccessorMethod]
243		public bool show_horz_grid_lines { get; set; }
244		[NoAccessorMethod]
245		public bool show_vert_grid_lines { get; set; }
246		[NoAccessorMethod]
247		public string vert_grid_line_color { set; }
248		[NoAccessorMethod]
249		public Gdk.RGBA vert_grid_line_color_gdk_rgba { owned get; set; }
250		[NoAccessorMethod]
251		public uint vert_grid_line_color_rgba { get; set; }
252		[NoAccessorMethod]
253		public Cairo.Pattern? vert_grid_line_pattern { owned get; set; }
254		[NoAccessorMethod]
255		public Gdk.Pixbuf vert_grid_line_pixbuf { set; }
256		[NoAccessorMethod]
257		public double vert_grid_line_width { get; set; }
258		[NoAccessorMethod]
259		public bool vert_grid_lines_on_top { get; set; }
260		[NoAccessorMethod]
261		public double width { get; set; }
262		[NoAccessorMethod]
263		public double x { get; set; }
264		[NoAccessorMethod]
265		public double x_offset { get; set; }
266		[NoAccessorMethod]
267		public double x_step { get; set; }
268		[NoAccessorMethod]
269		public double y { get; set; }
270		[NoAccessorMethod]
271		public double y_offset { get; set; }
272		[NoAccessorMethod]
273		public double y_step { get; set; }
274	}
275	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_group_get_type ()")]
276	public class CanvasGroup : Goo.CanvasItemSimple, Goo.CanvasItem {
277		public weak GLib.GenericArray<void*> items;
278		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
279		public CanvasGroup (Goo.CanvasItem? parent, ...);
280		[NoAccessorMethod]
281		public double height { get; set; }
282		[NoAccessorMethod]
283		public double width { get; set; }
284		[NoAccessorMethod]
285		public double x { get; set; }
286		[NoAccessorMethod]
287		public double y { get; set; }
288	}
289	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_group_model_get_type ()")]
290	public class CanvasGroupModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
291		public weak GLib.GenericArray<void*> children;
292		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
293		public CanvasGroupModel (Goo.CanvasItemModel? parent, ...);
294		[NoAccessorMethod]
295		public double height { get; set; }
296		[NoAccessorMethod]
297		public double width { get; set; }
298		[NoAccessorMethod]
299		public double x { get; set; }
300		[NoAccessorMethod]
301		public double y { get; set; }
302	}
303	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_image_get_type ()")]
304	public class CanvasImage : Goo.CanvasItemSimple, Goo.CanvasItem {
305		public Goo.CanvasImageData? image_data;
306		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
307		public CanvasImage (Goo.CanvasItem? parent, Gdk.Pixbuf? pixbuf, double x, double y, ...);
308		[NoAccessorMethod]
309		public double alpha { get; set; }
310		[NoAccessorMethod]
311		public double height { get; set; }
312		[NoAccessorMethod]
313		public Cairo.Pattern? pattern { owned get; set; }
314		[NoAccessorMethod]
315		public Gdk.Pixbuf pixbuf { set; }
316		[NoAccessorMethod]
317		public bool scale_to_fit { get; set; }
318		[NoAccessorMethod]
319		public double width { get; set; }
320		[NoAccessorMethod]
321		public double x { get; set; }
322		[NoAccessorMethod]
323		public double y { get; set; }
324	}
325	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_image_model_get_type ()")]
326	public class CanvasImageModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
327		public Goo.CanvasImageData image_data;
328		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
329		public CanvasImageModel (Goo.CanvasItemModel? parent, Gdk.Pixbuf? pixbuf, double x, double y, ...);
330		[NoAccessorMethod]
331		public double alpha { get; set; }
332		[NoAccessorMethod]
333		public double height { get; set; }
334		[NoAccessorMethod]
335		public Cairo.Pattern? pattern { owned get; set; }
336		[NoAccessorMethod]
337		public Gdk.Pixbuf pixbuf { set; }
338		[NoAccessorMethod]
339		public bool scale_to_fit { get; set; }
340		[NoAccessorMethod]
341		public double width { get; set; }
342		[NoAccessorMethod]
343		public double x { get; set; }
344		[NoAccessorMethod]
345		public double y { get; set; }
346	}
347	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_accessible_factory_get_type ()")]
348	public class CanvasItemAccessibleFactory : Atk.ObjectFactory {
349		[CCode (has_construct_function = false)]
350		protected CanvasItemAccessibleFactory ();
351	}
352	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_model_simple_get_type ()")]
353	public class CanvasItemModelSimple : GLib.Object, Goo.CanvasItemModel {
354		public weak string description;
355		public weak Goo.CanvasItemModel parent;
356		public Goo.CanvasItemSimpleData simple_data;
357		public weak string title;
358		[CCode (has_construct_function = false)]
359		protected CanvasItemModelSimple ();
360		[NoAccessorMethod]
361		public Goo.CairoAntialias antialias { get; set; }
362		[NoAccessorMethod]
363		public Goo.CairoFillRule clip_fill_rule { get; set; }
364		[NoAccessorMethod]
365		public string clip_path { set; }
366		[NoAccessorMethod]
367		public string fill_color { set; }
368		[NoAccessorMethod]
369		public Gdk.RGBA fill_color_gdk_rgba { owned get; set; }
370		[NoAccessorMethod]
371		public uint fill_color_rgba { get; set; }
372		[NoAccessorMethod]
373		public Cairo.Pattern? fill_pattern { owned get; set; }
374		[NoAccessorMethod]
375		public Gdk.Pixbuf fill_pixbuf { set; }
376		[NoAccessorMethod]
377		public Goo.CairoFillRule fill_rule { get; set; }
378		[NoAccessorMethod]
379		public string font { owned get; set; }
380		[NoAccessorMethod]
381		public Pango.FontDescription font_desc { owned get; set; }
382		[NoAccessorMethod]
383		public Goo.CairoHintMetrics hint_metrics { get; set; }
384		[NoAccessorMethod]
385		public Goo.CairoLineCap line_cap { get; set; }
386		[NoAccessorMethod]
387		public Goo.CanvasLineDash line_dash { owned get; set; }
388		[NoAccessorMethod]
389		public Goo.CairoLineJoin line_join { get; set; }
390		[NoAccessorMethod]
391		public double line_join_miter_limit { get; set; }
392		[NoAccessorMethod]
393		public double line_width { get; set; }
394		[NoAccessorMethod]
395		public Goo.CairoOperator operator { get; set; }
396		[NoAccessorMethod]
397		public string stroke_color { set; }
398		[NoAccessorMethod]
399		public Gdk.RGBA stroke_color_gdk_rgba { owned get; set; }
400		[NoAccessorMethod]
401		public uint stroke_color_rgba { get; set; }
402		[NoAccessorMethod]
403		public Cairo.Pattern? stroke_pattern { owned get; set; }
404		[NoAccessorMethod]
405		public Gdk.Pixbuf stroke_pixbuf { set; }
406	}
407	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_simple_get_type ()")]
408	public class CanvasItemSimple : GLib.Object, Goo.CanvasItem {
409		public Goo.CanvasBounds bounds;
410		public weak Goo.Canvas canvas;
411		public weak Goo.CanvasItemModelSimple model;
412		public uint need_entire_subtree_update;
413		public uint need_update;
414		public weak Goo.CanvasItem parent;
415		public Goo.CanvasItemSimpleData? simple_data;
416		[CCode (has_construct_function = false)]
417		protected CanvasItemSimple ();
418		public void changed (bool recompute_bounds);
419		public bool check_in_path (double x, double y, Cairo.Context cr, Goo.CanvasPointerEvents pointer_events);
420		public void check_style ();
421		public double get_line_width ();
422		public void get_path_bounds (Cairo.Context cr, out Goo.CanvasBounds bounds);
423		public void paint_path (Cairo.Context cr);
424		[NoWrapper]
425		public virtual void simple_create_path (Cairo.Context cr);
426		[NoWrapper]
427		public virtual bool simple_is_item_at (double x, double y, Cairo.Context cr, bool is_pointer_event);
428		[NoWrapper]
429		public virtual void simple_paint (Cairo.Context cr, Goo.CanvasBounds bounds);
430		[NoWrapper]
431		public virtual void simple_update (Cairo.Context cr);
432		public void user_bounds_to_device (Cairo.Context cr, Goo.CanvasBounds bounds);
433		public void user_bounds_to_parent (Cairo.Context cr, Goo.CanvasBounds bounds);
434		[NoAccessorMethod]
435		public Goo.CairoAntialias antialias { get; set; }
436		[NoAccessorMethod]
437		public Goo.CairoFillRule clip_fill_rule { get; set; }
438		[NoAccessorMethod]
439		public string clip_path { set; }
440		[NoAccessorMethod]
441		public string fill_color { set; }
442		[NoAccessorMethod]
443		[Version (since = "2.0.1")]
444		public Gdk.RGBA fill_color_gdk_rgba { owned get; set; }
445		[NoAccessorMethod]
446		public uint fill_color_rgba { get; set; }
447		[NoAccessorMethod]
448		public Cairo.Pattern? fill_pattern { owned get; set; }
449		[NoAccessorMethod]
450		public Gdk.Pixbuf fill_pixbuf { set; }
451		[NoAccessorMethod]
452		public Goo.CairoFillRule fill_rule { get; set; }
453		[NoAccessorMethod]
454		public string font { owned get; set; }
455		[NoAccessorMethod]
456		public Pango.FontDescription font_desc { owned get; set; }
457		[NoAccessorMethod]
458		public Goo.CairoHintMetrics hint_metrics { get; set; }
459		[NoAccessorMethod]
460		public Goo.CairoLineCap line_cap { get; set; }
461		[NoAccessorMethod]
462		public Goo.CanvasLineDash line_dash { owned get; set; }
463		[NoAccessorMethod]
464		public Goo.CairoLineJoin line_join { get; set; }
465		[NoAccessorMethod]
466		public double line_join_miter_limit { get; set; }
467		[NoAccessorMethod]
468		public double line_width { get; set; }
469		[NoAccessorMethod]
470		public Goo.CairoOperator operator { get; set; }
471		[NoAccessorMethod]
472		public string stroke_color { set; }
473		[NoAccessorMethod]
474		[Version (since = "2.0.1")]
475		public Gdk.RGBA stroke_color_gdk_rgba { owned get; set; }
476		[NoAccessorMethod]
477		public uint stroke_color_rgba { get; set; }
478		[NoAccessorMethod]
479		public Cairo.Pattern? stroke_pattern { owned get; set; }
480		[NoAccessorMethod]
481		public Gdk.Pixbuf stroke_pixbuf { set; }
482	}
483	[CCode (cheader_filename = "goocanvas.h", ref_function = "goo_canvas_line_dash_ref", type_id = "goo_canvas_line_dash_get_type ()", unref_function = "goo_canvas_line_dash_unref")]
484	[Compact]
485	public class CanvasLineDash {
486		public double dash_offset;
487		[CCode (array_length_cname = "num_dashes")]
488		public double[] dashes;
489		public int num_dashes;
490		public int ref_count;
491		[CCode (has_construct_function = false)]
492		public CanvasLineDash (int num_dashes, ...);
493		[CCode (cname = "goo_canvas_line_dash_newv", has_construct_function = false)]
494		public CanvasLineDash.newv ([CCode (array_length_cname = "num_dashes", array_length_pos = 0.5)] owned double[] dashes);
495		public Goo.CanvasLineDash @ref ();
496		[Version (since = "2.0.2")]
497		public void set_offset (double dash_offset);
498		public void unref ();
499	}
500	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_path_get_type ()")]
501	public class CanvasPath : Goo.CanvasItemSimple, Goo.CanvasItem {
502		public Goo.CanvasPathData? path_data;
503		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
504		public CanvasPath (Goo.CanvasItem? parent, string path_data, ...);
505		[NoAccessorMethod]
506		public string data { set; }
507		[NoAccessorMethod]
508		public double height { get; set; }
509		[NoAccessorMethod]
510		public double width { get; set; }
511		[NoAccessorMethod]
512		public double x { get; set; }
513		[NoAccessorMethod]
514		public double y { get; set; }
515	}
516	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_path_model_get_type ()")]
517	public class CanvasPathModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
518		public Goo.CanvasPathData path_data;
519		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
520		public CanvasPathModel (Goo.CanvasItemModel? parent, string path_data, ...);
521		[NoAccessorMethod]
522		public string data { set; }
523		[NoAccessorMethod]
524		public double height { get; set; }
525		[NoAccessorMethod]
526		public double width { get; set; }
527		[NoAccessorMethod]
528		public double x { get; set; }
529		[NoAccessorMethod]
530		public double y { get; set; }
531	}
532	[CCode (cheader_filename = "goocanvas.h", ref_function = "goo_canvas_points_ref", type_id = "goo_canvas_points_get_type ()", unref_function = "goo_canvas_points_unref")]
533	[Compact]
534	public class CanvasPoints {
535		[CCode (array_length_cname = "num_points")]
536		public double[] coords;
537		public int num_points;
538		public int ref_count;
539		[CCode (has_construct_function = false)]
540		public CanvasPoints (int num_points);
541		[Version (since = "2.0.1")]
542		public void get_point (int idx, out double x, out double y);
543		public Goo.CanvasPoints @ref ();
544		[Version (since = "2.0.1")]
545		public void set_point (int idx, double x, double y);
546		public void unref ();
547	}
548	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_polyline_get_type ()")]
549	public class CanvasPolyline : Goo.CanvasItemSimple, Goo.CanvasItem {
550		public Goo.CanvasPolylineData? polyline_data;
551		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
552		public CanvasPolyline (Goo.CanvasItem? parent, bool close_path, int num_points, ...);
553		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
554		public CanvasPolyline.line (Goo.CanvasItem? parent, double x1, double y1, double x2, double y2, ...);
555		[NoAccessorMethod]
556		public double arrow_length { get; set; }
557		[NoAccessorMethod]
558		public double arrow_tip_length { get; set; }
559		[NoAccessorMethod]
560		public double arrow_width { get; set; }
561		[NoAccessorMethod]
562		public bool close_path { get; set; }
563		[NoAccessorMethod]
564		public bool end_arrow { get; set; }
565		[NoAccessorMethod]
566		public double height { get; set; }
567		[NoAccessorMethod]
568		public Goo.CanvasPoints points { owned get; set; }
569		[NoAccessorMethod]
570		public bool start_arrow { get; set; }
571		[NoAccessorMethod]
572		public double width { get; set; }
573		[NoAccessorMethod]
574		public double x { get; set; }
575		[NoAccessorMethod]
576		public double y { get; set; }
577	}
578	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_polyline_model_get_type ()")]
579	public class CanvasPolylineModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
580		public Goo.CanvasPolylineData polyline_data;
581		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
582		public CanvasPolylineModel (Goo.CanvasItemModel? parent, bool close_path, int num_points, ...);
583		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
584		public CanvasPolylineModel.line (Goo.CanvasItemModel? parent, double x1, double y1, double x2, double y2, ...);
585		[NoAccessorMethod]
586		public double arrow_length { get; set; }
587		[NoAccessorMethod]
588		public double arrow_tip_length { get; set; }
589		[NoAccessorMethod]
590		public double arrow_width { get; set; }
591		[NoAccessorMethod]
592		public bool close_path { get; set; }
593		[NoAccessorMethod]
594		public bool end_arrow { get; set; }
595		[NoAccessorMethod]
596		public double height { get; set; }
597		[NoAccessorMethod]
598		public Goo.CanvasPoints points { owned get; set; }
599		[NoAccessorMethod]
600		public bool start_arrow { get; set; }
601		[NoAccessorMethod]
602		public double width { get; set; }
603		[NoAccessorMethod]
604		public double x { get; set; }
605		[NoAccessorMethod]
606		public double y { get; set; }
607	}
608	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_rect_get_type ()")]
609	public class CanvasRect : Goo.CanvasItemSimple, Goo.CanvasItem {
610		public Goo.CanvasRectData? rect_data;
611		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
612		public CanvasRect (Goo.CanvasItem? parent, double x, double y, double width, double height, ...);
613		[NoAccessorMethod]
614		public double height { get; set; }
615		[NoAccessorMethod]
616		public double radius_x { get; set; }
617		[NoAccessorMethod]
618		public double radius_y { get; set; }
619		[NoAccessorMethod]
620		public double width { get; set; }
621		[NoAccessorMethod]
622		public double x { get; set; }
623		[NoAccessorMethod]
624		public double y { get; set; }
625	}
626	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_rect_model_get_type ()")]
627	public class CanvasRectModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
628		public Goo.CanvasRectData rect_data;
629		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
630		public CanvasRectModel (Goo.CanvasItemModel? parent, double x, double y, double width, double height, ...);
631		[NoAccessorMethod]
632		public double height { get; set; }
633		[NoAccessorMethod]
634		public double radius_x { get; set; }
635		[NoAccessorMethod]
636		public double radius_y { get; set; }
637		[NoAccessorMethod]
638		public double width { get; set; }
639		[NoAccessorMethod]
640		public double x { get; set; }
641		[NoAccessorMethod]
642		public double y { get; set; }
643	}
644	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_style_get_type ()")]
645	public class CanvasStyle : GLib.Object {
646		public weak Goo.CanvasStyle parent;
647		public weak GLib.Array<void*> properties;
648		[CCode (has_construct_function = false)]
649		public CanvasStyle ();
650		public Goo.CanvasStyle copy ();
651		public unowned Goo.CanvasStyle get_parent ();
652		public GLib.Value? get_property (GLib.Quark property_id);
653		public bool set_fill_options (Cairo.Context cr);
654		public void set_parent (Goo.CanvasStyle parent);
655		public void set_property (GLib.Quark property_id, GLib.Value value);
656		public bool set_stroke_options (Cairo.Context cr);
657	}
658	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_table_get_type ()")]
659	public class CanvasTable : Goo.CanvasGroup, Goo.CanvasItem {
660		public Goo.CanvasTableData? table_data;
661		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
662		public CanvasTable (Goo.CanvasItem? parent, ...);
663		[NoAccessorMethod]
664		public double column_spacing { get; set; }
665		[NoAccessorMethod]
666		public bool homogeneous_columns { get; set; }
667		[NoAccessorMethod]
668		public bool homogeneous_rows { get; set; }
669		[NoAccessorMethod]
670		public double horz_grid_line_width { get; set; }
671		[NoAccessorMethod]
672		public double row_spacing { get; set; }
673		[NoAccessorMethod]
674		public double vert_grid_line_width { get; set; }
675		[NoAccessorMethod]
676		public double x_border_spacing { get; set; }
677		[NoAccessorMethod]
678		public double y_border_spacing { get; set; }
679	}
680	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
681	[Compact]
682	public class CanvasTableLayoutData {
683	}
684	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_table_model_get_type ()")]
685	public class CanvasTableModel : Goo.CanvasGroupModel, Goo.CanvasItemModel {
686		public Goo.CanvasTableData table_data;
687		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
688		public CanvasTableModel (Goo.CanvasItemModel? parent, ...);
689		[NoAccessorMethod]
690		public double column_spacing { get; set; }
691		[NoAccessorMethod]
692		public bool homogeneous_columns { get; set; }
693		[NoAccessorMethod]
694		public bool homogeneous_rows { get; set; }
695		[NoAccessorMethod]
696		public double horz_grid_line_width { get; set; }
697		[NoAccessorMethod]
698		public double row_spacing { get; set; }
699		[NoAccessorMethod]
700		public double vert_grid_line_width { get; set; }
701		[NoAccessorMethod]
702		public double x_border_spacing { get; set; }
703		[NoAccessorMethod]
704		public double y_border_spacing { get; set; }
705	}
706	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_text_get_type ()")]
707	public class CanvasText : Goo.CanvasItemSimple, Goo.CanvasItem {
708		public double layout_width;
709		public Goo.CanvasTextData? text_data;
710		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
711		public CanvasText (Goo.CanvasItem? parent, string string, double x, double y, double width, Goo.CanvasAnchorType anchor, ...);
712		public void get_natural_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
713		[NoAccessorMethod]
714		public Pango.Alignment alignment { get; set; }
715		[NoAccessorMethod]
716		public Goo.CanvasAnchorType anchor { get; set; }
717		[NoAccessorMethod]
718		public Pango.EllipsizeMode ellipsize { get; set; }
719		[NoAccessorMethod]
720		public double height { get; set; }
721		[NoAccessorMethod]
722		public string text { owned get; set; }
723		[NoAccessorMethod]
724		public bool use_markup { get; set; }
725		[NoAccessorMethod]
726		public double width { get; set; }
727		[NoAccessorMethod]
728		public Pango.WrapMode wrap { get; set; }
729		[NoAccessorMethod]
730		public double x { get; set; }
731		[NoAccessorMethod]
732		public double y { get; set; }
733	}
734	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_text_model_get_type ()")]
735	public class CanvasTextModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
736		public Goo.CanvasTextData text_data;
737		[CCode (has_construct_function = false, type = "GooCanvasItemModel*")]
738		public CanvasTextModel (Goo.CanvasItemModel? parent, string string, double x, double y, double width, Goo.CanvasAnchorType anchor, ...);
739		[NoAccessorMethod]
740		public Pango.Alignment alignment { get; set; }
741		[NoAccessorMethod]
742		public Goo.CanvasAnchorType anchor { get; set; }
743		[NoAccessorMethod]
744		public Pango.EllipsizeMode ellipsize { get; set; }
745		[NoAccessorMethod]
746		public double height { get; set; }
747		[NoAccessorMethod]
748		public string text { owned get; set; }
749		[NoAccessorMethod]
750		public bool use_markup { get; set; }
751		[NoAccessorMethod]
752		public double width { get; set; }
753		[NoAccessorMethod]
754		public Pango.WrapMode wrap { get; set; }
755		[NoAccessorMethod]
756		public double x { get; set; }
757		[NoAccessorMethod]
758		public double y { get; set; }
759	}
760	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_widget_get_type ()")]
761	public class CanvasWidget : Goo.CanvasItemSimple, Goo.CanvasItem {
762		[CCode (has_construct_function = false, type = "GooCanvasItem*")]
763		public CanvasWidget (Goo.CanvasItem? parent, Gtk.Widget widget, double x, double y, double width, double height, ...);
764		[NoAccessorMethod]
765		public Goo.CanvasAnchorType anchor { get; set; }
766		[NoAccessorMethod]
767		public double height { get; set; }
768		[NoAccessorMethod]
769		public Gtk.Widget widget { owned get; set; }
770		[NoAccessorMethod]
771		public double width { get; set; }
772		[NoAccessorMethod]
773		public double x { get; set; }
774		[NoAccessorMethod]
775		public double y { get; set; }
776	}
777	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_widget_accessible_factory_get_type ()")]
778	public class CanvasWidgetAccessibleFactory : Atk.ObjectFactory {
779		[CCode (has_construct_function = false)]
780		protected CanvasWidgetAccessibleFactory ();
781	}
782	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_get_type ()")]
783	public interface CanvasItem : GLib.Object {
784		public abstract void add_child (Goo.CanvasItem child, int position);
785		public abstract void allocate_area (Cairo.Context cr, Goo.CanvasBounds requested_area, Goo.CanvasBounds allocated_area, double x_offset, double y_offset);
786		public void animate (double x, double y, double scale, double degrees, bool absolute, int duration, int step_time, Goo.CanvasAnimateType type);
787		public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass iclass, string property_name);
788		public static void class_install_child_property (GLib.ObjectClass iclass, uint property_id, GLib.ParamSpec pspec);
789		[CCode (array_length_pos = 1.1, array_length_type = "guint")]
790		public static (unowned GLib.ParamSpec)[] class_list_child_properties (GLib.ObjectClass iclass);
791		public void ensure_updated ();
792		public int find_child (Goo.CanvasItem child);
793		public abstract void get_bounds (out Goo.CanvasBounds bounds);
794		public abstract unowned Goo.Canvas get_canvas ();
795		public abstract unowned Goo.CanvasItem get_child (int child_num);
796		public void get_child_properties (Goo.CanvasItem child, ...);
797		public void get_child_properties_valist (Goo.CanvasItem child, va_list var_args);
798		[NoWrapper]
799		public abstract void get_child_property (Goo.CanvasItem child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
800		public abstract bool get_is_static ();
801		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);
802		public abstract unowned Goo.CanvasItemModel get_model ();
803		public abstract int get_n_children ();
804		public abstract unowned Goo.CanvasItem get_parent ();
805		public abstract bool get_requested_area (Cairo.Context cr, Goo.CanvasBounds requested_area);
806		[Version (since = "2.0.1")]
807		public abstract bool get_requested_area_for_width (Cairo.Context cr, double width, Goo.CanvasBounds requested_area);
808		public abstract double get_requested_height (Cairo.Context cr, double width);
809		public bool get_simple_transform (out double x, out double y, out double scale, out double rotation);
810		public abstract unowned Goo.CanvasStyle get_style ();
811		public abstract bool get_transform (out Cairo.Matrix transform);
812		public abstract bool get_transform_for_child (Goo.CanvasItem child, out Cairo.Matrix transform);
813		public bool is_container ();
814		public abstract bool is_visible ();
815		public void lower (Goo.CanvasItem? below);
816		public abstract void move_child (int old_position, int new_position);
817		public abstract void paint (Cairo.Context cr, Goo.CanvasBounds bounds, double scale);
818		public void raise (Goo.CanvasItem? above);
819		public void remove ();
820		public abstract void remove_child (int child_num);
821		public abstract void request_update ();
822		public void rotate (double degrees, double cx, double cy);
823		public void scale (double sx, double sy);
824		public abstract void set_canvas (Goo.Canvas canvas);
825		public void set_child_properties (Goo.CanvasItem child, ...);
826		public void set_child_properties_valist (Goo.CanvasItem child, va_list var_args);
827		[NoWrapper]
828		public abstract void set_child_property (Goo.CanvasItem child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
829		public abstract void set_is_static (bool is_static);
830		public abstract void set_model (Goo.CanvasItemModel model);
831		public abstract void set_parent (Goo.CanvasItem parent);
832		public void set_simple_transform (double x, double y, double scale, double rotation);
833		public abstract void set_style (Goo.CanvasStyle style);
834		public abstract void set_transform (Cairo.Matrix? transform);
835		public void skew_x (double degrees, double cx, double cy);
836		public void skew_y (double degrees, double cx, double cy);
837		public void stop_animation ();
838		public void translate (double tx, double ty);
839		public abstract void update (bool entire_tree, Cairo.Context cr, Goo.CanvasBounds bounds);
840		[NoAccessorMethod]
841		public abstract bool can_focus { get; set; }
842		[NoAccessorMethod]
843		public abstract string description { owned get; set; }
844		public abstract Goo.CanvasItem parent { get; set; }
845		[NoAccessorMethod]
846		public abstract Goo.CanvasPointerEvents pointer_events { get; set; }
847		[NoAccessorMethod]
848		public abstract string title { owned get; set; }
849		[NoAccessorMethod]
850		public abstract string tooltip { owned get; set; }
851		[NoAccessorMethod]
852		public abstract Cairo.Matrix? transform { owned get; set; }
853		[NoAccessorMethod]
854		public abstract Goo.CanvasItemVisibility visibility { get; set; }
855		[NoAccessorMethod]
856		public abstract double visibility_threshold { get; set; }
857		public virtual signal void animation_finished (bool stopped);
858		public virtual signal bool button_press_event (Goo.CanvasItem target, Gdk.EventButton event);
859		public virtual signal bool button_release_event (Goo.CanvasItem target, Gdk.EventButton event);
860		public virtual signal void child_notify (GLib.ParamSpec pspec);
861		public virtual signal bool enter_notify_event (Goo.CanvasItem target, Gdk.EventCrossing event);
862		public virtual signal bool focus_in_event (Goo.CanvasItem target, Gdk.EventFocus event);
863		public virtual signal bool focus_out_event (Goo.CanvasItem target, Gdk.EventFocus event);
864		public virtual signal bool grab_broken_event (Goo.CanvasItem target, Gdk.EventGrabBroken event);
865		public virtual signal bool key_press_event (Goo.CanvasItem target, Gdk.EventKey event);
866		public virtual signal bool key_release_event (Goo.CanvasItem target, Gdk.EventKey event);
867		public virtual signal bool leave_notify_event (Goo.CanvasItem target, Gdk.EventCrossing event);
868		public virtual signal bool motion_notify_event (Goo.CanvasItem target, Gdk.EventMotion event);
869		public virtual signal bool query_tooltip (double x, double y, bool keyboard_tooltip, Gtk.Tooltip tooltip);
870		public virtual signal bool scroll_event (Goo.CanvasItem target, Gdk.EventScroll event);
871	}
872	[CCode (cheader_filename = "goocanvas.h", type_id = "goo_canvas_item_model_get_type ()")]
873	public interface CanvasItemModel : GLib.Object {
874		public abstract void add_child (Goo.CanvasItemModel child, int position);
875		public void animate (double x, double y, double scale, double degrees, bool absolute, int duration, int step_time, Goo.CanvasAnimateType type);
876		public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass mclass, string property_name);
877		public static void class_install_child_property (GLib.ObjectClass mclass, uint property_id, GLib.ParamSpec pspec);
878		[CCode (array_length_pos = 1.1, array_length_type = "guint")]
879		public static (unowned GLib.ParamSpec)[] class_list_child_properties (GLib.ObjectClass mclass);
880		[NoWrapper]
881		public abstract unowned Goo.CanvasItem create_item (Goo.Canvas canvas);
882		public int find_child (Goo.CanvasItemModel child);
883		public abstract unowned Goo.CanvasItemModel get_child (int child_num);
884		public void get_child_properties (Goo.CanvasItemModel child, ...);
885		public void get_child_properties_valist (Goo.CanvasItemModel child, va_list var_args);
886		[NoWrapper]
887		public abstract void get_child_property (Goo.CanvasItemModel child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
888		public abstract int get_n_children ();
889		public abstract unowned Goo.CanvasItemModel get_parent ();
890		public bool get_simple_transform (out double x, out double y, out double scale, out double rotation);
891		public abstract unowned Goo.CanvasStyle get_style ();
892		public abstract bool get_transform (out Cairo.Matrix transform);
893		public bool is_container ();
894		public void lower (Goo.CanvasItemModel? below);
895		public abstract void move_child (int old_position, int new_position);
896		public void raise (Goo.CanvasItemModel? above);
897		public void remove ();
898		public abstract void remove_child (int child_num);
899		public void rotate (double degrees, double cx, double cy);
900		public void scale (double sx, double sy);
901		public void set_child_properties (Goo.CanvasItemModel child, ...);
902		public void set_child_properties_valist (Goo.CanvasItemModel child, va_list var_args);
903		[NoWrapper]
904		public abstract void set_child_property (Goo.CanvasItemModel child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
905		public abstract void set_parent (Goo.CanvasItemModel parent);
906		public void set_simple_transform (double x, double y, double scale, double rotation);
907		public abstract void set_style (Goo.CanvasStyle style);
908		public abstract void set_transform (Cairo.Matrix? transform);
909		public void skew_x (double degrees, double cx, double cy);
910		public void skew_y (double degrees, double cx, double cy);
911		public void stop_animation ();
912		public void translate (double tx, double ty);
913		[NoAccessorMethod]
914		public abstract bool can_focus { get; set; }
915		[NoAccessorMethod]
916		public abstract string description { owned get; set; }
917		public abstract Goo.CanvasItemModel parent { get; set; }
918		[NoAccessorMethod]
919		public abstract Goo.CanvasPointerEvents pointer_events { get; set; }
920		[NoAccessorMethod]
921		public abstract string title { owned get; set; }
922		[NoAccessorMethod]
923		public abstract string tooltip { owned get; set; }
924		[NoAccessorMethod]
925		public abstract Cairo.Matrix? transform { owned get; set; }
926		[NoAccessorMethod]
927		public abstract Goo.CanvasItemVisibility visibility { get; set; }
928		[NoAccessorMethod]
929		public abstract double visibility_threshold { get; set; }
930		public virtual signal void animation_finished (bool stopped);
931		public virtual signal void changed (bool recompute_bounds);
932		public virtual signal void child_added (int child_num);
933		public virtual signal void child_moved (int old_child_num, int new_child_num);
934		public virtual signal void child_notify (GLib.ParamSpec pspec);
935		public virtual signal void child_removed (int child_num);
936	}
937	[CCode (cheader_filename = "goocanvas.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "goo_canvas_bounds_get_type ()")]
938	public struct CanvasBounds {
939		public double x1;
940		public double y1;
941		public double x2;
942		public double y2;
943	}
944	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
945	public struct CanvasEllipseData {
946		public double center_x;
947		public double center_y;
948		public double radius_x;
949		public double radius_y;
950	}
951	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
952	public struct CanvasGridData {
953		public double x;
954		public double y;
955		public double width;
956		public double height;
957		public double x_step;
958		public double y_step;
959		public double x_offset;
960		public double y_offset;
961		public double horz_grid_line_width;
962		public double vert_grid_line_width;
963		public Cairo.Pattern? horz_grid_line_pattern;
964		public Cairo.Pattern? vert_grid_line_pattern;
965		public double border_width;
966		public Cairo.Pattern? border_pattern;
967		public uint show_horz_grid_lines;
968		public uint show_vert_grid_lines;
969		public uint vert_grid_lines_on_top;
970	}
971	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
972	public struct CanvasImageData {
973		public Cairo.Pattern? pattern;
974		public double x;
975		public double y;
976		public double width;
977		public double height;
978	}
979	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
980	public struct CanvasItemSimpleData {
981		public Goo.CanvasStyle style;
982		public Cairo.Matrix? transform;
983		public GLib.Array<Goo.CanvasPathCommand?> clip_path_commands;
984		public string tooltip;
985		public double visibility_threshold;
986		public uint visibility;
987		public uint pointer_events;
988		public uint can_focus;
989		public uint own_style;
990		public uint clip_fill_rule;
991		public uint is_static;
992		public uint cache_setting;
993		public uint has_tooltip;
994	}
995	[CCode (cheader_filename = "goocanvas.h")]
996	public struct CanvasPathCommand {
997		[CCode (cname = "simple.type")]
998		public uint simple_type;
999		[CCode (cname = "simple.relative")]
1000		public uint simple_relative;
1001		[CCode (cname = "simple.x")]
1002		public double simple_x;
1003		[CCode (cname = "simple.y")]
1004		public double simple_y;
1005		[CCode (cname = "curve.type")]
1006		public uint curve_type;
1007		[CCode (cname = "curve.relative")]
1008		public uint curve_relative;
1009		[CCode (cname = "curve.x")]
1010		public double curve_x;
1011		[CCode (cname = "curve.y")]
1012		public double curve_y;
1013		[CCode (cname = "curve.x1")]
1014		public double curve_x1;
1015		[CCode (cname = "curve.y1")]
1016		public double curve_y1;
1017		[CCode (cname = "curve.x2")]
1018		public double curve_x2;
1019		[CCode (cname = "curve.y2")]
1020		public double curve_y2;
1021		[CCode (cname = "arc.type")]
1022		public uint arc_type;
1023		[CCode (cname = "arc.relative")]
1024		public uint arc_relative;
1025		[CCode (cname = "arc.large_arc_flag")]
1026		public uint arc_large_arc_flag;
1027		[CCode (cname = "arc.sweep_flag")]
1028		public uint arc_sweep_flag;
1029		[CCode (cname = "arc.rx")]
1030		public double arc_rx;
1031		[CCode (cname = "arc.ry")]
1032		public double arc_ry;
1033		[CCode (cname = "arc.x_axis_rotation")]
1034		public double arc_x_axis_rotation;
1035		[CCode (cname = "arc.x")]
1036		public double arc_x;
1037		[CCode (cname = "arc.y")]
1038		public double arc_y;
1039	}
1040	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1041	public struct CanvasPathData {
1042		public GLib.Array<Goo.CanvasPathCommand?> path_commands;
1043	}
1044	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1045	public struct CanvasPolylineArrowData {
1046		public double arrow_width;
1047		public double arrow_length;
1048		public double arrow_tip_length;
1049		[CCode (array_length = false)]
1050		public double line_start[2];
1051		[CCode (array_length = false)]
1052		public double line_end[2];
1053		[CCode (array_length = false)]
1054		public double start_arrow_coords[10];
1055		[CCode (array_length = false)]
1056		public double end_arrow_coords[10];
1057	}
1058	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1059	public struct CanvasPolylineData {
1060		public double coords;
1061		public Goo.CanvasPolylineArrowData? arrow_data;
1062		public uint num_points;
1063		public uint close_path;
1064		public uint start_arrow;
1065		public uint end_arrow;
1066		public uint reconfigure_arrows;
1067	}
1068	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1069	public struct CanvasRectData {
1070		public double x;
1071		public double y;
1072		public double width;
1073		public double height;
1074		public double radius_x;
1075		public double radius_y;
1076	}
1077	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1078	public struct CanvasStyleProperty {
1079		public GLib.Quark id;
1080		public GLib.Value value;
1081	}
1082	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1083	public struct CanvasTableData {
1084		public double width;
1085		public double height;
1086		[CCode (array_length = false)]
1087		public Goo.CanvasTableDimension dimensions[2];
1088		public double border_width;
1089		public GLib.Array<void*> children;
1090		public Goo.CanvasTableLayoutData? layout_data;
1091	}
1092	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1093	public struct CanvasTableDimension {
1094		public int size;
1095		public double default_spacing;
1096		public double spacings;
1097		public uint homogeneous;
1098	}
1099	[CCode (cheader_filename = "goocanvas.h", has_type_id = false)]
1100	public struct CanvasTextData {
1101		public string text;
1102		public double x;
1103		public double y;
1104		public double width;
1105		public uint use_markup;
1106		public uint anchor;
1107		public uint alignment;
1108		public uint ellipsize;
1109		public uint wrap;
1110	}
1111	[CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_ANTIALIAS_", type_id = "goo_cairo_antialias_get_type ()")]
1112	public enum CairoAntialias {
1113		DEFAULT,
1114		NONE,
1115		GRAY,
1116		SUBPIXEL
1117	}
1118	[CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_FILL_RULE_", type_id = "goo_cairo_fill_rule_get_type ()")]
1119	public enum CairoFillRule {
1120		WINDING,
1121		EVEN_ODD
1122	}
1123	[CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_HINT_METRICS_", type_id = "goo_cairo_hint_metrics_get_type ()")]
1124	public enum CairoHintMetrics {
1125		DEFAULT,
1126		OFF,
1127		ON
1128	}
1129	[CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_LINE_CAP_", type_id = "goo_cairo_line_cap_get_type ()")]
1130	public enum CairoLineCap {
1131		BUTT,
1132		ROUND,
1133		SQUARE
1134	}
1135	[CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_LINE_JOIN_", type_id = "goo_cairo_line_join_get_type ()")]
1136	public enum CairoLineJoin {
1137		MITER,
1138		ROUND,
1139		BEVEL
1140	}
1141	[CCode (cheader_filename = "goocanvas.h", cprefix = "CAIRO_OPERATOR_", type_id = "goo_cairo_operator_get_type ()")]
1142	public enum CairoOperator {
1143		CLEAR,
1144		SOURCE,
1145		OVER,
1146		IN,
1147		OUT,
1148		ATOP,
1149		DEST,
1150		DEST_OVER,
1151		DEST_IN,
1152		DEST_OUT,
1153		DEST_ATOP,
1154		XOR,
1155		ADD,
1156		SATURATE
1157	}
1158	[CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_ANCHOR_", type_id = "goo_canvas_anchor_type_get_type ()")]
1159	public enum CanvasAnchorType {
1160		CENTER,
1161		NORTH,
1162		NORTH_WEST,
1163		NORTH_EAST,
1164		SOUTH,
1165		SOUTH_WEST,
1166		SOUTH_EAST,
1167		WEST,
1168		EAST,
1169		N,
1170		NW,
1171		NE,
1172		S,
1173		SW,
1174		SE,
1175		W,
1176		E
1177	}
1178	[CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_ANIMATE_", type_id = "goo_canvas_animate_type_get_type ()")]
1179	public enum CanvasAnimateType {
1180		FREEZE,
1181		RESET,
1182		RESTART,
1183		BOUNCE
1184	}
1185	[CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_ITEM_", type_id = "goo_canvas_item_visibility_get_type ()")]
1186	public enum CanvasItemVisibility {
1187		HIDDEN,
1188		INVISIBLE,
1189		VISIBLE,
1190		VISIBLE_ABOVE_THRESHOLD
1191	}
1192	[CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_PATH_", type_id = "goo_canvas_path_command_type_get_type ()")]
1193	public enum CanvasPathCommandType {
1194		MOVE_TO,
1195		CLOSE_PATH,
1196		LINE_TO,
1197		HORIZONTAL_LINE_TO,
1198		VERTICAL_LINE_TO,
1199		CURVE_TO,
1200		SMOOTH_CURVE_TO,
1201		QUADRATIC_CURVE_TO,
1202		SMOOTH_QUADRATIC_CURVE_TO,
1203		ELLIPTICAL_ARC
1204	}
1205	[CCode (cheader_filename = "goocanvas.h", cprefix = "GOO_CANVAS_EVENTS_", type_id = "goo_canvas_pointer_events_get_type ()")]
1206	[Flags]
1207	public enum CanvasPointerEvents {
1208		VISIBLE_MASK,
1209		PAINTED_MASK,
1210		FILL_MASK,
1211		STROKE_MASK,
1212		NONE,
1213		VISIBLE_PAINTED,
1214		VISIBLE_FILL,
1215		VISIBLE_STROKE,
1216		VISIBLE,
1217		PAINTED,
1218		FILL,
1219		STROKE,
1220		ALL
1221	}
1222	[CCode (cheader_filename = "goocanvas.h", cname = "GOO_CANVAS_POLYLINE_NUM_ARROW_POINTS")]
1223	public const int NUM_ARROW_POINTS;
1224}
1225