This file is indexed.

/usr/include/goocanvas-2.0/goocanvasitemmodel.h is in libgoocanvas-2.0-dev 2.0.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
/*
 * GooCanvas. Copyright (C) 2005 Damon Chaplin.
 * Released under the GNU LGPL license. See COPYING for details.
 *
 * goocanvasitemmodel.h - interface for canvas item models.
 */
#ifndef __GOO_CANVAS_ITEM_MODEL_H__
#define __GOO_CANVAS_ITEM_MODEL_H__

#include <gtk/gtk.h>
#include "goocanvasitem.h"

G_BEGIN_DECLS


#define GOO_TYPE_CANVAS_ITEM_MODEL            (goo_canvas_item_model_get_type ())
#define GOO_CANVAS_ITEM_MODEL(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_ITEM_MODEL, GooCanvasItemModel))
#define GOO_IS_CANVAS_ITEM_MODEL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_ITEM_MODEL))
#define GOO_CANVAS_ITEM_MODEL_GET_IFACE(obj)  (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GOO_TYPE_CANVAS_ITEM_MODEL, GooCanvasItemModelIface))


/**
 * GooCanvasItemModel:
 *
 * #GooCanvasItemModel is a typedef used for objects that implement the
 * #GooCanvasItemModel interface.
 *
 * (There is no actual #GooCanvasItemModel struct, since it is only an interface.
 * But using '#GooCanvasItemModel' is more helpful than using '#GObject'.)
 */
/* The typedef is in goocanvasitem.h */
/*typedef struct _GooCanvasItemModel       GooCanvasItemModel;*/


/**
 * GooCanvasItemModelIface:
 * @get_n_children: returns the number of children of the model.
 * @get_child: returns the child at the given index.
 * @add_child: adds a child.
 * @move_child: moves a child up or down the stacking order.
 * @remove_child: removes a child.
 * @get_child_property: gets a child property of a given child model,
 *  e.g. the "row" or "column" property of a model in a #GooCanvasTableModel.
 * @set_child_property: sets a child property for a given child model.
 * @get_parent: gets the model's parent.
 * @set_parent: sets the model's parent.
 * @create_item: creates a default canvas item to view the model.
 * @get_transform: gets the model's transformation matrix.
 * @set_transform: sets the model's transformation matrix.
 * @get_style: gets the model's style.
 * @set_style: sets the model's style.
 * @child_added: signal emitted when a child is added.
 * @child_moved: signal emitted when a child is moved in the stacking order.
 * @child_removed: signal emitted when a child is removed.
 * @changed: signal emitted when the model has changed.
 * @child_notify: signal emitted when a child property has changed.
 * @animation_finished: signal emitted when the model's animation has finished.
 *
 * #GooCanvasItemModelIFace holds the virtual methods that make up the
 * #GooCanvasItemModel interface.
 *
 * Simple item models only need to implement the get_parent(), set_parent()
 * and create_item() methods.
 *
 * Items that support transforms should also implement get_transform() and
 * set_transform(). Items that support styles should implement get_style()
 * and set_style().
 *
 * Container items must implement get_n_children() and get_child().
 * Containers that support dynamic changes to their children should implement
 * add_child(), move_child() and remove_child().
 * Layout containers like #GooCanvasTable may implement
 * get_child_property() and set_child_property().
 */
typedef struct _GooCanvasItemModelIface  GooCanvasItemModelIface;

struct _GooCanvasItemModelIface
{
  /*< private >*/
  GTypeInterface base_iface;

  /*< public >*/
  /* Virtual methods that group models must implement. */
  gint		       (* get_n_children)		(GooCanvasItemModel	*model);
  GooCanvasItemModel*  (* get_child)			(GooCanvasItemModel	*model,
							 gint			 child_num);

