goocanvas 0.90.6-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +87 -0
- data/README +37 -0
- data/Rakefile +14 -0
- data/ext/goocanvas/depend +5 -0
- data/ext/goocanvas/extconf.rb +66 -0
- data/ext/goocanvas/goocanvas.def +2 -0
- data/ext/goocanvas/rbgoocairo.c +74 -0
- data/ext/goocanvas/rbgoocanvas.c +236 -0
- data/ext/goocanvas/rbgoocanvas.h +66 -0
- data/ext/goocanvas/rbgoocanvasellipse.c +50 -0
- data/ext/goocanvas/rbgoocanvasgroup.c +41 -0
- data/ext/goocanvas/rbgoocanvasimage.c +45 -0
- data/ext/goocanvas/rbgoocanvasitem.c +358 -0
- data/ext/goocanvas/rbgoocanvaspolyline.c +102 -0
- data/ext/goocanvas/rbgoocanvasrect.c +47 -0
- data/ext/goocanvas/rbgoocanvasstyle.c +61 -0
- data/ext/goocanvas/rbgoocanvastable.c +41 -0
- data/ext/goocanvas/rbgoocanvastext.c +58 -0
- data/ext/goocanvas/rbgoocanvaswidget.c +48 -0
- data/ext/goocanvas/rbgooutils.c +44 -0
- data/extconf.rb +49 -0
- data/lib/1.8/goocanvas.so +0 -0
- data/lib/1.9/goocanvas.so +0 -0
- data/lib/goocanvas.rb +145 -0
- data/sample/demo-arrowhead.rb +315 -0
- data/sample/demo-fifteen.rb +218 -0
- data/sample/demo-primitives.rb +720 -0
- data/sample/demo.rb +84 -0
- data/sample/flower.png +0 -0
- data/sample/scalability-demo.rb +130 -0
- data/sample/simple-demo.rb +35 -0
- data/sample/table-demo.rb +137 -0
- data/sample/toroid.png +0 -0
- data/sample/units-demo.rb +80 -0
- data/sample/widgets-demo.rb +197 -0
- data/vendor/local/bin/libgoocanvas-3.dll +0 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvas.h +334 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasatk.h +22 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasellipse.h +120 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasenumtypes.h +33 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasgrid.h +153 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasgroup.h +109 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasimage.h +121 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasitem.h +479 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasitemmodel.h +275 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasitemsimple.h +247 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasmarshal.h +61 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvaspath.h +116 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvaspolyline.h +176 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasprivate.h +59 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasrect.h +121 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasstyle.h +110 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvastable.h +139 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvastext.h +133 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasutils.h +333 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvaswidget.h +66 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/stamp-goocanvasmarshal.h +1 -0
- data/vendor/local/lib/libgoocanvas.a +0 -0
- data/vendor/local/lib/libgoocanvas.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/goocanvas.pc +13 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvas.html +1982 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasEllipse.html +269 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasEllipseModel.html +274 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGrid.html +469 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGridModel.html +476 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGroup.html +183 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGroupModel.html +184 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasImage.html +247 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasImageModel.html +252 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItem.html +3014 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItemModel.html +1764 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItemModelSimple.html +298 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItemSimple.html +809 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPath.html +279 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPathModel.html +280 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPolyline.html +369 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPolylineModel.html +375 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasRect.html +247 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasRectModel.html +252 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasStyle.html +489 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasTable.html +452 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasTableModel.html +452 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasText.html +324 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasTextModel.html +287 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasWidget.html +266 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch01.html +53 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch02.html +50 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch03.html +62 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch04.html +60 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch05.html +33 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-GooCanvas-Types.html +815 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-architecture.html +157 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-coordinates.html +106 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-creating-items.html +420 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-model-view-canvas.html +246 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-overview.html +106 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-simple-canvas.html +238 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-wysiwyg.html +84 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas.devhelp +608 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas.devhelp2 +639 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/index.html +138 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/index.sgml +814 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/style.css +257 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/up.png +0 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/dummy.sgml +0 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvas-unused.sgml +0 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvas.sgml +536 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasellipse.sgml +82 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasellipsemodel.sgml +82 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgrid.sgml +176 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgridmodel.sgml +176 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgroup.sgml +58 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgroupmodel.sgml +58 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasimage.sgml +81 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasimagemodel.sgml +81 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitem.sgml +773 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitemmodel.sgml +490 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitemmodelsimple.sgml +135 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitemsimple.sgml +254 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspath.sgml +64 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspathmodel.sgml +64 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspolyline.sgml +109 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspolylinemodel.sgml +109 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasrect.sgml +72 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasrectmodel.sgml +72 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasstyle.sgml +186 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastable.sgml +158 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastablemodel.sgml +158 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastext.sgml +103 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastextmodel.sgml +93 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasutils.sgml +241 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaswidget.sgml +73 -0
- metadata +218 -0
@@ -0,0 +1,275 @@
|
|
1
|
+
/*
|
2
|
+
* GooCanvas. Copyright (C) 2005 Damon Chaplin.
|
3
|
+
* Released under the GNU LGPL license. See COPYING for details.
|
4
|
+
*
|
5
|
+
* goocanvasitemmodel.h - interface for canvas item models.
|
6
|
+
*/
|
7
|
+
#ifndef __GOO_CANVAS_ITEM_MODEL_H__
|
8
|
+
#define __GOO_CANVAS_ITEM_MODEL_H__
|
9
|
+
|
10
|
+
#include <gtk/gtk.h>
|
11
|
+
#include "goocanvasitem.h"
|
12
|
+
|
13
|
+
G_BEGIN_DECLS
|
14
|
+
|
15
|
+
|
16
|
+
#define GOO_TYPE_CANVAS_ITEM_MODEL (goo_canvas_item_model_get_type ())
|
17
|
+
#define GOO_CANVAS_ITEM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_ITEM_MODEL, GooCanvasItemModel))
|
18
|
+
#define GOO_IS_CANVAS_ITEM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_ITEM_MODEL))
|
19
|
+
#define GOO_CANVAS_ITEM_MODEL_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GOO_TYPE_CANVAS_ITEM_MODEL, GooCanvasItemModelIface))
|
20
|
+
|
21
|
+
|
22
|
+
/**
|
23
|
+
* GooCanvasItemModel
|
24
|
+
*
|
25
|
+
* #GooCanvasItemModel is a typedef used for objects that implement the
|
26
|
+
* #GooCanvasItemModel interface.
|
27
|
+
*
|
28
|
+
* (There is no actual #GooCanvasItemModel struct, since it is only an interface.
|
29
|
+
* But using '#GooCanvasItemModel' is more helpful than using '#GObject'.)
|
30
|
+
*/
|
31
|
+
/* The typedef is in goocanvasitem.h */
|
32
|
+
/*typedef struct _GooCanvasItemModel GooCanvasItemModel;*/
|
33
|
+
|
34
|
+
|
35
|
+
/**
|
36
|
+
* GooCanvasItemModelIface
|
37
|
+
* @get_n_children: returns the number of children of the model.
|
38
|
+
* @get_child: returns the child at the given index.
|
39
|
+
* @add_child: adds a child.
|
40
|
+
* @move_child: moves a child up or down the stacking order.
|
41
|
+
* @remove_child: removes a child.
|
42
|
+
* @get_child_property: gets a child property of a given child model,
|
43
|
+
* e.g. the "row" or "column" property of a model in a #GooCanvasTableModel.
|
44
|
+
* @set_child_property: sets a child property for a given child model.
|
45
|
+
* @get_parent: gets the model's parent.
|
46
|
+
* @set_parent: sets the model's parent.
|
47
|
+
* @create_item: creates a default canvas item to view the model.
|
48
|
+
* @get_transform: gets the model's transformation matrix.
|
49
|
+
* @set_transform: sets the model's transformation matrix.
|
50
|
+
* @get_style: gets the model's style.
|
51
|
+
* @set_style: sets the model's style.
|
52
|
+
* @child_added: signal emitted when a child is added.
|
53
|
+
* @child_moved: signal emitted when a child is moved in the stacking order.
|
54
|
+
* @child_removed: signal emitted when a child is removed.
|
55
|
+
* @changed: signal emitted when the model has changed.
|
56
|
+
* @child_notify: signal emitted when a child property has changed.
|
57
|
+
* @animation_finished: signal emitted when the model's animation has finished.
|
58
|
+
*
|
59
|
+
* #GooCanvasItemModelIFace holds the virtual methods that make up the
|
60
|
+
* #GooCanvasItemModel interface.
|
61
|
+
*
|
62
|
+
* Simple item models only need to implement the get_parent(), set_parent()
|
63
|
+
* and create_item() methods.
|
64
|
+
*
|
65
|
+
* Items that support transforms should also implement get_transform() and
|
66
|
+
* set_transform(). Items that support styles should implement get_style()
|
67
|
+
* and set_style().
|
68
|
+
*
|
69
|
+
* Container items must implement get_n_children() and get_child().
|
70
|
+
* Containers that support dynamic changes to their children should implement
|
71
|
+
* add_child(), move_child() and remove_child().
|
72
|
+
* Layout containers like #GooCanvasTable may implement
|
73
|
+
* get_child_property() and set_child_property().
|
74
|
+
*/
|
75
|
+
typedef struct _GooCanvasItemModelIface GooCanvasItemModelIface;
|
76
|
+
|
77
|
+
struct _GooCanvasItemModelIface
|
78
|
+
{
|
79
|
+
/*< private >*/
|
80
|
+
GTypeInterface base_iface;
|
81
|
+
|
82
|
+
/*< public >*/
|
83
|
+
/* Virtual methods that group models must implement. */
|
84
|
+
gint (* get_n_children) (GooCanvasItemModel *model);
|
85
|
+
GooCanvasItemModel* (* get_child) (GooCanvasItemModel *model,
|
86
|
+
gint child_num);
|
87
|
+
|
88
|
+
/* Virtual methods that group models may implement. */
|
89
|
+
void (* add_child) (GooCanvasItemModel *model,
|
90
|
+
GooCanvasItemModel *child,
|
91
|
+
gint position);
|
92
|
+
void (* move_child) (GooCanvasItemModel *model,
|
93
|
+
gint old_position,
|
94
|
+
gint new_position);
|
95
|
+
void (* remove_child) (GooCanvasItemModel *model,
|
96
|
+
gint child_num);
|
97
|
+
void (* get_child_property) (GooCanvasItemModel *model,
|
98
|
+
GooCanvasItemModel *child,
|
99
|
+
guint property_id,
|
100
|
+
GValue *value,
|
101
|
+
GParamSpec *pspec);
|
102
|
+
void (* set_child_property) (GooCanvasItemModel *item,
|
103
|
+
GooCanvasItemModel *child,
|
104
|
+
guint property_id,
|
105
|
+
const GValue *value,
|
106
|
+
GParamSpec *pspec);
|
107
|
+
|
108
|
+
/* Virtual methods that all item models must implement. */
|
109
|
+
GooCanvasItemModel* (* get_parent) (GooCanvasItemModel *model);
|
110
|
+
void (* set_parent) (GooCanvasItemModel *model,
|
111
|
+
GooCanvasItemModel *parent);
|
112
|
+
|
113
|
+
GooCanvasItem* (* create_item) (GooCanvasItemModel *model,
|
114
|
+
GooCanvas *canvas);
|
115
|
+
|
116
|
+
/* Virtual methods that all item models may implement. */
|
117
|
+
gboolean (* get_transform) (GooCanvasItemModel *model,
|
118
|
+
cairo_matrix_t *transform);
|
119
|
+
void (* set_transform) (GooCanvasItemModel *model,
|
120
|
+
const cairo_matrix_t *transform);
|
121
|
+
GooCanvasStyle* (* get_style) (GooCanvasItemModel *model);
|
122
|
+
void (* set_style) (GooCanvasItemModel *model,
|
123
|
+
GooCanvasStyle *style);
|
124
|
+
|
125
|
+
/* Signals. */
|
126
|
+
void (* child_added) (GooCanvasItemModel *model,
|
127
|
+
gint child_num);
|
128
|
+
void (* child_moved) (GooCanvasItemModel *model,
|
129
|
+
gint old_child_num,
|
130
|
+
gint new_child_num);
|
131
|
+
void (* child_removed) (GooCanvasItemModel *model,
|
132
|
+
gint child_num);
|
133
|
+
void (* changed) (GooCanvasItemModel *model,
|
134
|
+
gboolean recompute_bounds);
|
135
|
+
void (* child_notify) (GooCanvasItemModel *model,
|
136
|
+
GParamSpec *pspec);
|
137
|
+
|
138
|
+
void (* animation_finished) (GooCanvasItemModel *model,
|
139
|
+
gboolean stopped);
|
140
|
+
|
141
|
+
/*< private >*/
|
142
|
+
|
143
|
+
/* Padding for future expansion */
|
144
|
+
void (*_goo_canvas_reserved1) (void);
|
145
|
+
void (*_goo_canvas_reserved2) (void);
|
146
|
+
void (*_goo_canvas_reserved3) (void);
|
147
|
+
void (*_goo_canvas_reserved4) (void);
|
148
|
+
void (*_goo_canvas_reserved5) (void);
|
149
|
+
void (*_goo_canvas_reserved6) (void);
|
150
|
+
void (*_goo_canvas_reserved7) (void);
|
151
|
+
};
|
152
|
+
|
153
|
+
|
154
|
+
GType goo_canvas_item_model_get_type (void) G_GNUC_CONST;
|
155
|
+
|
156
|
+
|
157
|
+
/*
|
158
|
+
* Group functions - these should only be called on container models.
|
159
|
+
*/
|
160
|
+
gint goo_canvas_item_model_get_n_children (GooCanvasItemModel *model);
|
161
|
+
GooCanvasItemModel* goo_canvas_item_model_get_child (GooCanvasItemModel *model,
|
162
|
+
gint child_num);
|
163
|
+
void goo_canvas_item_model_add_child (GooCanvasItemModel *model,
|
164
|
+
GooCanvasItemModel *child,
|
165
|
+
gint position);
|
166
|
+
void goo_canvas_item_model_move_child (GooCanvasItemModel *model,
|
167
|
+
gint old_position,
|
168
|
+
gint new_position);
|
169
|
+
void goo_canvas_item_model_remove_child (GooCanvasItemModel *model,
|
170
|
+
gint child_num);
|
171
|
+
gint goo_canvas_item_model_find_child (GooCanvasItemModel *model,
|
172
|
+
GooCanvasItemModel *child);
|
173
|
+
|
174
|
+
void goo_canvas_item_model_get_child_property (GooCanvasItemModel *model,
|
175
|
+
GooCanvasItemModel *child,
|
176
|
+
const gchar *property_name,
|
177
|
+
GValue *value);
|
178
|
+
void goo_canvas_item_model_set_child_property (GooCanvasItemModel *model,
|
179
|
+
GooCanvasItemModel *child,
|
180
|
+
const gchar *property_name,
|
181
|
+
const GValue *value);
|
182
|
+
void goo_canvas_item_model_get_child_properties (GooCanvasItemModel *model,
|
183
|
+
GooCanvasItemModel *child,
|
184
|
+
...) G_GNUC_NULL_TERMINATED;
|
185
|
+
void goo_canvas_item_model_set_child_properties (GooCanvasItemModel *model,
|
186
|
+
GooCanvasItemModel *child,
|
187
|
+
...) G_GNUC_NULL_TERMINATED;
|
188
|
+
void goo_canvas_item_model_get_child_properties_valist (GooCanvasItemModel *model,
|
189
|
+
GooCanvasItemModel *child,
|
190
|
+
va_list var_args);
|
191
|
+
void goo_canvas_item_model_set_child_properties_valist (GooCanvasItemModel *model,
|
192
|
+
GooCanvasItemModel *child,
|
193
|
+
va_list var_args);
|
194
|
+
|
195
|
+
|
196
|
+
/*
|
197
|
+
* Model functions - these are safe to call on all models.
|
198
|
+
*/
|
199
|
+
GooCanvasItemModel* goo_canvas_item_model_get_parent (GooCanvasItemModel *model);
|
200
|
+
void goo_canvas_item_model_set_parent (GooCanvasItemModel *model,
|
201
|
+
GooCanvasItemModel *parent);
|
202
|
+
void goo_canvas_item_model_remove (GooCanvasItemModel *model);
|
203
|
+
gboolean goo_canvas_item_model_is_container (GooCanvasItemModel *model);
|
204
|
+
|
205
|
+
void goo_canvas_item_model_raise (GooCanvasItemModel *model,
|
206
|
+
GooCanvasItemModel *above);
|
207
|
+
void goo_canvas_item_model_lower (GooCanvasItemModel *model,
|
208
|
+
GooCanvasItemModel *below);
|
209
|
+
|
210
|
+
gboolean goo_canvas_item_model_get_transform (GooCanvasItemModel *model,
|
211
|
+
cairo_matrix_t *transform);
|
212
|
+
void goo_canvas_item_model_set_transform (GooCanvasItemModel *model,
|
213
|
+
const cairo_matrix_t *transform);
|
214
|
+
gboolean goo_canvas_item_model_get_simple_transform (GooCanvasItemModel *model,
|
215
|
+
gdouble *x,
|
216
|
+
gdouble *y,
|
217
|
+
gdouble *scale,
|
218
|
+
gdouble *rotation);
|
219
|
+
void goo_canvas_item_model_set_simple_transform (GooCanvasItemModel *model,
|
220
|
+
gdouble x,
|
221
|
+
gdouble y,
|
222
|
+
gdouble scale,
|
223
|
+
gdouble rotation);
|
224
|
+
|
225
|
+
void goo_canvas_item_model_translate (GooCanvasItemModel *model,
|
226
|
+
gdouble tx,
|
227
|
+
gdouble ty);
|
228
|
+
void goo_canvas_item_model_scale (GooCanvasItemModel *model,
|
229
|
+
gdouble sx,
|
230
|
+
gdouble sy);
|
231
|
+
void goo_canvas_item_model_rotate (GooCanvasItemModel *model,
|
232
|
+
gdouble degrees,
|
233
|
+
gdouble cx,
|
234
|
+
gdouble cy);
|
235
|
+
void goo_canvas_item_model_skew_x (GooCanvasItemModel *model,
|
236
|
+
gdouble degrees,
|
237
|
+
gdouble cx,
|
238
|
+
gdouble cy);
|
239
|
+
void goo_canvas_item_model_skew_y (GooCanvasItemModel *model,
|
240
|
+
gdouble degrees,
|
241
|
+
gdouble cx,
|
242
|
+
gdouble cy);
|
243
|
+
|
244
|
+
GooCanvasStyle* goo_canvas_item_model_get_style (GooCanvasItemModel *model);
|
245
|
+
void goo_canvas_item_model_set_style (GooCanvasItemModel *model,
|
246
|
+
GooCanvasStyle *style);
|
247
|
+
|
248
|
+
void goo_canvas_item_model_animate (GooCanvasItemModel *model,
|
249
|
+
gdouble x,
|
250
|
+
gdouble y,
|
251
|
+
gdouble scale,
|
252
|
+
gdouble degrees,
|
253
|
+
gboolean absolute,
|
254
|
+
gint duration,
|
255
|
+
gint step_time,
|
256
|
+
GooCanvasAnimateType type);
|
257
|
+
void goo_canvas_item_model_stop_animation (GooCanvasItemModel *model);
|
258
|
+
|
259
|
+
|
260
|
+
/*
|
261
|
+
* Functions to support child properties when implementing new canvas items.
|
262
|
+
*/
|
263
|
+
void goo_canvas_item_model_class_install_child_property (GObjectClass *mclass,
|
264
|
+
guint property_id,
|
265
|
+
GParamSpec *pspec);
|
266
|
+
GParamSpec* goo_canvas_item_model_class_find_child_property (GObjectClass *mclass,
|
267
|
+
const gchar *property_name);
|
268
|
+
GParamSpec** goo_canvas_item_model_class_list_child_properties (GObjectClass *mclass,
|
269
|
+
guint *n_properties);
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
G_END_DECLS
|
274
|
+
|
275
|
+
#endif /* __GOO_CANVAS_ITEM_MODEL_H__ */
|
@@ -0,0 +1,247 @@
|
|
1
|
+
/*
|
2
|
+
* GooCanvas. Copyright (C) 2005-6 Damon Chaplin.
|
3
|
+
* Released under the GNU LGPL license. See COPYING for details.
|
4
|
+
*
|
5
|
+
* goocanvasitemsimple.h - abstract base class for simple items.
|
6
|
+
*/
|
7
|
+
#ifndef __GOO_CANVAS_ITEM_SIMPLE_H__
|
8
|
+
#define __GOO_CANVAS_ITEM_SIMPLE_H__
|
9
|
+
|
10
|
+
#include <gtk/gtk.h>
|
11
|
+
#include "goocanvasitem.h"
|
12
|
+
#include "goocanvasitemmodel.h"
|
13
|
+
#include "goocanvasstyle.h"
|
14
|
+
#include "goocanvasutils.h"
|
15
|
+
|
16
|
+
G_BEGIN_DECLS
|
17
|
+
|
18
|
+
|
19
|
+
/**
|
20
|
+
* GooCanvasItemSimpleData
|
21
|
+
* @style: the style to draw with.
|
22
|
+
* @transform: the transformation matrix of the item, or %NULL.
|
23
|
+
* @clip_path_commands: an array of #GooCanvasPathCommand specifying the clip
|
24
|
+
* path of the item, or %NULL.
|
25
|
+
* @tooltip: the item's tooltip.
|
26
|
+
* @visibility_threshold: the threshold scale setting at which to show the item
|
27
|
+
* (if the @visibility setting is set to %VISIBLE_ABOVE_THRESHOLD).
|
28
|
+
* @visibility: the #GooCanvasItemVisibility setting specifying whether the
|
29
|
+
* item is visible, invisible, or visible above a given canvas scale setting.
|
30
|
+
* @pointer_events: the #GooCanvasPointerEvents setting specifying the events
|
31
|
+
* the item should receive.
|
32
|
+
* @can_focus: if the item can take the keyboard focus.
|
33
|
+
* @own_style: if the item has its own style, rather than using its parent's.
|
34
|
+
* @clip_fill_rule: the #cairo_fill_rule_t setting specifying the fill rule
|
35
|
+
* used for the clip path.
|
36
|
+
* @is_static: if the item is static.
|
37
|
+
*
|
38
|
+
* This is the data common to both the model and view classes.
|
39
|
+
*/
|
40
|
+
typedef struct _GooCanvasItemSimpleData GooCanvasItemSimpleData;
|
41
|
+
struct _GooCanvasItemSimpleData
|
42
|
+
{
|
43
|
+
GooCanvasStyle *style;
|
44
|
+
cairo_matrix_t *transform;
|
45
|
+
GArray *clip_path_commands;
|
46
|
+
gchar *tooltip;
|
47
|
+
|
48
|
+
/*< public >*/
|
49
|
+
gdouble visibility_threshold;
|
50
|
+
guint visibility : 2;
|
51
|
+
guint pointer_events : 4;
|
52
|
+
guint can_focus : 1;
|
53
|
+
guint own_style : 1;
|
54
|
+
guint clip_fill_rule : 4;
|
55
|
+
guint is_static : 1;
|
56
|
+
|
57
|
+
/*< private >*/
|
58
|
+
/* We might use this in future for a cache setting - never/always/visible. */
|
59
|
+
guint cache_setting : 2;
|
60
|
+
/* We might need this for tooltips in future. */
|
61
|
+
guint has_tooltip : 1;
|
62
|
+
};
|
63
|
+
|
64
|
+
|
65
|
+
#define GOO_TYPE_CANVAS_ITEM_SIMPLE (goo_canvas_item_simple_get_type ())
|
66
|
+
#define GOO_CANVAS_ITEM_SIMPLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_ITEM_SIMPLE, GooCanvasItemSimple))
|
67
|
+
#define GOO_CANVAS_ITEM_SIMPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOO_TYPE_CANVAS_ITEM_SIMPLE, GooCanvasItemSimpleClass))
|
68
|
+
#define GOO_IS_CANVAS_ITEM_SIMPLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_ITEM_SIMPLE))
|
69
|
+
#define GOO_IS_CANVAS_ITEM_SIMPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOO_TYPE_CANVAS_ITEM_SIMPLE))
|
70
|
+
#define GOO_CANVAS_ITEM_SIMPLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOO_TYPE_CANVAS_ITEM_SIMPLE, GooCanvasItemSimpleClass))
|
71
|
+
|
72
|
+
|
73
|
+
typedef struct _GooCanvasItemSimple GooCanvasItemSimple;
|
74
|
+
typedef struct _GooCanvasItemSimpleClass GooCanvasItemSimpleClass;
|
75
|
+
|
76
|
+
typedef struct _GooCanvasItemModelSimple GooCanvasItemModelSimple;
|
77
|
+
|
78
|
+
/**
|
79
|
+
* GooCanvasItemSimple
|
80
|
+
* @canvas: the canvas.
|
81
|
+
* @parent: the parent item.
|
82
|
+
* @model: the item's model, if it has one.
|
83
|
+
* @simple_data: data that is common to both the model and view classes. If
|
84
|
+
* the canvas item has a model, this will point to the model's
|
85
|
+
* #GooCanvasItemSimpleData, otherwise the canvas item will have its own
|
86
|
+
* #GooCanvasItemSimpleData.
|
87
|
+
* @bounds: the bounds of the item, in device space.
|
88
|
+
* @need_update: if the item needs to recompute its bounds and redraw.
|
89
|
+
* @need_entire_subtree_update: if all descendants need to be updated.
|
90
|
+
*
|
91
|
+
* The #GooCanvasItemSimple-struct struct contains the basic data needed to
|
92
|
+
* implement canvas items.
|
93
|
+
*/
|
94
|
+
struct _GooCanvasItemSimple
|
95
|
+
{
|
96
|
+
/* <private> */
|
97
|
+
GObject parent_object;
|
98
|
+
|
99
|
+
/* <public> */
|
100
|
+
GooCanvas *canvas;
|
101
|
+
GooCanvasItem *parent;
|
102
|
+
GooCanvasItemModelSimple *model;
|
103
|
+
GooCanvasItemSimpleData *simple_data;
|
104
|
+
GooCanvasBounds bounds;
|
105
|
+
guint need_update : 1;
|
106
|
+
guint need_entire_subtree_update : 1;
|
107
|
+
|
108
|
+
/* <private> */
|
109
|
+
/* We might use this in future for things like a cache. */
|
110
|
+
gpointer priv;
|
111
|
+
};
|
112
|
+
|
113
|
+
/**
|
114
|
+
* GooCanvasItemSimpleClass
|
115
|
+
* @simple_create_path: simple subclasses that draw basic shapes and paths only
|
116
|
+
* need to override this one method. It creates the path for the item.
|
117
|
+
* All updating, painting and hit-testing is provided automatically by the
|
118
|
+
* #GooCanvasItemSimple class. (This method is used by the builtin
|
119
|
+
* #GooCanvasEllipse, #GooCanvasRect and #GooCanvasPath items.)
|
120
|
+
* More complicated subclasses must override @simple_update, @simple_paint and
|
121
|
+
* @simple_is_item_at instead.
|
122
|
+
* @simple_update: subclasses should override this to calculate their new
|
123
|
+
* bounds, in user space.
|
124
|
+
* @simple_paint: subclasses should override this to paint their item.
|
125
|
+
* @simple_is_item_at: subclasses should override this to do hit-testing.
|
126
|
+
*
|
127
|
+
* The #GooCanvasItemSimpleClass-struct struct contains several methods that
|
128
|
+
* subclasses can override.
|
129
|
+
*
|
130
|
+
* Simple items need only implement the create_path() method. More complex
|
131
|
+
* items must override the update(), paint() and is_item_at() methods instead.
|
132
|
+
*/
|
133
|
+
struct _GooCanvasItemSimpleClass
|
134
|
+
{
|
135
|
+
/*< private >*/
|
136
|
+
GObjectClass parent_class;
|
137
|
+
|
138
|
+
/*< public >*/
|
139
|
+
void (* simple_create_path) (GooCanvasItemSimple *simple,
|
140
|
+
cairo_t *cr);
|
141
|
+
|
142
|
+
void (* simple_update) (GooCanvasItemSimple *simple,
|
143
|
+
cairo_t *cr);
|
144
|
+
void (* simple_paint) (GooCanvasItemSimple *simple,
|
145
|
+
cairo_t *cr,
|
146
|
+
const GooCanvasBounds *bounds);
|
147
|
+
gboolean (* simple_is_item_at) (GooCanvasItemSimple *simple,
|
148
|
+
gdouble x,
|
149
|
+
gdouble y,
|
150
|
+
cairo_t *cr,
|
151
|
+
gboolean is_pointer_event);
|
152
|
+
|
153
|
+
/*< private >*/
|
154
|
+
|
155
|
+
/* Padding for future expansion */
|
156
|
+
void (*_goo_canvas_reserved1) (void);
|
157
|
+
void (*_goo_canvas_reserved2) (void);
|
158
|
+
void (*_goo_canvas_reserved3) (void);
|
159
|
+
void (*_goo_canvas_reserved4) (void);
|
160
|
+
};
|
161
|
+
|
162
|
+
|
163
|
+
GType goo_canvas_item_simple_get_type (void) G_GNUC_CONST;
|
164
|
+
|
165
|
+
|
166
|
+
void goo_canvas_item_simple_get_path_bounds (GooCanvasItemSimple *item,
|
167
|
+
cairo_t *cr,
|
168
|
+
GooCanvasBounds *bounds);
|
169
|
+
void goo_canvas_item_simple_user_bounds_to_device (GooCanvasItemSimple *item,
|
170
|
+
cairo_t *cr,
|
171
|
+
GooCanvasBounds *bounds);
|
172
|
+
void goo_canvas_item_simple_user_bounds_to_parent (GooCanvasItemSimple *item,
|
173
|
+
cairo_t *cr,
|
174
|
+
GooCanvasBounds *bounds);
|
175
|
+
gboolean goo_canvas_item_simple_check_in_path (GooCanvasItemSimple *item,
|
176
|
+
gdouble x,
|
177
|
+
gdouble y,
|
178
|
+
cairo_t *cr,
|
179
|
+
GooCanvasPointerEvents pointer_events);
|
180
|
+
void goo_canvas_item_simple_paint_path (GooCanvasItemSimple *item,
|
181
|
+
cairo_t *cr);
|
182
|
+
|
183
|
+
void goo_canvas_item_simple_changed (GooCanvasItemSimple *item,
|
184
|
+
gboolean recompute_bounds);
|
185
|
+
void goo_canvas_item_simple_check_style (GooCanvasItemSimple *item);
|
186
|
+
gdouble goo_canvas_item_simple_get_line_width (GooCanvasItemSimple *item);
|
187
|
+
void goo_canvas_item_simple_set_model (GooCanvasItemSimple *item,
|
188
|
+
GooCanvasItemModel *model);
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
#define GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE (goo_canvas_item_model_simple_get_type ())
|
195
|
+
#define GOO_CANVAS_ITEM_MODEL_SIMPLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE, GooCanvasItemModelSimple))
|
196
|
+
#define GOO_CANVAS_ITEM_MODEL_SIMPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE, GooCanvasItemModelSimpleClass))
|
197
|
+
#define GOO_IS_CANVAS_ITEM_MODEL_SIMPLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE))
|
198
|
+
#define GOO_IS_CANVAS_ITEM_MODEL_SIMPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE))
|
199
|
+
#define GOO_CANVAS_ITEM_MODEL_SIMPLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE, GooCanvasItemModelSimpleClass))
|
200
|
+
|
201
|
+
|
202
|
+
typedef struct _GooCanvasItemModelSimpleClass GooCanvasItemModelSimpleClass;
|
203
|
+
|
204
|
+
/**
|
205
|
+
* GooCanvasItemModelSimple
|
206
|
+
* @parent: the parent model.
|
207
|
+
* @simple_data: data used by the canvas item for viewing the model.
|
208
|
+
*
|
209
|
+
* The #GooCanvasItemModelSimple-struct struct contains the basic data needed
|
210
|
+
* to implement canvas item models.
|
211
|
+
*/
|
212
|
+
struct _GooCanvasItemModelSimple
|
213
|
+
{
|
214
|
+
GObject parent_object;
|
215
|
+
|
216
|
+
/*< public >*/
|
217
|
+
GooCanvasItemModel *parent;
|
218
|
+
GooCanvasItemSimpleData simple_data;
|
219
|
+
|
220
|
+
/*< private >*/
|
221
|
+
|
222
|
+
/* The title and description of the item for accessibility. */
|
223
|
+
gchar *title;
|
224
|
+
gchar *description;
|
225
|
+
};
|
226
|
+
|
227
|
+
|
228
|
+
struct _GooCanvasItemModelSimpleClass
|
229
|
+
{
|
230
|
+
GObjectClass parent_class;
|
231
|
+
|
232
|
+
/*< private >*/
|
233
|
+
|
234
|
+
/* Padding for future expansion */
|
235
|
+
void (*_goo_canvas_reserved1) (void);
|
236
|
+
void (*_goo_canvas_reserved2) (void);
|
237
|
+
void (*_goo_canvas_reserved3) (void);
|
238
|
+
void (*_goo_canvas_reserved4) (void);
|
239
|
+
};
|
240
|
+
|
241
|
+
|
242
|
+
GType goo_canvas_item_model_simple_get_type (void) G_GNUC_CONST;
|
243
|
+
|
244
|
+
|
245
|
+
G_END_DECLS
|
246
|
+
|
247
|
+
#endif /* __GOO_CANVAS_ITEM_SIMPLE_H__ */
|
@@ -0,0 +1,61 @@
|
|
1
|
+
|
2
|
+
#ifndef __goo_canvas_marshal_MARSHAL_H__
|
3
|
+
#define __goo_canvas_marshal_MARSHAL_H__
|
4
|
+
|
5
|
+
#include <glib-object.h>
|
6
|
+
|
7
|
+
G_BEGIN_DECLS
|
8
|
+
|
9
|
+
/* VOID:VOID (./goocanvasmarshal.list:1) */
|
10
|
+
#define goo_canvas_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID
|
11
|
+
|
12
|
+
/* VOID:INT (./goocanvasmarshal.list:2) */
|
13
|
+
#define goo_canvas_marshal_VOID__INT g_cclosure_marshal_VOID__INT
|
14
|
+
|
15
|
+
/* VOID:INT,INT (./goocanvasmarshal.list:3) */
|
16
|
+
extern void goo_canvas_marshal_VOID__INT_INT (GClosure *closure,
|
17
|
+
GValue *return_value,
|
18
|
+
guint n_param_values,
|
19
|
+
const GValue *param_values,
|
20
|
+
gpointer invocation_hint,
|
21
|
+
gpointer marshal_data);
|
22
|
+
|
23
|
+
/* VOID:BOOLEAN (./goocanvasmarshal.list:4) */
|
24
|
+
#define goo_canvas_marshal_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN
|
25
|
+
|
26
|
+
/* VOID:OBJECT,OBJECT (./goocanvasmarshal.list:5) */
|
27
|
+
extern void goo_canvas_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
|
28
|
+
GValue *return_value,
|
29
|
+
guint n_param_values,
|
30
|
+
const GValue *param_values,
|
31
|
+
gpointer invocation_hint,
|
32
|
+
gpointer marshal_data);
|
33
|
+
|
34
|
+
/* BOOLEAN:BOXED (./goocanvasmarshal.list:6) */
|
35
|
+
extern void goo_canvas_marshal_BOOLEAN__BOXED (GClosure *closure,
|
36
|
+
GValue *return_value,
|
37
|
+
guint n_param_values,
|
38
|
+
const GValue *param_values,
|
39
|
+
gpointer invocation_hint,
|
40
|
+
gpointer marshal_data);
|
41
|
+
|
42
|
+
/* BOOLEAN:OBJECT,BOXED (./goocanvasmarshal.list:7) */
|
43
|
+
extern void goo_canvas_marshal_BOOLEAN__OBJECT_BOXED (GClosure *closure,
|
44
|
+
GValue *return_value,
|
45
|
+
guint n_param_values,
|
46
|
+
const GValue *param_values,
|
47
|
+
gpointer invocation_hint,
|
48
|
+
gpointer marshal_data);
|
49
|
+
|
50
|
+
/* BOOLEAN:DOUBLE,DOUBLE,BOOLEAN,OBJECT (./goocanvasmarshal.list:8) */
|
51
|
+
extern void goo_canvas_marshal_BOOLEAN__DOUBLE_DOUBLE_BOOLEAN_OBJECT (GClosure *closure,
|
52
|
+
GValue *return_value,
|
53
|
+
guint n_param_values,
|
54
|
+
const GValue *param_values,
|
55
|
+
gpointer invocation_hint,
|
56
|
+
gpointer marshal_data);
|
57
|
+
|
58
|
+
G_END_DECLS
|
59
|
+
|
60
|
+
#endif /* __goo_canvas_marshal_MARSHAL_H__ */
|
61
|
+
|
@@ -0,0 +1,116 @@
|
|
1
|
+
/*
|
2
|
+
* GooCanvas. Copyright (C) 2005-6 Damon Chaplin.
|
3
|
+
* Released under the GNU LGPL license. See COPYING for details.
|
4
|
+
*
|
5
|
+
* goocanvaspath.h - a path item, very similar to the SVG path element.
|
6
|
+
*/
|
7
|
+
#ifndef __GOO_CANVAS_PATH_H__
|
8
|
+
#define __GOO_CANVAS_PATH_H__
|
9
|
+
|
10
|
+
#include <gtk/gtk.h>
|
11
|
+
#include "goocanvasitemsimple.h"
|
12
|
+
|
13
|
+
G_BEGIN_DECLS
|
14
|
+
|
15
|
+
|
16
|
+
/* This is the data used by both model and view classes. */
|
17
|
+
typedef struct _GooCanvasPathData GooCanvasPathData;
|
18
|
+
struct _GooCanvasPathData
|
19
|
+
{
|
20
|
+
/* An array of GooCanvasPathCommand. */
|
21
|
+
GArray *path_commands;
|
22
|
+
};
|
23
|
+
|
24
|
+
|
25
|
+
#define GOO_TYPE_CANVAS_PATH (goo_canvas_path_get_type ())
|
26
|
+
#define GOO_CANVAS_PATH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_PATH, GooCanvasPath))
|
27
|
+
#define GOO_CANVAS_PATH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOO_TYPE_CANVAS_PATH, GooCanvasPathClass))
|
28
|
+
#define GOO_IS_CANVAS_PATH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_PATH))
|
29
|
+
#define GOO_IS_CANVAS_PATH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOO_TYPE_CANVAS_PATH))
|
30
|
+
#define GOO_CANVAS_PATH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOO_TYPE_CANVAS_PATH, GooCanvasPathClass))
|
31
|
+
|
32
|
+
|
33
|
+
typedef struct _GooCanvasPath GooCanvasPath;
|
34
|
+
typedef struct _GooCanvasPathClass GooCanvasPathClass;
|
35
|
+
|
36
|
+
/**
|
37
|
+
* GooCanvasPath
|
38
|
+
*
|
39
|
+
* The #GooCanvasPath-struct struct contains private data only.
|
40
|
+
*/
|
41
|
+
struct _GooCanvasPath
|
42
|
+
{
|
43
|
+
GooCanvasItemSimple parent;
|
44
|
+
|
45
|
+
GooCanvasPathData *path_data;
|
46
|
+
};
|
47
|
+
|
48
|
+
struct _GooCanvasPathClass
|
49
|
+
{
|
50
|
+
GooCanvasItemSimpleClass parent_class;
|
51
|
+
|
52
|
+
/*< private >*/
|
53
|
+
|
54
|
+
/* Padding for future expansion */
|
55
|
+
void (*_goo_canvas_reserved1) (void);
|
56
|
+
void (*_goo_canvas_reserved2) (void);
|
57
|
+
void (*_goo_canvas_reserved3) (void);
|
58
|
+
void (*_goo_canvas_reserved4) (void);
|
59
|
+
};
|
60
|
+
|
61
|
+
|
62
|
+
GType goo_canvas_path_get_type (void) G_GNUC_CONST;
|
63
|
+
|
64
|
+
GooCanvasItem* goo_canvas_path_new (GooCanvasItem *parent,
|
65
|
+
const gchar *path_data,
|
66
|
+
...);
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
#define GOO_TYPE_CANVAS_PATH_MODEL (goo_canvas_path_model_get_type ())
|
71
|
+
#define GOO_CANVAS_PATH_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_PATH_MODEL, GooCanvasPathModel))
|
72
|
+
#define GOO_CANVAS_PATH_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOO_TYPE_CANVAS_PATH_MODEL, GooCanvasPathModelClass))
|
73
|
+
#define GOO_IS_CANVAS_PATH_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_PATH_MODEL))
|
74
|
+
#define GOO_IS_CANVAS_PATH_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOO_TYPE_CANVAS_PATH_MODEL))
|
75
|
+
#define GOO_CANVAS_PATH_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOO_TYPE_CANVAS_PATH_MODEL, GooCanvasPathModelClass))
|
76
|
+
|
77
|
+
|
78
|
+
typedef struct _GooCanvasPathModel GooCanvasPathModel;
|
79
|
+
typedef struct _GooCanvasPathModelClass GooCanvasPathModelClass;
|
80
|
+
|
81
|
+
/**
|
82
|
+
* GooCanvasPathModel
|
83
|
+
*
|
84
|
+
* The #GooCanvasPathModel-struct struct contains private data only.
|
85
|
+
*/
|
86
|
+
struct _GooCanvasPathModel
|
87
|
+
{
|
88
|
+
GooCanvasItemModelSimple parent_object;
|
89
|
+
|
90
|
+
GooCanvasPathData path_data;
|
91
|
+
};
|
92
|
+
|
93
|
+
struct _GooCanvasPathModelClass
|
94
|
+
{
|
95
|
+
GooCanvasItemModelSimpleClass parent_class;
|
96
|
+
|
97
|
+
/*< private >*/
|
98
|
+
|
99
|
+
/* Padding for future expansion */
|
100
|
+
void (*_goo_canvas_reserved1) (void);
|
101
|
+
void (*_goo_canvas_reserved2) (void);
|
102
|
+
void (*_goo_canvas_reserved3) (void);
|
103
|
+
void (*_goo_canvas_reserved4) (void);
|
104
|
+
};
|
105
|
+
|
106
|
+
|
107
|
+
GType goo_canvas_path_model_get_type (void) G_GNUC_CONST;
|
108
|
+
|
109
|
+
GooCanvasItemModel* goo_canvas_path_model_new (GooCanvasItemModel *parent,
|
110
|
+
const gchar *path_data,
|
111
|
+
...);
|
112
|
+
|
113
|
+
|
114
|
+
G_END_DECLS
|
115
|
+
|
116
|
+
#endif /* __GOO_CANVAS_PATH_H__ */
|