  /* Virtual methods that group models may implement. */
  void                 (* add_child)			(GooCanvasItemModel	*model,
							 GooCanvasItemModel	*child,
							 gint			 position);
  void                 (* move_child)			(GooCanvasItemModel	*model,
							 gint			 old_position,
							 gint			 new_position);
  void                 (* remove_child)			(GooCanvasItemModel	*model,
							 gint			 child_num);
  void                 (* get_child_property)		(GooCanvasItemModel	*model,
							 GooCanvasItemModel	*child,
							 guint			 property_id,
							 GValue			*value,
							 GParamSpec		*pspec);
  void                 (* set_child_property)		(GooCanvasItemModel	*item,
							 GooCanvasItemModel	*child,
							 guint			 property_id,
							 const GValue		*value,
							 GParamSpec		*pspec);

  /* Virtual methods that all item models must implement. */
  GooCanvasItemModel*  (* get_parent)			(GooCanvasItemModel	*model);
  void                 (* set_parent)			(GooCanvasItemModel	*model,
							 GooCanvasItemModel	*parent);

  GooCanvasItem*       (* create_item)			(GooCanvasItemModel	*model,
							 GooCanvas		*canvas);

  /* Virtual methods that all item models may implement. */
  gboolean             (* get_transform)		(GooCanvasItemModel	*model,
							 cairo_matrix_t         *transform);
  void                 (* set_transform)		(GooCanvasItemModel	*model,
							 const cairo_matrix_t	*transform);
  GooCanvasStyle*      (* get_style)			(GooCanvasItemModel	*model);
  void                 (* set_style)			(GooCanvasItemModel	*model,
							 GooCanvasStyle		*style);

  /* Signals. */
  void                 (* child_added)			(GooCanvasItemModel	*model,
							 gint			 child_num);
  void                 (* child_moved)			(GooCanvasItemModel	*model,
							 gint			 old_child_num,
							 gint			 new_child_num);
  void                 (* child_removed)		(GooCanvasItemModel	*model,
							 gint			 child_num);
  void                 (* changed)			(GooCanvasItemModel	*model,
							 gboolean		 recompute_bounds);
  void                 (* child_notify)			(GooCanvasItemModel	*model,
							 GParamSpec		*pspec);

  void		       (* animation_finished)		(GooCanvasItemModel     *model,
							 gboolean                stopped);

  /*< private >*/

  /* Padding for future expansion */
  void (*_goo_canvas_reserved1) (void);
  void (*_goo_canvas_reserved2) (void);
  void (*_goo_canvas_reserved3) (void);
  void (*_goo_canvas_reserved4) (void);
  void (*_goo_canvas_reserved5) (void);
  void (*_goo_canvas_reserved6) (void);
  void (*_goo_canvas_reserved7) (void);
};


GType               goo_canvas_item_model_get_type       (void) G_GNUC_CONST;


/*
 * Group functions - these should only be called on container models.
 */
gint                goo_canvas_item_model_get_n_children (GooCanvasItemModel *model);
GooCanvasItemModel* goo_canvas_item_model_get_child      (GooCanvasItemModel *model,
							  gint                child_num);
void                goo_canvas_item_model_add_child      (GooCanvasItemModel *model,
							  GooCanvasItemModel *child,
							  gint                position);
void                goo_canvas_item_model_move_child     (GooCanvasItemModel *model,
							  gint                old_position,
							  gint                new_position);
void                goo_canvas_item_model_remove_child   (GooCanvasItemModel *model,
							  gint                child_num);
gint                goo_canvas_item_model_find_child     (GooCanvasItemModel *model,
							  GooCanvasItemModel *child);

void     goo_canvas_item_model_get_child_property	 (GooCanvasItemModel   *model,
							  GooCanvasItemModel   *child,
							  const gchar          *property_name,
							  GValue               *value);
void     goo_canvas_item_model_set_child_property	 (GooCanvasItemModel   *model,
							  GooCanvasItemModel   *child,
							  const gchar          *property_name,
							  const GValue         *value);
void     goo_canvas_item_model_get_child_properties	 (GooCanvasItemModel   *model,
							  GooCanvasItemModel   *child,
							  ...) G_GNUC_NULL_TERMINATED;
void     goo_canvas_item_model_set_child_properties	 (GooCanvasItemModel   *model,
							  GooCanvasItemModel   *child,
							  ...) G_GNUC_NULL_TERMINATED;
void     goo_canvas_item_model_get_child_properties_valist (GooCanvasItemModel   *model,
							    GooCanvasItemModel   *child,
							    va_list	         var_args);
void     goo_canvas_item_model_set_child_properties_valist (GooCanvasItemModel   *model,
							    GooCanvasItemModel   *child,
							    va_list	         var_args);


/*
 * Model functions - these are safe to call on all models.
 */
GooCanvasItemModel* goo_canvas_item_model_get_parent     (GooCanvasItemModel *model);
void                goo_canvas_item_model_set_parent	 (GooCanvasItemModel *model,
							  GooCanvasItemModel *parent);
void                goo_canvas_item_model_remove         (GooCanvasItemModel *model);
gboolean            goo_canvas_item_model_is_container   (GooCanvasItemModel *model);

void                goo_canvas_item_model_raise          (GooCanvasItemModel *model,
							  GooCanvasItemModel *above);
void                goo_canvas_item_model_lower          (GooCanvasItemModel *model,
							  GooCanvasItemModel *below);

gboolean            goo_canvas_item_model_get_transform  (GooCanvasItemModel *model,
							  cairo_matrix_t     *transform);
void                goo_canvas_item_model_set_transform  (GooCanvasItemModel   *model,
							  const cairo_matrix_t *transform);
gboolean	    goo_canvas_item_model_get_simple_transform (GooCanvasItemModel *model,
								gdouble            *x,
								gdouble            *y,
								gdouble            *scale,
								gdouble            *rotation);
void                goo_canvas_item_model_set_simple_transform (GooCanvasItemModel *model,
								gdouble             x,
								gdouble             y,
								gdouble             scale,
								gdouble             rotation);

void                goo_canvas_item_model_translate      (GooCanvasItemModel *model,
							  gdouble             tx,
							  gdouble             ty);
void                goo_canvas_item_model_scale          (GooCanvasItemModel *model,
							  gdouble             sx,
							  gdouble             sy);
void                goo_canvas_item_model_rotate         (GooCanvasItemModel *model,
							  gdouble             degrees,
							  gdouble             cx,
							  gdouble             cy);
void                goo_canvas_item_model_skew_x         (GooCanvasItemModel *model,
							  gdouble             degrees,
							  gdouble             cx,
							  gdouble             cy);
void                goo_canvas_item_model_skew_y         (GooCanvasItemModel *model,
							  gdouble             degrees,
							  gdouble             cx,
							  gdouble             cy);

GooCanvasStyle*     goo_canvas_item_model_get_style      (GooCanvasItemModel *model);
void                goo_canvas_item_model_set_style      (GooCanvasItemModel *model,
							  GooCanvasStyle  *style);

void                goo_canvas_item_model_animate        (GooCanvasItemModel *model,
							  gdouble             x,
							  gdouble             y,
							  gdouble             scale,
							  gdouble             degrees,
							  gboolean            absolute,
							  gint                duration,
							  gint                step_time,
							  GooCanvasAnimateType type);
void                goo_canvas_item_model_stop_animation (GooCanvasItemModel *model);


/*
 * Functions to support child properties when implementing new canvas items.
 */
void         goo_canvas_item_model_class_install_child_property (GObjectClass *mclass,
								 guint	 property_id,
								 GParamSpec	*pspec);
GParamSpec*  goo_canvas_item_model_class_find_child_property	(GObjectClass	*mclass,
								 const gchar	*property_name);
GParamSpec** goo_canvas_item_model_class_list_child_properties  (GObjectClass	*mclass,
								 guint	*n_properties);



G_END_DECLS

#endif /* __GOO_CANVAS_ITEM_MODEL_H__ */