Add support for async signal handlers
[vala-lang.git] / vapi / clutter-1.0.vapi
blobc0a7297b13c9dafea4356e24f4ded5f93e298a22
1 /* clutter-1.0.vapi generated by vapigen, do not modify. */
3 [CCode (cprefix = "Clutter", lower_case_cprefix = "clutter_", gir_namespace = "Clutter", gir_version = "1.0")]
4 namespace Clutter {
5         [CCode (cprefix = "ClutterFrameSource", lower_case_cprefix = "clutter_frame_source_")]
6         namespace FrameSource {
7                 [CCode (cheader_filename = "clutter/clutter.h")]
8                 public static uint add (uint fps, GLib.SourceFunc func);
9                 [CCode (cheader_filename = "clutter/clutter.h")]
10                 public static uint add_full (int priority, uint fps, owned GLib.SourceFunc func);
11         }
12         [CCode (cprefix = "ClutterThreads", lower_case_cprefix = "clutter_threads_")]
13         namespace Threads {
14                 [CCode (cprefix = "ClutterThreadsFrameSource", lower_case_cprefix = "clutter_threads_frame_source_")]
15                 namespace FrameSource {
16                         [CCode (cname = "clutter_threads_add_frame_source", cheader_filename = "clutter/clutter.h")]
17                         public static uint add (uint fps, GLib.SourceFunc func);
18                         [CCode (cname = "clutter_threads_add_frame_source_full", cheader_filename = "clutter/clutter.h")]
19                         public static uint add_full (int priority, uint fps, owned GLib.SourceFunc func);
20                 }
21                 [CCode (cprefix = "ClutterThreadsIdle", lower_case_cprefix = "clutter_threads_idle_")]
22                 namespace Idle {
23                         [CCode (cname = "clutter_threads_add_idle", cheader_filename = "clutter/clutter.h")]
24                         public static uint add (GLib.SourceFunc func);
25                         [CCode (cname = "clutter_threads_add_idle_full", cheader_filename = "clutter/clutter.h")]
26                         public static uint add_full (int priority, owned GLib.SourceFunc func);
27                 }
28                 [CCode (cprefix = "ClutterThreadsTimeout", lower_case_cprefix = "clutter_threads_timeout_")]
29                 namespace Timeout {
30                         [CCode (cname = "clutter_threads_add_timeout", cheader_filename = "clutter/clutter.h")]
31                         public static uint add (uint interval, GLib.SourceFunc func);
32                         [CCode (cname = "clutter_threads_add_timeout_full", cheader_filename = "clutter/clutter.h")]
33                         public static uint add_full (int priority, uint interval, owned GLib.SourceFunc func);
34                 }
35                 [CCode (cheader_filename = "clutter/clutter.h")]
36                 public static void enter ();
37                 [CCode (cheader_filename = "clutter/clutter.h")]
38                 public static void init ();
39                 [CCode (cheader_filename = "clutter/clutter.h")]
40                 public static void leave ();
41                 [CCode (cheader_filename = "clutter/clutter.h")]
42                 public static void set_lock_functions (GLib.Callback enter_fn, GLib.Callback leave_fn);
43         }
44         [CCode (cprefix = "ClutterUtil", lower_case_cprefix = "clutter_util_")]
45         namespace Util {
46                 [CCode (cname = "clutter_util_next_p2", cheader_filename = "clutter/clutter.h")]
47                 public static int next_power_of_2 (int a);
48         }
49         [CCode (cprefix = "clutter_value_", lower_case_cprefix = "clutter_value_")]
50         namespace Value {
51                 [CCode (cheader_filename = "clutter/clutter.h")]
52                 public static unowned Clutter.Color? get_color (GLib.Value value);
53                 [CCode (cheader_filename = "clutter/clutter.h")]
54                 public static unowned Cogl.Fixed? get_fixed (GLib.Value value);
55                 [CCode (cheader_filename = "clutter/clutter.h")]
56                 public static unowned float[] get_shader_float (GLib.Value value);
57                 [CCode (cheader_filename = "clutter/clutter.h")]
58                 public static unowned int[] get_shader_int (GLib.Value value);
59                 [CCode (cheader_filename = "clutter/clutter.h")]
60                 public static unowned float[] get_shader_matrix (GLib.Value value);
61                 [CCode (cheader_filename = "clutter/clutter.h")]
62                 public static Clutter.Units get_units (GLib.Value value);
63                 [CCode (cheader_filename = "clutter/clutter.h")]
64                 public static void set_color (GLib.Value value, Clutter.Color color);
65                 [CCode (cheader_filename = "clutter/clutter.h")]
66                 public static void set_fixed (GLib.Value value, Cogl.Fixed fixed_);
67                 [CCode (cheader_filename = "clutter/clutter.h")]
68                 public static void set_shader_float (GLib.Value value, [CCode (array_length_pos = 1.9)] float[] floats);
69                 [CCode (cheader_filename = "clutter/clutter.h")]
70                 public static void set_shader_int (GLib.Value value, [CCode (array_length_pos = 1.9)] int[] ints);
71                 [CCode (cheader_filename = "clutter/clutter.h")]
72                 public static void set_shader_matrix (GLib.Value value, [CCode (array_length_pos = 1.9)] float[] matrix);
73                 [CCode (cheader_filename = "clutter/clutter.h")]
74                 public static void set_units (GLib.Value value, Clutter.Units units);
75         }
76         [CCode (cheader_filename = "clutter/clutter.h")]
77         public class Actor : GLib.InitiallyUnowned, Clutter.Scriptable {
78                 public uint32 flags;
79                 [CCode (has_construct_function = false)]
80                 protected Actor ();
81                 public virtual void allocate (Clutter.ActorBox box, Clutter.AllocationFlags flags);
82                 public void allocate_available_size (float x, float y, float available_width, float available_height, Clutter.AllocationFlags flags);
83                 public void allocate_preferred_size (Clutter.AllocationFlags flags);
84                 public unowned Clutter.Animation animate (ulong mode, uint duration, ...);
85                 public unowned Clutter.Animation animate_with_alpha (Clutter.Alpha alpha, ...);
86                 public unowned Clutter.Animation animate_with_alphav (Clutter.Alpha alpha, [CCode (array_length_pos = 1.9)] string[] properties, [CCode (array_length_pos = 1.9)] GLib.Value[] values);
87                 public unowned Clutter.Animation animate_with_timeline (ulong mode, Clutter.Timeline timeline, ...);
88                 public unowned Clutter.Animation animate_with_timelinev (ulong mode, Clutter.Timeline timeline, [CCode (array_length_pos = 2.9)] string[] properties, [CCode (array_length_pos = 2.9)] GLib.Value[] values);
89                 public unowned Clutter.Animation animatev (ulong mode, uint duration, [CCode (array_length_pos = 2.9)] string[] properties, [CCode (array_length_pos = 2.9)] GLib.Value[] values);
90                 public void apply_relative_transform_to_point (Clutter.Actor? ancestor, Clutter.Vertex point, out Clutter.Vertex vertex);
91                 [NoWrapper]
92                 public virtual void apply_transform (ref Cogl.Matrix matrix);
93                 public void apply_transform_to_point (Clutter.Vertex point, out Clutter.Vertex vertex);
94                 public unowned Pango.Context create_pango_context ();
95                 public unowned Pango.Layout create_pango_layout (string text);
96                 public void get_abs_allocation_vertices ([CCode (array_length = false)] Clutter.Vertex[] verts);
97                 public void get_allocation_box (out Clutter.ActorBox box);
98                 public void get_allocation_geometry (out Clutter.Geometry geom);
99                 public void get_allocation_vertices (Clutter.Actor ancestor, Clutter.Vertex[] verts);
100                 public void get_anchor_point (out float anchor_x, out float anchor_y);
101                 public Clutter.Gravity get_anchor_point_gravity ();
102                 public unowned Clutter.Animation get_animation ();
103                 [CCode (cname = "clutter_get_actor_by_gid")]
104                 public static unowned Clutter.Actor get_by_gid (uint32 id);
105                 public void get_clip (out float xoff, out float yoff, out float width, out float height);
106                 public Clutter.ActorFlags get_flags ();
107                 public void get_geometry (Clutter.Geometry geometry);
108                 public uint32 get_gid ();
109                 [CCode (cname = "clutter_actor_has_pointer")]
110                 public bool get_has_pointer ();
111                 public uchar get_paint_opacity ();
112                 public bool get_paint_visibility ();
113                 public unowned Pango.Context get_pango_context ();
114                 public unowned Clutter.Actor? get_parent ();
115                 public void get_position (out float x, out float y);
116                 public virtual void get_preferred_height (float for_width, out float min_height_p, out float natural_height_p);
117                 public void get_preferred_size (out unowned float? min_width_p, out unowned float? min_height_p, out unowned float? natural_width_p, out unowned float? natural_height_p);
118                 public virtual void get_preferred_width (float for_height, out float min_width_p, out float natural_width_p);
119                 public Clutter.RequestMode get_request_mode ();
120                 public double get_rotation (Clutter.RotateAxis axis, out float x, out float y, out float z);
121                 public void get_scale (out double scale_x, out double scale_y);
122                 public void get_scale_center (out float center_x, out float center_y);
123                 public unowned Clutter.Shader get_shader ();
124                 public void get_size (out float width, out float height);
125                 public unowned Clutter.Stage get_stage ();
126                 public Clutter.TextDirection get_text_direction ();
127                 public Cogl.Matrix get_transformation_matrix ();
128                 public void get_transformed_position (out float x, out float y);
129                 public void get_transformed_size (out float width, out float height);
130                 public Clutter.Gravity get_z_rotation_gravity ();
131                 public void grab_key_focus ();
132                 public virtual void hide_all ();
133                 public bool is_in_clone_paint ();
134                 public bool is_rotated ();
135                 public bool is_scaled ();
136                 public void lower (Clutter.Actor above);
137                 public void lower_bottom ();
138                 public virtual void map ();
139                 public void move_anchor_point (float anchor_x, float anchor_y);
140                 public void move_anchor_point_from_gravity (Clutter.Gravity gravity);
141                 public void move_by (float dx, float dy);
142                 public void pop_internal ();
143                 public void push_internal ();
144                 public void queue_redraw ();
145                 public void raise (Clutter.Actor below);
146                 public void raise_top ();
147                 public void remove_clip ();
148                 public void reparent (Clutter.Actor new_parent);
149                 public void set_anchor_point (float anchor_x, float anchor_y);
150                 public void set_anchor_point_from_gravity (Clutter.Gravity gravity);
151                 public void set_clip (float xoff, float yoff, float width, float height);
152                 public void set_fixed_position_set (bool is_set);
153                 public void set_flags (Clutter.ActorFlags flags);
154                 public void set_geometry (Clutter.Geometry geometry);
155                 public void set_parent (Clutter.Actor parent);
156                 public void set_position (float x, float y);
157                 public void set_request_mode (Clutter.RequestMode mode);
158                 public void set_rotation (Clutter.RotateAxis axis, double angle, float x, float y, float z);
159                 public void set_scale (double scale_x, double scale_y);
160                 public void set_scale_full (double scale_x, double scale_y, float center_x, float center_y);
161                 public void set_scale_with_gravity (double scale_x, double scale_y, Clutter.Gravity gravity);
162                 public bool set_shader (Clutter.Shader shader);
163                 public void set_shader_param (string param, GLib.Value value);
164                 public void set_shader_param_float (string param, float value);
165                 public void set_shader_param_int (string param, int value);
166                 public void set_size (float width, float height);
167                 public void set_text_direction (Clutter.TextDirection text_dir);
168                 public void set_z_rotation_from_gravity (double angle, Clutter.Gravity gravity);
169                 public bool should_pick_paint ();
170                 public virtual void show_all ();
171                 public bool transform_stage_point (float x, float y, out float x_out, out float y_out);
172                 public virtual void unmap ();
173                 public void unparent ();
174                 public void unset_flags (Clutter.ActorFlags flags);
175                 [NoAccessorMethod]
176                 public Clutter.ActorBox allocation { get; }
177                 [NoAccessorMethod]
178                 public Clutter.Gravity anchor_gravity { get; set; }
179                 [NoAccessorMethod]
180                 public float anchor_x { get; set; }
181                 [NoAccessorMethod]
182                 public float anchor_y { get; set; }
183                 [NoAccessorMethod]
184                 public Clutter.Geometry clip { get; set; }
185                 [NoAccessorMethod]
186                 public bool clip_to_allocation { get; set; }
187                 public float depth { get; set; }
188                 public bool fixed_position_set { get; set; }
189                 [NoAccessorMethod]
190                 public float fixed_x { get; set; }
191                 [NoAccessorMethod]
192                 public float fixed_y { get; set; }
193                 [NoAccessorMethod]
194                 public bool has_clip { get; }
195                 [NoAccessorMethod]
196                 public bool has_pointer { get; }
197                 public float height { get; set; }
198                 [NoAccessorMethod]
199                 public bool mapped { get; }
200                 [NoAccessorMethod]
201                 public float min_height { get; set; }
202                 [NoAccessorMethod]
203                 public bool min_height_set { get; set; }
204                 [NoAccessorMethod]
205                 public float min_width { get; set; }
206                 [NoAccessorMethod]
207                 public bool min_width_set { get; set; }
208                 public string name { get; set; }
209                 [NoAccessorMethod]
210                 public float natural_height { get; set; }
211                 [NoAccessorMethod]
212                 public bool natural_height_set { get; set; }
213                 [NoAccessorMethod]
214                 public float natural_width { get; set; }
215                 [NoAccessorMethod]
216                 public bool natural_width_set { get; set; }
217                 public uint opacity { get; set; }
218                 public bool reactive { get; set; }
219                 [NoAccessorMethod]
220                 public bool realized { get; }
221                 public Clutter.RequestMode request_mode { get; set; }
222                 [NoAccessorMethod]
223                 public double rotation_angle_x { get; set; }
224                 [NoAccessorMethod]
225                 public double rotation_angle_y { get; set; }
226                 [NoAccessorMethod]
227                 public double rotation_angle_z { get; set; }
228                 [NoAccessorMethod]
229                 public Clutter.Vertex rotation_center_x { get; set; }
230                 [NoAccessorMethod]
231                 public Clutter.Vertex rotation_center_y { get; set; }
232                 [NoAccessorMethod]
233                 public Clutter.Vertex rotation_center_z { get; set; }
234                 [NoAccessorMethod]
235                 public Clutter.Gravity rotation_center_z_gravity { get; set; }
236                 [NoAccessorMethod]
237                 public float scale_center_x { get; set; }
238                 [NoAccessorMethod]
239                 public float scale_center_y { get; set; }
240                 [NoAccessorMethod]
241                 public Clutter.Gravity scale_gravity { get; set; }
242                 [NoAccessorMethod]
243                 public double scale_x { get; set; }
244                 [NoAccessorMethod]
245                 public double scale_y { get; set; }
246                 [NoAccessorMethod]
247                 public bool show_on_set_parent { get; set; }
248                 public Clutter.TextDirection text_direction { get; set; }
249                 [NoAccessorMethod]
250                 public bool visible { get; set; }
251                 public float width { get; set; }
252                 public float x { get; set; }
253                 public float y { get; set; }
254                 public virtual signal void allocation_changed (Clutter.ActorBox p0, Clutter.AllocationFlags p1);
255                 public virtual signal bool button_press_event (Clutter.ButtonEvent event);
256                 public virtual signal bool button_release_event (Clutter.ButtonEvent event);
257                 public virtual signal bool captured_event (Clutter.Event event);
258                 [HasEmitter]
259                 public virtual signal void destroy ();
260                 public virtual signal bool enter_event (Clutter.CrossingEvent event);
261                 [HasEmitter]
262                 public virtual signal bool event (Clutter.Event event);
263                 [HasEmitter]
264                 public virtual signal void hide ();
265                 public virtual signal void key_focus_in ();
266                 public virtual signal void key_focus_out ();
267                 public virtual signal bool key_press_event (Clutter.KeyEvent event);
268                 public virtual signal bool key_release_event (Clutter.KeyEvent event);
269                 public virtual signal bool leave_event (Clutter.CrossingEvent event);
270                 public virtual signal bool motion_event (Clutter.MotionEvent event);
271                 [HasEmitter]
272                 public virtual signal void paint ();
273                 public virtual signal void parent_set (Clutter.Actor? old_parent);
274                 [HasEmitter]
275                 public virtual signal void pick (Clutter.Color color);
276                 [HasEmitter]
277                 public virtual signal void queue_relayout ();
278                 [HasEmitter]
279                 public virtual signal void realize ();
280                 public virtual signal bool scroll_event (Clutter.ScrollEvent event);
281                 [HasEmitter]
282                 public virtual signal void show ();
283                 [HasEmitter]
284                 public virtual signal void unrealize ();
285         }
286         [CCode (cheader_filename = "clutter/clutter.h")]
287         public class Alpha : GLib.InitiallyUnowned, Clutter.Scriptable {
288                 [CCode (has_construct_function = false)]
289                 public Alpha ();
290                 [CCode (has_construct_function = false)]
291                 public Alpha.full (Clutter.Timeline timeline, ulong mode);
292                 public static ulong register_closure (GLib.Closure closure);
293                 public static ulong register_func (Clutter.AlphaFunc func);
294                 public void set_closure (GLib.Closure closure);
295                 public void set_func (owned Clutter.AlphaFunc func);
296                 [CCode (has_construct_function = false)]
297                 public Alpha.with_func (Clutter.Timeline timeline, owned Clutter.AlphaFunc func);
298                 public double alpha { get; }
299                 public ulong mode { get; set construct; }
300                 public Clutter.Timeline timeline { get; set; }
301         }
302         [CCode (cheader_filename = "clutter/clutter.h")]
303         public class Animation : GLib.Object, Clutter.Scriptable {
304                 [CCode (has_construct_function = false)]
305                 public Animation ();
306                 public unowned Clutter.Animation bind (string property_name, GLib.Value final);
307                 public unowned Clutter.Animation bind_interval (string property_name, Clutter.Interval interval);
308                 public unowned Clutter.Interval get_interval (string property_name);
309                 public bool has_property (string property_name);
310                 public void unbind_property (string property_name);
311                 public unowned Clutter.Animation update (string property_name, GLib.Value final);
312                 public void update_interval (string property_name, Clutter.Interval interval);
313                 public Clutter.Alpha alpha { get; set; }
314                 public uint duration { get; set; }
315                 public bool loop { get; set; }
316                 public ulong mode { get; set; }
317                 public GLib.Object object { get; set; }
318                 public Clutter.Timeline timeline { get; set; }
319                 [HasEmitter]
320                 public virtual signal void completed ();
321                 public virtual signal void started ();
322         }
323         [CCode (cheader_filename = "clutter/clutter.h")]
324         public class Animator : GLib.Object, Clutter.Scriptable {
325                 [CCode (has_construct_function = false)]
326                 public Animator ();
327                 public bool compute_value (GLib.Object object, string property_name, double progress, GLib.Value value);
328                 public uint get_duration ();
329                 public GLib.List<weak Clutter.AnimatorKey> get_keys (GLib.Object object, string property_name, double progress);
330                 public unowned Clutter.Timeline get_timeline ();
331                 public bool property_get_ease_in (GLib.Object object, string property_name);
332                 public Clutter.Interpolation property_get_interpolation (GLib.Object object, string property_name);
333                 public void property_set_ease_in (GLib.Object object, string property_name, bool ease_in);
334                 public void property_set_interpolation (GLib.Object object, string property_name, Clutter.Interpolation interpolation);
335                 public void remove_key (GLib.Object object, string property_name, double progress);
336                 public void @set (void* first_object, string first_property_name, uint first_mode, ...);
337                 public void set_duration (uint duration);
338                 public unowned Clutter.Animator set_key (GLib.Object object, string property_name, uint mode, double progress, GLib.Value value);
339                 public void set_timeline (Clutter.Timeline timeline);
340                 public unowned Clutter.Timeline start ();
341                 public uint duration { get; set; }
342                 public Clutter.Timeline timeline { get; set; }
343         }
344         [Compact]
345         [CCode (type_id = "CLUTTER_TYPE_ANIMATOR_KEY", cheader_filename = "clutter/clutter.h")]
346         public class AnimatorKey {
347                 public ulong get_mode ();
348                 public unowned GLib.Object get_object ();
349                 public double get_progress ();
350                 public unowned string get_property_name ();
351                 public GLib.Type get_property_type ();
352                 public bool get_value (GLib.Value value);
353         }
354         [CCode (cheader_filename = "clutter/clutter.h")]
355         public class Backend : GLib.Object {
356                 [CCode (has_construct_function = false)]
357                 protected Backend ();
358                 [NoWrapper]
359                 public virtual void add_options (GLib.OptionGroup group);
360                 [NoWrapper]
361                 public virtual bool create_context () throws GLib.Error;
362                 [NoWrapper]
363                 public virtual unowned Clutter.StageWindow create_stage (Clutter.Stage wrapper) throws GLib.Error;
364                 [NoWrapper]
365                 public virtual void ensure_context (Clutter.Stage stage);
366                 [NoWrapper]
367                 public virtual unowned Clutter.DeviceManager get_device_manager ();
368                 public uint get_double_click_distance ();
369                 public uint get_double_click_time ();
370                 [NoWrapper]
371                 public virtual Clutter.FeatureFlags get_features ();
372                 public unowned string get_font_name ();
373                 public unowned Cairo.FontOptions get_font_options ();
374                 public double get_resolution ();
375                 [NoWrapper]
376                 public virtual void init_events ();
377                 [NoWrapper]
378                 public virtual void init_features ();
379                 [NoWrapper]
380                 public virtual bool post_parse () throws GLib.Error;
381                 [NoWrapper]
382                 public virtual bool pre_parse () throws GLib.Error;
383                 [NoWrapper]
384                 public virtual void redraw (Clutter.Stage stage);
385                 public void set_double_click_distance (uint distance);
386                 public void set_double_click_time (uint msec);
387                 public void set_font_name (string font_name);
388                 public void set_font_options (Cairo.FontOptions options);
389                 public void set_resolution (double dpi);
390                 public virtual signal void font_changed ();
391                 public virtual signal void resolution_changed ();
392         }
393         [CCode (cheader_filename = "clutter/clutter.h")]
394         public class Behaviour : GLib.Object, Clutter.Scriptable {
395                 [CCode (has_construct_function = false)]
396                 protected Behaviour ();
397                 public void actors_foreach (Clutter.BehaviourForeachFunc func);
398                 [NoWrapper]
399                 public virtual void alpha_notify (double alpha_value);
400                 public void apply (Clutter.Actor actor);
401                 public unowned GLib.SList<Clutter.Actor> get_actors ();
402                 public int get_n_actors ();
403                 public unowned Clutter.Actor get_nth_actor (int index_);
404                 public bool is_applied (Clutter.Actor actor);
405                 public void remove (Clutter.Actor actor);
406                 public void remove_all ();
407                 public Clutter.Alpha alpha { get; set; }
408                 public virtual signal void applied (Clutter.Actor actor);
409                 public virtual signal void removed (Clutter.Actor actor);
410         }
411         [CCode (cheader_filename = "clutter/clutter.h")]
412         public class BehaviourDepth : Clutter.Behaviour, Clutter.Scriptable {
413                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
414                 public BehaviourDepth (Clutter.Alpha alpha, int depth_start, int depth_end);
415                 public void get_bounds (out int depth_start, out int depth_end);
416                 public void set_bounds (int depth_start, int depth_end);
417                 [NoAccessorMethod]
418                 public int depth_end { get; set; }
419                 [NoAccessorMethod]
420                 public int depth_start { get; set; }
421         }
422         [CCode (cheader_filename = "clutter/clutter.h")]
423         public class BehaviourEllipse : Clutter.Behaviour, Clutter.Scriptable {
424                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
425                 public BehaviourEllipse (Clutter.Alpha alpha, int x, int y, int width, int height, Clutter.RotateDirection direction, double start, double end);
426                 public double get_angle_tilt (Clutter.RotateAxis axis);
427                 public void get_center (out int x, out int y);
428                 public void get_tilt (out double angle_tilt_x, out double angle_tilt_y, out double angle_tilt_z);
429                 public void set_angle_tilt (Clutter.RotateAxis axis, double angle_tilt);
430                 public void set_center (int x, int y);
431                 public void set_tilt (double angle_tilt_x, double angle_tilt_y, double angle_tilt_z);
432                 public double angle_end { get; set; }
433                 public double angle_start { get; set; }
434                 [NoAccessorMethod]
435                 public double angle_tilt_x { get; set; }
436                 [NoAccessorMethod]
437                 public double angle_tilt_y { get; set; }
438                 [NoAccessorMethod]
439                 public double angle_tilt_z { get; set; }
440                 [NoAccessorMethod]
441                 public Clutter.Knot center { get; set; }
442                 public Clutter.RotateDirection direction { get; set; }
443                 public int height { get; set; }
444                 public int width { get; set; }
445         }
446         [CCode (cheader_filename = "clutter/clutter.h")]
447         public class BehaviourOpacity : Clutter.Behaviour, Clutter.Scriptable {
448                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
449                 public BehaviourOpacity (Clutter.Alpha alpha, uchar opacity_start, uchar opacity_end);
450                 public void get_bounds (out uchar opacity_start, out uchar opacity_end);
451                 public void set_bounds (uchar opacity_start, uchar opacity_end);
452                 [NoAccessorMethod]
453                 public uint opacity_end { get; set; }
454                 [NoAccessorMethod]
455                 public uint opacity_start { get; set; }
456         }
457         [CCode (cheader_filename = "clutter/clutter.h")]
458         public class BehaviourPath : Clutter.Behaviour, Clutter.Scriptable {
459                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
460                 public BehaviourPath (Clutter.Alpha alpha, Clutter.Path path);
461                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
462                 public BehaviourPath.with_description (Clutter.Alpha alpha, string desc);
463                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
464                 public BehaviourPath.with_knots (Clutter.Alpha alpha, Clutter.Knot[] knots);
465                 public Clutter.Path path { get; set; }
466                 public virtual signal void knot_reached (uint knot_num);
467         }
468         [CCode (cheader_filename = "clutter/clutter.h")]
469         public class BehaviourRotate : Clutter.Behaviour, Clutter.Scriptable {
470                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
471                 public BehaviourRotate (Clutter.Alpha alpha, Clutter.RotateAxis axis, Clutter.RotateDirection direction, double angle_start, double angle_end);
472                 public void get_bounds (out double angle_start, out double angle_end);
473                 public void get_center (out int x, out int y, out int z);
474                 public void set_bounds (double angle_start, double angle_end);
475                 public void set_center (int x, int y, int z);
476                 [NoAccessorMethod]
477                 public double angle_end { get; set; }
478                 [NoAccessorMethod]
479                 public double angle_start { get; set; }
480                 public Clutter.RotateAxis axis { get; set; }
481                 [NoAccessorMethod]
482                 public int center_x { get; set; }
483                 [NoAccessorMethod]
484                 public int center_y { get; set; }
485                 [NoAccessorMethod]
486                 public int center_z { get; set; }
487                 public Clutter.RotateDirection direction { get; set; }
488         }
489         [CCode (cheader_filename = "clutter/clutter.h")]
490         public class BehaviourScale : Clutter.Behaviour, Clutter.Scriptable {
491                 [CCode (type = "ClutterBehaviour*", has_construct_function = false)]
492                 public BehaviourScale (Clutter.Alpha alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
493                 public void get_bounds (out double x_scale_start, out double y_scale_start, out double x_scale_end, out double y_scale_end);
494                 public void set_bounds (double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
495                 [NoAccessorMethod]
496                 public double x_scale_end { get; set; }
497                 [NoAccessorMethod]
498                 public double x_scale_start { get; set; }
499                 [NoAccessorMethod]
500                 public double y_scale_end { get; set; }
501                 [NoAccessorMethod]
502                 public double y_scale_start { get; set; }
503         }
504         [CCode (cheader_filename = "clutter/clutter.h")]
505         public class BinLayout : Clutter.LayoutManager {
506                 [CCode (type = "ClutterLayoutManager*", has_construct_function = false)]
507                 public BinLayout (Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
508                 public void add (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
509                 public void get_alignment (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
510                 public void set_alignment (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
511                 [NoAccessorMethod]
512                 public Clutter.BinAlignment x_align { get; set; }
513                 [NoAccessorMethod]
514                 public Clutter.BinAlignment y_align { get; set; }
515         }
516         [CCode (cheader_filename = "clutter/clutter.h")]
517         public class BindingPool : GLib.Object {
518                 [CCode (has_construct_function = false)]
519                 public BindingPool (string name);
520                 public bool activate (uint key_val, Clutter.ModifierType modifiers, GLib.Object gobject);
521                 public void block_action (string action_name);
522                 public static unowned Clutter.BindingPool find (string name);
523                 public unowned string find_action (uint key_val, Clutter.ModifierType modifiers);
524                 public static unowned Clutter.BindingPool get_for_class (void* klass);
525                 public void install_action (string action_name, uint key_val, Clutter.ModifierType modifiers, [CCode (type = "GCallback")] owned Clutter.BindingActionFunc callback);
526                 public void install_closure (string action_name, uint key_val, Clutter.ModifierType modifiers, [CCode (type = "GClosure*")] owned Clutter.BindingActionFunc closure);
527                 public void override_action (uint key_val, Clutter.ModifierType modifiers, owned GLib.Callback callback);
528                 public void override_closure (uint key_val, Clutter.ModifierType modifiers, GLib.Closure closure);
529                 public void remove_action (uint key_val, Clutter.ModifierType modifiers);
530                 public void unblock_action (string action_name);
531                 [NoAccessorMethod]
532                 public string name { owned get; construct; }
533         }
534         [CCode (cheader_filename = "clutter/clutter.h")]
535         public class Box : Clutter.Actor, Clutter.Scriptable, Clutter.Container {
536                 [CCode (type = "ClutterActor*", has_construct_function = false)]
537                 public Box (Clutter.LayoutManager manager);
538                 public void get_color (Clutter.Color color);
539                 public unowned Clutter.LayoutManager get_layout_manager ();
540                 public void pack (Clutter.Actor actor, ...);
541                 public void pack_after (Clutter.Actor actor, Clutter.Actor sibling, ...);
542                 public void pack_at (Clutter.Actor actor, int position, ...);
543                 public void pack_before (Clutter.Actor actor, Clutter.Actor sibling, ...);
544                 public void packv (Clutter.Actor actor, uint n_properties, string[] properties, GLib.Value values);
545                 public void set_color (Clutter.Color color);
546                 public void set_layout_manager (Clutter.LayoutManager manager);
547                 public Clutter.Color color { get; set; }
548                 [NoAccessorMethod]
549                 public bool color_set { get; set; }
550                 public Clutter.LayoutManager layout_manager { get; set construct; }
551         }
552         [CCode (cheader_filename = "clutter/clutter.h")]
553         public class BoxLayout : Clutter.LayoutManager {
554                 [CCode (type = "ClutterLayoutManager*", has_construct_function = false)]
555                 public BoxLayout ();
556                 public void get_alignment (Clutter.Actor actor, Clutter.BoxAlignment x_align, Clutter.BoxAlignment y_align);
557                 public uint get_easing_duration ();
558                 public ulong get_easing_mode ();
559                 public bool get_expand (Clutter.Actor actor);
560                 public void get_fill (Clutter.Actor actor, bool x_fill, bool y_fill);
561                 public bool get_pack_start ();
562                 public uint get_spacing ();
563                 public bool get_use_animations ();
564                 public bool get_vertical ();
565                 public void pack (Clutter.Actor actor, bool expand, bool x_fill, bool y_fill, Clutter.BoxAlignment x_align, Clutter.BoxAlignment y_align);
566                 public void set_alignment (Clutter.Actor actor, Clutter.BoxAlignment x_align, Clutter.BoxAlignment y_align);
567                 public void set_easing_duration (uint msecs);
568                 public void set_easing_mode (ulong mode);
569                 public void set_expand (Clutter.Actor actor, bool expand);
570                 public void set_fill (Clutter.Actor actor, bool x_fill, bool y_fill);
571                 public void set_pack_start (bool pack_start);
572                 public void set_spacing (uint spacing);
573                 public void set_use_animations (bool animate);
574                 public void set_vertical (bool vertical);
575                 public uint easing_duration { get; set; }
576                 public ulong easing_mode { get; set; }
577                 public bool pack_start { get; set; }
578                 public uint spacing { get; set; }
579                 public bool use_animations { get; set; }
580                 public bool vertical { get; set; }
581         }
582         [CCode (cheader_filename = "clutter/clutter.h")]
583         public class CairoTexture : Clutter.Texture, Clutter.Scriptable {
584                 [CCode (type = "ClutterActor*", has_construct_function = false)]
585                 public CairoTexture (uint width, uint height);
586                 public void clear ();
587                 public Cairo.Context create ();
588                 public Cairo.Context create_region (int x_offset, int y_offset, int width, int height);
589                 public void get_surface_size (out uint width, out uint height);
590                 public void set_surface_size (uint width, uint height);
591                 [NoAccessorMethod]
592                 public uint surface_height { get; set; }
593                 [NoAccessorMethod]
594                 public uint surface_width { get; set; }
595         }
596         [CCode (cheader_filename = "clutter/clutter.h")]
597         public class ChildMeta : GLib.Object {
598                 [CCode (has_construct_function = false)]
599                 protected ChildMeta ();
600                 public Clutter.Actor actor { get; construct; }
601                 public Clutter.Container container { get; construct; }
602         }
603         [CCode (cheader_filename = "clutter/clutter.h")]
604         public class Clone : Clutter.Actor, Clutter.Scriptable {
605                 [CCode (type = "ClutterActor*", has_construct_function = false)]
606                 public Clone (Clutter.Actor source);
607                 public Clutter.Actor source { get; set construct; }
608         }
609         [CCode (cheader_filename = "clutter/clutter.h")]
610         public class DeviceManager : GLib.Object {
611                 [CCode (has_construct_function = false)]
612                 protected DeviceManager ();
613                 [NoWrapper]
614                 public virtual void add_device (Clutter.InputDevice device);
615                 public virtual unowned Clutter.InputDevice get_core_device (Clutter.InputDeviceType device_type);
616                 public static unowned Clutter.DeviceManager get_default ();
617                 public virtual unowned Clutter.InputDevice get_device (int device_id);
618                 [NoWrapper]
619                 public virtual unowned GLib.SList<Clutter.InputDevice> get_devices ();
620                 public GLib.SList<weak Clutter.InputDevice> list_devices ();
621                 public unowned GLib.SList<Clutter.InputDevice> peek_devices ();
622                 [NoWrapper]
623                 public virtual void remove_device (Clutter.InputDevice device);
624                 [NoAccessorMethod]
625                 public Clutter.Backend backend { owned get; construct; }
626                 public virtual signal void device_added (Clutter.InputDevice p0);
627                 public virtual signal void device_removed (Clutter.InputDevice p0);
628         }
629         [Compact]
630         [CCode (copy_function = "clutter_event_copy", type_id = "CLUTTER_TYPE_EVENT", cheader_filename = "clutter/clutter.h")]
631         public class Event {
632                 public Clutter.AnyEvent any;
633                 public Clutter.ButtonEvent button;
634                 public Clutter.CrossingEvent crossing;
635                 public Clutter.KeyEvent key;
636                 public Clutter.MotionEvent motion;
637                 public Clutter.ScrollEvent scroll;
638                 public Clutter.StageStateEvent stage_state;
639                 public Clutter.EventType type;
640                 [CCode (has_construct_function = false)]
641                 public Event (Clutter.EventType type);
642                 public unowned Clutter.Event copy ();
643                 public static unowned Clutter.Event @get ();
644                 public uint32 get_button ();
645                 public uint get_click_count ();
646                 public void get_coords (out float x, out float y);
647                 public unowned Clutter.InputDevice get_device ();
648                 public int get_device_id ();
649                 public Clutter.InputDeviceType get_device_type ();
650                 public Clutter.EventFlags get_flags ();
651                 public uint16 get_key_code ();
652                 public uint get_key_symbol ();
653                 public uint32 get_key_unicode ();
654                 public unowned Clutter.Actor get_related ();
655                 public Clutter.ScrollDirection get_scroll_direction ();
656                 public unowned Clutter.Actor get_source ();
657                 public unowned Clutter.Stage get_stage ();
658                 public Clutter.ModifierType get_state ();
659                 public uint32 get_time ();
660                 [CCode (cname = "clutter_event_type")]
661                 public Clutter.EventType get_type ();
662                 public static unowned Clutter.Event peek ();
663                 public void put ();
664         }
665         [CCode (cheader_filename = "clutter/clutter.h")]
666         public class FixedLayout : Clutter.LayoutManager {
667                 [CCode (type = "ClutterLayoutManager*", has_construct_function = false)]
668                 public FixedLayout ();
669         }
670         [CCode (cheader_filename = "clutter/clutter.h")]
671         public class FlowLayout : Clutter.LayoutManager {
672                 [CCode (type = "ClutterLayoutManager*", has_construct_function = false)]
673                 public FlowLayout (Clutter.FlowOrientation orientation);
674                 public float get_column_spacing ();
675                 public void get_column_width (float min_width, float max_width);
676                 public bool get_homogeneous ();
677                 public Clutter.FlowOrientation get_orientation ();
678                 public void get_row_height (float min_height, float max_height);
679                 public float get_row_spacing ();
680                 public void set_column_spacing (float spacing);
681                 public void set_column_width (float min_width, float max_width);
682                 public void set_homogeneous (bool homogeneous);
683                 public void set_orientation (Clutter.FlowOrientation orientation);
684                 public void set_row_height (float min_height, float max_height);
685                 public void set_row_spacing (float spacing);
686                 public float column_spacing { get; set; }
687                 public bool homogeneous { get; set; }
688                 [NoAccessorMethod]
689                 public float max_column_width { get; set; }
690                 [NoAccessorMethod]
691                 public float max_row_height { get; set; }
692                 [NoAccessorMethod]
693                 public float min_column_width { get; set; }
694                 [NoAccessorMethod]
695                 public float min_row_height { get; set; }
696                 public Clutter.FlowOrientation orientation { get; set construct; }
697                 public float row_spacing { get; set; }
698         }
699         [CCode (cheader_filename = "clutter/clutter.h")]
700         public class Group : Clutter.Actor, Clutter.Scriptable, Clutter.Container {
701                 [CCode (type = "ClutterActor*", has_construct_function = false)]
702                 public Group ();
703                 public int get_n_children ();
704                 public unowned Clutter.Actor get_nth_child (int index_);
705                 public void remove_all ();
706         }
707         [CCode (cheader_filename = "clutter/clutter.h")]
708         public class InputDevice : GLib.Object {
709                 [CCode (has_construct_function = false)]
710                 protected InputDevice ();
711                 public void get_device_coords (int x, int y);
712                 public int get_device_id ();
713                 public unowned string get_device_name ();
714                 public Clutter.InputDeviceType get_device_type ();
715                 [CCode (cname = "clutter_get_input_device_for_id")]
716                 public static unowned Clutter.InputDevice get_for_id (int id);
717                 public unowned Clutter.Actor get_pointer_actor ();
718                 public unowned Clutter.Stage get_pointer_stage ();
719                 public void update_from_event (Clutter.Event event, bool update_stage);
720                 public Clutter.InputDeviceType device_type { get; construct; }
721                 [NoAccessorMethod]
722                 public int id { get; construct; }
723                 [NoAccessorMethod]
724                 public string name { owned get; construct; }
725         }
726         [CCode (cheader_filename = "clutter/clutter.h")]
727         public class Interval : GLib.InitiallyUnowned {
728                 [CCode (has_construct_function = false)]
729                 public Interval (GLib.Type gtype);
730                 public unowned Clutter.Interval clone ();
731                 public virtual bool compute_value (double factor, out GLib.Value value);
732                 public void get_final_value (out GLib.Value value);
733                 public void get_initial_value (out GLib.Value value);
734                 public void get_interval (...);
735                 public GLib.Value peek_final_value ();
736                 public GLib.Value peek_initial_value ();
737                 public static void register_progress_func (GLib.Type value_type, Clutter.ProgressFunc func);
738                 public void set_final_value (GLib.Value value);
739                 public void set_initial_value (GLib.Value value);
740                 public void set_interval ();
741                 public virtual bool validate (Clutter.ParamSpecColor pspec);
742                 [CCode (has_construct_function = false)]
743                 public Interval.with_values (GLib.Type gtype, GLib.Value initial, GLib.Value final);
744                 public GLib.Type value_type { get; construct; }
745         }
746         [CCode (cheader_filename = "clutter/clutter.h")]
747         public class LayoutManager : GLib.InitiallyUnowned {
748                 public void* dummy;
749                 [CCode (has_construct_function = false)]
750                 protected LayoutManager ();
751                 public virtual void allocate (Clutter.Container container, Clutter.ActorBox allocation, Clutter.AllocationFlags flags);
752                 public virtual unowned Clutter.Alpha begin_animation (uint duration, ulong mode);
753                 public void child_get (Clutter.Container container, Clutter.Actor actor, ...);
754                 public void child_get_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
755                 public void child_set (Clutter.Container container, Clutter.Actor actor, ...);
756                 public void child_set_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
757                 [NoWrapper]
758                 public virtual unowned Clutter.LayoutMeta create_child_meta (Clutter.Container container, Clutter.Actor actor);
759                 public virtual void end_animation ();
760                 public unowned Clutter.ParamSpecColor find_child_property (string name);
761                 public virtual double get_animation_progress ();
762                 public unowned Clutter.LayoutMeta get_child_meta (Clutter.Container container, Clutter.Actor actor);
763                 [NoWrapper]
764                 public virtual GLib.Type get_child_meta_type ();
765                 public virtual void get_preferred_height (Clutter.Container container, float for_width, out float min_height_p, out float nat_height_p);
766                 public virtual void get_preferred_width (Clutter.Container container, float for_height, out float min_width_p, out float nat_width_p);
767                 public unowned Clutter.ParamSpecColor list_child_properties (uint n_pspecs);
768                 public virtual void set_container (Clutter.Container container);
769                 [HasEmitter]
770                 public virtual signal void layout_changed ();
771         }
772         [CCode (cheader_filename = "clutter/clutter.h")]
773         public class LayoutMeta : Clutter.ChildMeta {
774                 public int32 dummy0;
775                 public void* dummy1;
776                 [CCode (has_construct_function = false)]
777                 protected LayoutMeta ();
778                 public unowned Clutter.LayoutManager get_manager ();
779                 public Clutter.LayoutManager manager { get; construct; }
780         }
781         [CCode (cheader_filename = "clutter/clutter.h")]
782         public class ListModel : Clutter.Model, Clutter.Scriptable {
783                 [CCode (type = "ClutterModel*", has_construct_function = false)]
784                 public ListModel (uint n_columns);
785                 [CCode (cname = "clutter_list_model_newv", type = "ClutterModel*", has_construct_function = false)]
786                 public ListModel.newv ([CCode (array_length_pos = 0.9)] GLib.Type[] types, [CCode (array_length_pos = 0.9)] string[] names);
787         }
788         [CCode (cheader_filename = "clutter/clutter.h")]
789         public class Model : GLib.Object, Clutter.Scriptable {
790                 [CCode (has_construct_function = false)]
791                 protected Model ();
792                 public void append (...);
793                 public void appendv ([CCode (array_length_pos = 0.9)] uint[] columns, [CCode (array_length_pos = 0.9)] GLib.Value[] values);
794                 public bool filter_iter (Clutter.ModelIter iter);
795                 public bool filter_row (uint row);
796                 public void @foreach (Clutter.ModelForeachFunc func);
797                 public virtual unowned string get_column_name (uint column);
798                 public virtual GLib.Type get_column_type (uint column);
799                 public bool get_filter_set ();
800                 public unowned Clutter.ModelIter get_first_iter ();
801                 public virtual unowned Clutter.ModelIter get_iter_at_row (uint row);
802                 public unowned Clutter.ModelIter get_last_iter ();
803                 public virtual uint get_n_columns ();
804                 public virtual uint get_n_rows ();
805                 public int get_sorting_column ();
806                 public void insert (uint row);
807                 [NoWrapper]
808                 public virtual unowned Clutter.ModelIter insert_row (int index_);
809                 public void insert_value (uint row, uint column, GLib.Value value);
810                 public void insertv (uint row, [CCode (array_length_pos = 1.9)] uint[] columns, [CCode (array_length_pos = 1.9)] GLib.Value[] values);
811                 public void prepend ();
812                 public void prependv (uint n_columns, uint columns, GLib.Value values);
813                 public void remove (uint row);
814                 [NoWrapper]
815                 public virtual void remove_row (uint row);
816                 public virtual void resort ();
817                 public void set_filter (owned Clutter.ModelFilterFunc func);
818                 public void set_names ([CCode (array_length_pos = 0.9)] string[] names);
819                 public void set_sort (uint column, owned Clutter.ModelSortFunc func);
820                 public void set_sorting_column (int column);
821                 public void set_types ([CCode (array_length_pos = 0.9)] GLib.Type[] types);
822                 public bool filter_set { get; }
823                 public virtual signal void filter_changed ();
824                 public virtual signal void row_added (Clutter.ModelIter iter);
825                 public virtual signal void row_changed (Clutter.ModelIter iter);
826                 public virtual signal void row_removed (Clutter.ModelIter iter);
827                 public virtual signal void sort_changed ();
828         }
829         [CCode (cheader_filename = "clutter/clutter.h")]
830         public class ModelIter : GLib.Object {
831                 [CCode (has_construct_function = false)]
832                 protected ModelIter ();
833                 public virtual unowned Clutter.ModelIter copy ();
834                 public void @get (...);
835                 public virtual unowned Clutter.Model get_model ();
836                 public virtual uint get_row ();
837                 public virtual void get_value (uint column, out GLib.Value value);
838                 public virtual bool is_first ();
839                 public virtual bool is_last ();
840                 public virtual unowned Clutter.ModelIter next ();
841                 public virtual unowned Clutter.ModelIter prev ();
842                 public void @set (...);
843                 public virtual void set_value (uint column, GLib.Value value);
844                 [NoAccessorMethod]
845                 public Clutter.Model model { owned get; set; }
846                 [NoAccessorMethod]
847                 public uint row { get; set; }
848         }
849         [CCode (cname = "GParamSpec", cheader_filename = "clutter/clutter.h")]
850         public class ParamSpecColor : GLib.ParamSpec {
851                 public Clutter.Color default_value;
852                 public weak Clutter.ParamSpecColor parent_instance;
853                 [CCode (cname = "clutter_param_spec_color")]
854                 public ParamSpecColor (string name, string nick, string blurb, Clutter.Color default_value, GLib.ParamFlags flags);
855         }
856         [CCode (cname = "GParamSpec", cheader_filename = "clutter/clutter.h")]
857         public class ParamSpecFixed : GLib.ParamSpec {
858                 public Cogl.Fixed default_value;
859                 public Cogl.Fixed maximum;
860                 public Cogl.Fixed minimum;
861                 public weak Clutter.ParamSpecColor parent_instance;
862                 [CCode (cname = "clutter_param_spec_fixed")]
863                 public ParamSpecFixed (string name, string nick, string blurb, Cogl.Fixed minimum, Cogl.Fixed maximum, Cogl.Fixed default_value, GLib.ParamFlags flags);
864         }
865         [CCode (cname = "GParamSpec", cheader_filename = "clutter/clutter.h")]
866         public class ParamSpecUnits : GLib.ParamSpec {
867                 public Clutter.UnitType default_type;
868                 public float default_value;
869                 public float maximum;
870                 public float minimum;
871                 public weak Clutter.ParamSpecColor parent_instance;
872                 [CCode (cname = "clutter_param_spec_units")]
873                 public ParamSpecUnits (string name, string nick, string blurb, Clutter.Units minimum, Clutter.Units maximum, Clutter.Units default_value, GLib.ParamFlags flags);
874         }
875         [CCode (cheader_filename = "clutter/clutter.h")]
876         public class Path : GLib.InitiallyUnowned {
877                 [CCode (has_construct_function = false)]
878                 public Path ();
879                 public void add_cairo_path (Cairo.Path cpath);
880                 public void add_close ();
881                 public void add_curve_to (int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
882                 public void add_line_to (int x, int y);
883                 public void add_move_to (int x, int y);
884                 public void add_node (Clutter.PathNode node);
885                 public void add_rel_curve_to (int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
886                 public void add_rel_line_to (int x, int y);
887                 public void add_rel_move_to (int x, int y);
888                 public bool add_string (string str);
889                 public void clear ();
890                 public void @foreach (Clutter.PathCallback callback);
891                 public uint get_n_nodes ();
892                 public void get_node (uint index_, Clutter.PathNode node);
893                 public GLib.SList<weak Clutter.PathNode> get_nodes ();
894                 public uint get_position (double progress, Clutter.Knot position);
895                 public void insert_node (int index_, Clutter.PathNode node);
896                 public void remove_node (uint index_);
897                 public void replace_node (uint index_, Clutter.PathNode node);
898                 public bool set_description (string str);
899                 public void to_cairo_path (Cairo.Context cr);
900                 [CCode (has_construct_function = false)]
901                 public Path.with_description (string desc);
902                 public string description { get; set; }
903                 public uint length { get; }
904         }
905         [CCode (cheader_filename = "clutter/clutter.h")]
906         public class Rectangle : Clutter.Actor, Clutter.Scriptable {
907                 [CCode (type = "ClutterActor*", has_construct_function = false)]
908                 public Rectangle ();
909                 [CCode (type = "ClutterActor*", has_construct_function = false)]
910                 public Rectangle.with_color (Clutter.Color color);
911                 public Clutter.Color border_color { get; set; }
912                 public uint border_width { get; set; }
913                 public Clutter.Color color { get; set; }
914                 [NoAccessorMethod]
915                 public bool has_border { get; set; }
916         }
917         [CCode (cheader_filename = "clutter/clutter.h")]
918         public class Score : GLib.Object {
919                 [CCode (has_construct_function = false)]
920                 public Score ();
921                 public ulong append (Clutter.Timeline? parent, Clutter.Timeline timeline);
922                 public ulong append_at_marker (Clutter.Timeline parent, string marker_name, Clutter.Timeline timeline);
923                 public bool get_loop ();
924                 public unowned Clutter.Timeline get_timeline (ulong id);
925                 public bool is_playing ();
926                 public GLib.SList<weak Clutter.Timeline> list_timelines ();
927                 public void pause ();
928                 public void remove (ulong id);
929                 public void remove_all ();
930                 public void rewind ();
931                 public void set_loop (bool loop);
932                 public void start ();
933                 public void stop ();
934                 public bool loop { get; set; }
935                 public virtual signal void completed ();
936                 public virtual signal void paused ();
937                 public virtual signal void started ();
938                 public virtual signal void timeline_completed (Clutter.Timeline timeline);
939                 public virtual signal void timeline_started (Clutter.Timeline timeline);
940         }
941         [CCode (cheader_filename = "clutter/clutter.h")]
942         public class Script : GLib.Object {
943                 [CCode (has_construct_function = false)]
944                 public Script ();
945                 public void add_search_paths (string[] paths);
946                 public void connect_signals (void* user_data);
947                 public void connect_signals_full (Clutter.ScriptConnectFunc func);
948                 public void ensure_objects ();
949                 public static GLib.Quark error_quark ();
950                 public unowned GLib.Object get_object (string name);
951                 public int get_objects (...);
952                 public virtual GLib.Type get_type_from_name (string type_name);
953                 public GLib.List<weak GLib.Object> list_objects ();
954                 public uint load_from_data (string data, ssize_t length) throws GLib.Error;
955                 public uint load_from_file (string filename) throws GLib.Error;
956                 public unowned string lookup_filename (string filename);
957                 public void unmerge_objects (uint merge_id);
958                 [NoAccessorMethod]
959                 public string filename { owned get; }
960                 [NoAccessorMethod]
961                 public bool filename_set { get; }
962         }
963         [CCode (cheader_filename = "clutter/clutter.h")]
964         public class Shader : GLib.Object {
965                 [CCode (has_construct_function = false)]
966                 public Shader ();
967                 public bool compile () throws GLib.Error;
968                 public static GLib.Quark error_quark ();
969                 public Cogl.Shader get_cogl_fragment_shader ();
970                 public Cogl.Program get_cogl_program ();
971                 public Cogl.Shader get_cogl_vertex_shader ();
972                 public unowned string get_fragment_source ();
973                 public bool get_is_enabled ();
974                 public unowned string get_vertex_source ();
975                 public bool is_compiled ();
976                 public void release ();
977                 public void set_fragment_source (string data, ssize_t length);
978                 public void set_is_enabled (bool enabled);
979                 public void set_uniform (string name, GLib.Value value);
980                 public void set_vertex_source (string data, ssize_t length);
981                 [NoAccessorMethod]
982                 public bool compiled { get; }
983                 [NoAccessorMethod]
984                 public bool enabled { get; set; }
985                 public string fragment_source { get; set; }
986                 public string vertex_source { get; set; }
987         }
988         [CCode (cheader_filename = "clutter/clutter.h")]
989         public class Stage : Clutter.Group, Clutter.Scriptable, Clutter.Container {
990                 [CCode (type = "ClutterActor*", has_construct_function = false)]
991                 public Stage ();
992                 [CCode (cname = "clutter_stage_event")]
993                 public bool emit_event (Clutter.Event event);
994                 public void ensure_current ();
995                 public void ensure_redraw ();
996                 public void ensure_viewport ();
997                 public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, int x, int y);
998                 public static unowned Clutter.Stage get_default ();
999                 public bool get_fullscreen ();
1000                 public unowned Clutter.Actor get_key_focus ();
1001                 public void get_minimum_size (uint width, uint height);
1002                 public void get_perspective (out Clutter.Perspective perspective);
1003                 public bool get_throttle_motion_events ();
1004                 public bool get_use_alpha ();
1005                 public void hide_cursor ();
1006                 public bool is_default ();
1007                 public void queue_redraw ();
1008                 [CCode (array_length = false)]
1009                 public uchar[] read_pixels (int x, int y, int width = -1, int height = -1);
1010                 [CCode (cname = "clutter_redraw")]
1011                 public void redraw ();
1012                 public void set_fullscreen (bool fullscreen);
1013                 public void set_key_focus (Clutter.Actor? actor);
1014                 public void set_minimum_size (uint width, uint height);
1015                 public void set_perspective (Clutter.Perspective perspective);
1016                 public void set_throttle_motion_events (bool throttle);
1017                 public void set_use_alpha (bool use_alpha);
1018                 public void show_cursor ();
1019                 public Clutter.Color color { get; set; }
1020                 [NoAccessorMethod]
1021                 public bool cursor_visible { get; set; }
1022                 public Clutter.Fog fog { get; set; }
1023                 [NoAccessorMethod]
1024                 public bool fullscreen_set { get; }
1025                 public Clutter.Actor key_focus { get; set; }
1026                 [NoAccessorMethod]
1027                 public bool offscreen { get; set; }
1028                 [NoAccessorMethod]
1029                 public Clutter.Perspective perspective { get; set; }
1030                 public string title { get; set; }
1031                 public bool use_alpha { get; set; }
1032                 public bool use_fog { get; set; }
1033                 public bool user_resizable { get; set; }
1034                 public virtual signal void activate ();
1035                 public virtual signal void deactivate ();
1036                 public virtual signal bool delete_event (Clutter.Event event);
1037                 [HasEmitter]
1038                 public virtual signal void fullscreen ();
1039                 [HasEmitter]
1040                 public virtual signal void unfullscreen ();
1041         }
1042         [CCode (cheader_filename = "clutter/clutter.h")]
1043         public class StageManager : GLib.Object {
1044                 [CCode (has_construct_function = false)]
1045                 protected StageManager ();
1046                 public static unowned Clutter.StageManager get_default ();
1047                 public unowned GLib.SList<Clutter.Stage> list_stages ();
1048                 public unowned GLib.SList<Clutter.Stage> peek_stages ();
1049                 public Clutter.Stage default_stage { get; }
1050                 public virtual signal void stage_added (Clutter.Stage stage);
1051                 public virtual signal void stage_removed (Clutter.Stage stage);
1052         }
1053         [CCode (cheader_filename = "clutter/clutter.h")]
1054         public class Text : Clutter.Actor, Clutter.Scriptable {
1055                 [CCode (type = "ClutterActor*", has_construct_function = false)]
1056                 public Text ();
1057                 public void delete_chars (uint n_chars);
1058                 public bool delete_selection ();
1059                 [CCode (type = "ClutterActor*", has_construct_function = false)]
1060                 public Text.full (string font_name, string text, Clutter.Color color);
1061                 public unowned Pango.AttrList get_attributes ();
1062                 public unowned string get_chars (ssize_t start_pos, ssize_t end_pos);
1063                 public int get_cursor_position ();
1064                 public unowned Pango.FontDescription get_font_description ();
1065                 public unowned Pango.Layout get_layout ();
1066                 public unowned string get_selection ();
1067                 public void insert_text (string text, ssize_t position);
1068                 public void insert_unichar (unichar wc);
1069                 public bool position_to_coords (int position, out float? x = null, out float? y = null, out float? line_height = null);
1070                 public void set_attributes (Pango.AttrList attrs);
1071                 public void set_cursor_position (int position);
1072                 public void set_font_description (Pango.FontDescription font_desc);
1073                 public void set_markup (string markup);
1074                 public void set_preedit_string (string preedit_str, Pango.AttrList preedit_attrs, uint cursor_pos);
1075                 public void set_selection (ssize_t start_pos, ssize_t end_pos);
1076                 [CCode (type = "ClutterActor*", has_construct_function = false)]
1077                 public Text.with_text (string? font_name, string text);
1078                 public bool activatable { get; set; }
1079                 public Pango.AttrList attributes { get; set; }
1080                 public Clutter.Color color { get; set; }
1081                 public Clutter.Color cursor_color { get; set; }
1082                 [NoAccessorMethod]
1083                 public bool cursor_color_set { get; }
1084                 public int cursor_size { get; set; }
1085                 public bool cursor_visible { get; set; }
1086                 public bool editable { get; set; }
1087                 public Pango.EllipsizeMode ellipsize { get; set; }
1088                 public Pango.FontDescription font_description { get; set; }
1089                 public string font_name { get; set; }
1090                 public bool justify { get; set; }
1091                 public Pango.Alignment line_alignment { get; set; }
1092                 public bool line_wrap { get; set; }
1093                 public Pango.WrapMode line_wrap_mode { get; set; }
1094                 public int max_length { get; set; }
1095                 public uint password_char { get; set; }
1096                 [NoAccessorMethod]
1097                 public int position { get; set; }
1098                 public bool selectable { get; set; }
1099                 public int selection_bound { get; set; }
1100                 public Clutter.Color selection_color { get; set; }
1101                 [NoAccessorMethod]
1102                 public bool selection_color_set { get; }
1103                 public bool single_line_mode { get; set; }
1104                 public string text { get; set; }
1105                 public bool use_markup { get; set; }
1106                 [HasEmitter]
1107                 public virtual signal void activate ();
1108                 public virtual signal void cursor_event (Clutter.Geometry geometry);
1109                 [HasEmitter]
1110                 public virtual signal void delete_text (int p0, int p1);
1111                 public virtual signal void text_changed ();
1112         }
1113         [CCode (cheader_filename = "clutter/clutter.h")]
1114         public class Texture : Clutter.Actor, Clutter.Scriptable {
1115                 [CCode (type = "ClutterActor*", has_construct_function = false)]
1116                 public Texture ();
1117                 public static GLib.Quark error_quark ();
1118                 [CCode (type = "ClutterActor*", has_construct_function = false)]
1119                 public Texture.from_actor (Clutter.Actor actor);
1120                 [CCode (has_construct_function = false)]
1121                 public Texture.from_file (string filename) throws Clutter.TextureError;
1122                 public void get_base_size (out int width, out int height);
1123                 public void get_repeat (out bool repeat_x, out bool repeat_y);
1124                 public bool set_area_from_rgb_data (uchar[] data, bool has_alpha, int x, int y, int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws GLib.Error;
1125                 public bool set_from_file (string filename) throws GLib.Error;
1126                 public bool set_from_rgb_data ([CCode (array_length = false)] uchar[] data, bool has_alpha, int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws GLib.Error;
1127                 public bool set_from_yuv_data ([CCode (array_length = false)] uchar[] data, int width, int height, Clutter.TextureFlags flags) throws GLib.Error;
1128                 public void set_repeat (bool repeat_x, bool repeat_y);
1129                 public Cogl.Material cogl_material { get; set; }
1130                 public Cogl.Texture cogl_texture { get; set; }
1131                 [NoAccessorMethod]
1132                 public bool disable_slicing { get; construct; }
1133                 [NoAccessorMethod]
1134                 public string filename { set; }
1135                 public Clutter.TextureQuality filter_quality { get; set construct; }
1136                 public bool keep_aspect_ratio { get; set; }
1137                 public bool load_async { set; }
1138                 public bool load_data_async { set; }
1139                 public Cogl.PixelFormat pixel_format { get; }
1140                 [NoAccessorMethod]
1141                 public bool repeat_x { get; set; }
1142                 [NoAccessorMethod]
1143                 public bool repeat_y { get; set; }
1144                 public bool sync_size { get; set; }
1145                 [NoAccessorMethod]
1146                 public int tile_waste { get; }
1147                 public virtual signal void load_finished (void* error);
1148                 public virtual signal void pixbuf_change ();
1149                 public virtual signal void size_change (int width, int height);
1150         }
1151         [CCode (cheader_filename = "clutter/clutter.h")]
1152         public class Timeline : GLib.Object {
1153                 [CCode (has_construct_function = false)]
1154                 public Timeline (uint msecs);
1155                 public void add_marker_at_time (string marker_name, uint msecs);
1156                 public void advance (uint msecs);
1157                 public void advance_to_marker (string marker_name);
1158                 public unowned Clutter.Timeline clone ();
1159                 public void do_tick (GLib.TimeVal tick_time);
1160                 public uint get_elapsed_time ();
1161                 public double get_progress ();
1162                 public bool has_marker (string marker_name);
1163                 public bool is_playing ();
1164                 public unowned string list_markers (int msecs, size_t n_markers);
1165                 public void pause ();
1166                 public void remove_marker (string marker_name);
1167                 public void rewind ();
1168                 public void skip (uint msecs);
1169                 public void start ();
1170                 public void stop ();
1171                 public uint delay { get; set; }
1172                 public Clutter.TimelineDirection direction { get; set; }
1173                 public uint duration { get; set; }
1174                 public bool loop { get; set; }
1175                 public virtual signal void completed ();
1176                 public virtual signal void marker_reached (string marker_name, int frame_num);
1177                 public virtual signal void new_frame (int frame_num);
1178                 public virtual signal void paused ();
1179                 public virtual signal void started ();
1180         }
1181         [Compact]
1182         [CCode (cheader_filename = "clutter/clutter.h")]
1183         public class TimeoutPool {
1184                 [CCode (has_construct_function = false)]
1185                 public TimeoutPool (int priority);
1186                 public uint add (uint fps, GLib.SourceFunc func, void* data, GLib.DestroyNotify notify);
1187                 public void remove (uint id);
1188         }
1189         [CCode (cheader_filename = "clutter/clutter.h")]
1190         public interface Animatable {
1191                 public abstract bool animate_property (Clutter.Animation animation, string property_name, GLib.Value initial_value, GLib.Value final_value, double progress, GLib.Value value);
1192         }
1193         [CCode (cheader_filename = "clutter/clutter.h")]
1194         public interface Container : GLib.Object {
1195                 public void add (params Clutter.Actor[] actors);
1196                 [CCode (vfunc_name = "add")]
1197                 public abstract void add_actor (Clutter.Actor actor);
1198                 public void add_valist (Clutter.Actor first_actor, void* var_args);
1199                 public void child_get (Clutter.Actor actor, ...);
1200                 public void child_get_property (Clutter.Actor child, string property, GLib.Value value);
1201                 public void child_set (Clutter.Actor actor, ...);
1202                 public void child_set_property (Clutter.Actor child, string property, GLib.Value value);
1203                 [NoWrapper]
1204                 public virtual void create_child_meta (Clutter.Actor actor);
1205                 [NoWrapper]
1206                 public virtual void destroy_child_meta (Clutter.Actor actor);
1207                 public unowned Clutter.Actor find_child_by_name (string child_name);
1208                 [CCode (cname = "clutter_container_class_find_child_property")]
1209                 public class unowned Clutter.ParamSpecColor find_child_property (string property_name);
1210                 public abstract void @foreach (Clutter.Callback callback);
1211                 public virtual void foreach_with_internals (Clutter.Callback callback);
1212                 public virtual unowned Clutter.ChildMeta get_child_meta (Clutter.Actor actor);
1213                 public GLib.List<weak Clutter.Actor> get_children ();
1214                 [CCode (cname = "clutter_container_class_list_child_properties")]
1215                 public class unowned Clutter.ParamSpecColor list_child_properties (uint n_properties);
1216                 [CCode (vfunc_name = "lower")]
1217                 public virtual void lower_child (Clutter.Actor actor, Clutter.Actor? sibling = null);
1218                 [CCode (vfunc_name = "raise")]
1219                 public virtual void raise_child (Clutter.Actor actor, Clutter.Actor? sibling = null);
1220                 public void remove (params Clutter.Actor[] actors);
1221                 [CCode (vfunc_name = "remove")]
1222                 public abstract void remove_actor (Clutter.Actor actor);
1223                 public void remove_valist (Clutter.Actor first_actor, void* var_args);
1224                 public virtual void sort_depth_order ();
1225                 public signal void actor_added (Clutter.Actor actor);
1226                 public signal void actor_removed (Clutter.Actor actor);
1227                 public signal void child_notify (Clutter.Actor actor, Clutter.ParamSpecColor pspec);
1228         }
1229         [CCode (cheader_filename = "clutter/clutter.h")]
1230         public interface Media {
1231                 public double get_audio_volume ();
1232                 public double get_buffer_fill ();
1233                 public bool get_can_seek ();
1234                 public double get_duration ();
1235                 public bool get_playing ();
1236                 public double get_progress ();
1237                 public unowned string get_subtitle_font_name ();
1238                 public unowned string get_subtitle_uri ();
1239                 public unowned string get_uri ();
1240                 public void set_audio_volume (double volume);
1241                 public void set_filename (string filename);
1242                 public void set_playing (bool playing);
1243                 public void set_progress (double progress);
1244                 public void set_subtitle_font_name (string font_name);
1245                 public void set_subtitle_uri (string uri);
1246                 public void set_uri (string uri);
1247                 public signal void eos ();
1248                 public signal void error (void* error);
1249         }
1250         [CCode (cheader_filename = "clutter/clutter.h")]
1251         public interface Scriptable {
1252                 public abstract unowned string get_id ();
1253                 public abstract void set_custom_property (Clutter.Script script, string name, GLib.Value value);
1254                 public abstract void set_id (string id);
1255         }
1256         [CCode (cheader_filename = "clutter/clutter.h")]
1257         public interface StageWindow : GLib.Object {
1258                 [NoWrapper]
1259                 public abstract void add_redraw_clip (Clutter.Geometry stage_rectangle);
1260                 [NoWrapper]
1261                 public abstract void get_geometry (Clutter.Geometry geometry);
1262                 [NoWrapper]
1263                 public abstract int get_pending_swaps ();
1264                 [NoWrapper]
1265                 public abstract unowned Clutter.Actor get_wrapper ();
1266                 [NoWrapper]
1267                 public abstract bool has_redraw_clips ();
1268                 [NoWrapper]
1269                 public abstract void hide ();
1270                 [NoWrapper]
1271                 public abstract bool ignoring_redraw_clips ();
1272                 [NoWrapper]
1273                 public abstract bool realize ();
1274                 [NoWrapper]
1275                 public abstract void resize (int width, int height);
1276                 [NoWrapper]
1277                 public abstract void set_cursor_visible (bool cursor_visible);
1278                 [NoWrapper]
1279                 public abstract void set_fullscreen (bool is_fullscreen);
1280                 [NoWrapper]
1281                 public abstract void set_title (string title);
1282                 [NoWrapper]
1283                 public abstract void set_user_resizable (bool is_resizable);
1284                 [NoWrapper]
1285                 public abstract void show (bool do_raise);
1286                 [NoWrapper]
1287                 public abstract void unrealize ();
1288         }
1289         [CCode (type_id = "CLUTTER_TYPE_ACTOR_BOX", cheader_filename = "clutter/clutter.h")]
1290         public struct ActorBox {
1291                 public float x1;
1292                 public float y1;
1293                 public float x2;
1294                 public float y2;
1295                 public void clamp_to_pixel ();
1296                 public bool contains (float x, float y);
1297                 public bool equal (Clutter.ActorBox box_b);
1298                 [CCode (cname = "clutter_actor_box_from_vertices")]
1299                 public ActorBox.from_vertices (Clutter.Vertex[] verts);
1300                 public float get_area ();
1301                 public float get_height ();
1302                 public void get_origin (out float x, out float y);
1303                 public void get_size (out float width, out float height);
1304                 public float get_width ();
1305                 public float get_x ();
1306                 public float get_y ();
1307                 public void interpolate (Clutter.ActorBox final, double progress, Clutter.ActorBox _result);
1308         }
1309         [CCode (type_id = "CLUTTER_TYPE_ANY_EVENT", cheader_filename = "clutter/clutter.h")]
1310         public struct AnyEvent {
1311                 public Clutter.EventType type;
1312                 public uint32 time;
1313                 public Clutter.EventFlags flags;
1314                 public weak Clutter.Stage stage;
1315                 public weak Clutter.Actor source;
1316         }
1317         [CCode (type_id = "CLUTTER_TYPE_BUTTON_EVENT", cheader_filename = "clutter/clutter.h")]
1318         public struct ButtonEvent {
1319                 public Clutter.EventType type;
1320                 public uint32 time;
1321                 public Clutter.EventFlags flags;
1322                 public weak Clutter.Stage stage;
1323                 public weak Clutter.Actor source;
1324                 public float x;
1325                 public float y;
1326                 public Clutter.ModifierType modifier_state;
1327                 public uint32 button;
1328                 public uint click_count;
1329                 public double axes;
1330                 public weak Clutter.InputDevice device;
1331         }
1332         [CCode (type_id = "CLUTTER_TYPE_COLOR", cheader_filename = "clutter/clutter.h")]
1333         public struct Color {
1334                 public static GLib.HashFunc hash;
1335                 public static GLib.EqualFunc equal;
1336                 public uchar red;
1337                 public uchar green;
1338                 public uchar blue;
1339                 public uchar alpha;
1340                 public void add (Clutter.Color b, out Clutter.Color _result);
1341                 public void darken (out Clutter.Color _result);
1342                 [CCode (cname = "clutter_color_from_hls")]
1343                 public Color.from_hls (float hue, float luminance, float saturation);
1344                 [CCode (cname = "clutter_color_from_pixel")]
1345                 public Color.from_pixel (uint32 pixel);
1346                 [CCode (cname = "clutter_color_from_string")]
1347                 public Color.from_string (string str);
1348                 public void lighten (out Clutter.Color _result);
1349                 [CCode (cname = "clutter_color_from_string")]
1350                 public bool parse_string (string str);
1351                 public void shade (double factor, out Clutter.Color _result);
1352                 public void subtract (Clutter.Color b, out Clutter.Color _result);
1353                 public void to_hls (out float hue, out float luminance, out float saturation);
1354                 public uint32 to_pixel ();
1355                 public string to_string ();
1356         }
1357         [CCode (type_id = "CLUTTER_TYPE_CROSSING_EVENT", cheader_filename = "clutter/clutter.h")]
1358         public struct CrossingEvent {
1359                 public Clutter.EventType type;
1360                 public uint32 time;
1361                 public Clutter.EventFlags flags;
1362                 public weak Clutter.Stage stage;
1363                 public weak Clutter.Actor source;
1364                 public float x;
1365                 public float y;
1366                 public weak Clutter.InputDevice device;
1367                 public weak Clutter.Actor related;
1368         }
1369         [CCode (type_id = "CLUTTER_TYPE_FOG", cheader_filename = "clutter/clutter.h")]
1370         public struct Fog {
1371                 public float z_near;
1372                 public float z_far;
1373         }
1374         [CCode (type_id = "CLUTTER_TYPE_GEOMETRY", cheader_filename = "clutter/clutter.h")]
1375         public struct Geometry {
1376                 public int x;
1377                 public int y;
1378                 public uint width;
1379                 public uint height;
1380         }
1381         [CCode (type_id = "CLUTTER_TYPE_KEY_EVENT", cheader_filename = "clutter/clutter.h")]
1382         public struct KeyEvent {
1383                 public Clutter.EventType type;
1384                 public uint32 time;
1385                 public Clutter.EventFlags flags;
1386                 public weak Clutter.Stage stage;
1387                 public weak Clutter.Actor source;
1388                 public Clutter.ModifierType modifier_state;
1389                 public uint keyval;
1390                 public uint16 hardware_keycode;
1391                 public unichar unicode_value;
1392                 public weak Clutter.InputDevice device;
1393         }
1394         [CCode (type_id = "CLUTTER_TYPE_KNOT", cheader_filename = "clutter/clutter.h")]
1395         public struct Knot {
1396                 public int x;
1397                 public int y;
1398                 public Clutter.Knot copy ();
1399                 public bool equal (Clutter.Knot knot_b);
1400                 public void free ();
1401         }
1402         [CCode (type_id = "CLUTTER_TYPE_MOTION_EVENT", cheader_filename = "clutter/clutter.h")]
1403         public struct MotionEvent {
1404                 public Clutter.EventType type;
1405                 public uint32 time;
1406                 public Clutter.EventFlags flags;
1407                 public weak Clutter.Stage stage;
1408                 public weak Clutter.Actor source;
1409                 public float x;
1410                 public float y;
1411                 public Clutter.ModifierType modifier_state;
1412                 public double axes;
1413                 public weak Clutter.InputDevice device;
1414         }
1415         [CCode (type_id = "CLUTTER_TYPE_PATH_NODE", cheader_filename = "clutter/clutter.h")]
1416         public struct PathNode {
1417                 public Clutter.PathNodeType type;
1418                 [CCode (array_length = false)]
1419                 public weak Clutter.Knot[] points;
1420                 public Clutter.PathNode copy ();
1421                 public bool equal (Clutter.PathNode node_b);
1422                 public void free ();
1423         }
1424         [CCode (type_id = "CLUTTER_TYPE_PERSPECTIVE", cheader_filename = "clutter/clutter.h")]
1425         public struct Perspective {
1426                 public float fovy;
1427                 public float aspect;
1428                 public float z_near;
1429                 public float z_far;
1430         }
1431         [CCode (type_id = "CLUTTER_TYPE_SCROLL_EVENT", cheader_filename = "clutter/clutter.h")]
1432         public struct ScrollEvent {
1433                 public Clutter.EventType type;
1434                 public uint32 time;
1435                 public Clutter.EventFlags flags;
1436                 public weak Clutter.Stage stage;
1437                 public weak Clutter.Actor source;
1438                 public float x;
1439                 public float y;
1440                 public Clutter.ScrollDirection direction;
1441                 public Clutter.ModifierType modifier_state;
1442                 public double axes;
1443                 public weak Clutter.InputDevice device;
1444         }
1445         [CCode (type_id = "CLUTTER_TYPE_STAGE_STATE_EVENT", cheader_filename = "clutter/clutter.h")]
1446         public struct StageStateEvent {
1447                 public Clutter.EventType type;
1448                 public uint32 time;
1449                 public Clutter.EventFlags flags;
1450                 public weak Clutter.Stage stage;
1451                 public weak Clutter.Actor source;
1452                 public Clutter.StageState changed_mask;
1453                 public Clutter.StageState new_state;
1454         }
1455         [CCode (type_id = "CLUTTER_TYPE_UNITS", cheader_filename = "clutter/clutter.h")]
1456         public struct Units {
1457                 public Clutter.UnitType unit_type;
1458                 public float value;
1459                 public float pixels;
1460                 public uint pixels_set;
1461                 [CCode (cname = "clutter_units_from_em")]
1462                 public Units.from_em (float em);
1463                 [CCode (cname = "clutter_units_from_em_for_font")]
1464                 public Units.from_em_for_font (string font_name, float em);
1465                 [CCode (cname = "clutter_units_from_mm")]
1466                 public Units.from_mm (float mm);
1467                 [CCode (cname = "clutter_units_from_pixels")]
1468                 public Units.from_pixels (int px);
1469                 [CCode (cname = "clutter_units_from_pt")]
1470                 public Units.from_pt (float pt);
1471                 [CCode (cname = "clutter_units_from_string")]
1472                 public Units.from_string (string str);
1473                 public Clutter.UnitType get_unit_type ();
1474                 public float get_unit_value ();
1475                 public float to_pixels ();
1476                 public unowned string to_string ();
1477         }
1478         [CCode (type_id = "CLUTTER_TYPE_VERTEX", cheader_filename = "clutter/clutter.h")]
1479         public struct Vertex {
1480                 public float x;
1481                 public float y;
1482                 public float z;
1483                 public bool equal (Clutter.Vertex vertex_b);
1484         }
1485         [CCode (cprefix = "CLUTTER_ACTOR_", cheader_filename = "clutter/clutter.h")]
1486         [Flags]
1487         public enum ActorFlags {
1488                 MAPPED,
1489                 REALIZED,
1490                 REACTIVE,
1491                 VISIBLE,
1492                 NO_LAYOUT
1493         }
1494         [CCode (cprefix = "CLUTTER_", cheader_filename = "clutter/clutter.h")]
1495         [Flags]
1496         public enum AllocationFlags {
1497                 ALLOCATION_NONE,
1498                 ABSOLUTE_ORIGIN_CHANGED
1499         }
1500         [CCode (cprefix = "CLUTTER_", cheader_filename = "clutter/clutter.h")]
1501         public enum AnimationMode {
1502                 CUSTOM_MODE,
1503                 LINEAR,
1504                 EASE_IN_QUAD,
1505                 EASE_OUT_QUAD,
1506                 EASE_IN_OUT_QUAD,
1507                 EASE_IN_CUBIC,
1508                 EASE_OUT_CUBIC,
1509                 EASE_IN_OUT_CUBIC,
1510                 EASE_IN_QUART,
1511                 EASE_OUT_QUART,
1512                 EASE_IN_OUT_QUART,
1513                 EASE_IN_QUINT,
1514                 EASE_OUT_QUINT,
1515                 EASE_IN_OUT_QUINT,
1516                 EASE_IN_SINE,
1517                 EASE_OUT_SINE,
1518                 EASE_IN_OUT_SINE,
1519                 EASE_IN_EXPO,
1520                 EASE_OUT_EXPO,
1521                 EASE_IN_OUT_EXPO,
1522                 EASE_IN_CIRC,
1523                 EASE_OUT_CIRC,
1524                 EASE_IN_OUT_CIRC,
1525                 EASE_IN_ELASTIC,
1526                 EASE_OUT_ELASTIC,
1527                 EASE_IN_OUT_ELASTIC,
1528                 EASE_IN_BACK,
1529                 EASE_OUT_BACK,
1530                 EASE_IN_OUT_BACK,
1531                 EASE_IN_BOUNCE,
1532                 EASE_OUT_BOUNCE,
1533                 EASE_IN_OUT_BOUNCE,
1534                 ANIMATION_LAST
1535         }
1536         [CCode (cprefix = "CLUTTER_BIN_ALIGNMENT_", cheader_filename = "clutter/clutter.h")]
1537         public enum BinAlignment {
1538                 FIXED,
1539                 FILL,
1540                 START,
1541                 END,
1542                 CENTER
1543         }
1544         [CCode (cprefix = "CLUTTER_BOX_ALIGNMENT_", cheader_filename = "clutter/clutter.h")]
1545         public enum BoxAlignment {
1546                 START,
1547                 END,
1548                 CENTER
1549         }
1550         [CCode (cprefix = "CLUTTER_EVENT_", cheader_filename = "clutter/clutter.h")]
1551         [Flags]
1552         public enum EventFlags {
1553                 NONE,
1554                 FLAG_SYNTHETIC
1555         }
1556         [CCode (cprefix = "CLUTTER_", cheader_filename = "clutter/clutter.h")]
1557         public enum EventType {
1558                 NOTHING,
1559                 KEY_PRESS,
1560                 KEY_RELEASE,
1561                 MOTION,
1562                 ENTER,
1563                 LEAVE,
1564                 BUTTON_PRESS,
1565                 BUTTON_RELEASE,
1566                 SCROLL,
1567                 STAGE_STATE,
1568                 DESTROY_NOTIFY,
1569                 CLIENT_MESSAGE,
1570                 DELETE
1571         }
1572         [CCode (cprefix = "CLUTTER_FEATURE_", cheader_filename = "clutter/clutter.h")]
1573         [Flags]
1574         public enum FeatureFlags {
1575                 TEXTURE_NPOT,
1576                 SYNC_TO_VBLANK,
1577                 TEXTURE_YUV,
1578                 TEXTURE_READ_PIXELS,
1579                 STAGE_STATIC,
1580                 STAGE_USER_RESIZE,
1581                 STAGE_CURSOR,
1582                 SHADERS_GLSL,
1583                 OFFSCREEN,
1584                 STAGE_MULTIPLE;
1585                 [CCode (cname = "clutter_feature_available")]
1586                 public bool is_available ();
1587                 [CCode (cname = "clutter_feature_get_all")]
1588                 public static Clutter.FeatureFlags @get ();
1589         }
1590         [CCode (cprefix = "CLUTTER_FLOW_", cheader_filename = "clutter/clutter.h")]
1591         public enum FlowOrientation {
1592                 HORIZONTAL,
1593                 VERTICAL
1594         }
1595         [CCode (cprefix = "CLUTTER_FONT_", cheader_filename = "clutter/clutter.h")]
1596         [Flags]
1597         public enum FontFlags {
1598                 MIPMAPPING,
1599                 HINTING
1600         }
1601         [CCode (cprefix = "CLUTTER_GRAVITY_", cheader_filename = "clutter/clutter.h")]
1602         public enum Gravity {
1603                 NONE,
1604                 NORTH,
1605                 NORTH_EAST,
1606                 EAST,
1607                 SOUTH_EAST,
1608                 SOUTH,
1609                 SOUTH_WEST,
1610                 WEST,
1611                 NORTH_WEST,
1612                 CENTER
1613         }
1614         [CCode (cprefix = "CLUTTER_INIT_", cheader_filename = "clutter/clutter.h")]
1615         public enum InitError {
1616                 SUCCESS,
1617                 ERROR_UNKNOWN,
1618                 ERROR_THREADS,
1619                 ERROR_BACKEND,
1620                 ERROR_INTERNAL
1621         }
1622         [CCode (cprefix = "CLUTTER_", cheader_filename = "clutter/clutter.h")]
1623         public enum InputDeviceType {
1624                 POINTER_DEVICE,
1625                 KEYBOARD_DEVICE,
1626                 EXTENSION_DEVICE,
1627                 N_DEVICE_TYPES
1628         }
1629         [CCode (cprefix = "CLUTTER_INTERPOLATION_", cheader_filename = "clutter/clutter.h")]
1630         public enum Interpolation {
1631                 LINEAR,
1632                 CUBIC
1633         }
1634         [CCode (cprefix = "CLUTTER_", cheader_filename = "clutter/clutter.h")]
1635         [Flags]
1636         public enum ModifierType {
1637                 SHIFT_MASK,
1638                 LOCK_MASK,
1639                 CONTROL_MASK,
1640                 MOD1_MASK,
1641                 MOD2_MASK,
1642                 MOD3_MASK,
1643                 MOD4_MASK,
1644                 MOD5_MASK,
1645                 BUTTON1_MASK,
1646                 BUTTON2_MASK,
1647                 BUTTON3_MASK,
1648                 BUTTON4_MASK,
1649                 BUTTON5_MASK,
1650                 SUPER_MASK,
1651                 HYPER_MASK,
1652                 META_MASK,
1653                 RELEASE_MASK,
1654                 MODIFIER_MASK
1655         }
1656         [CCode (cprefix = "CLUTTER_PATH_", cheader_filename = "clutter/clutter.h")]
1657         public enum PathNodeType {
1658                 MOVE_TO,
1659                 LINE_TO,
1660                 CURVE_TO,
1661                 CLOSE,
1662                 REL_MOVE_TO,
1663                 REL_LINE_TO,
1664                 REL_CURVE_TO
1665         }
1666         [CCode (cprefix = "CLUTTER_PICK_", cheader_filename = "clutter/clutter.h")]
1667         public enum PickMode {
1668                 NONE,
1669                 REACTIVE,
1670                 ALL
1671         }
1672         [CCode (cprefix = "CLUTTER_REDRAW_CLIPPED_TO_", cheader_filename = "clutter/clutter.h")]
1673         [Flags]
1674         public enum RedrawFlags {
1675                 BOX,
1676                 ALLOCATION
1677         }
1678         [CCode (cprefix = "CLUTTER_REQUEST_", cheader_filename = "clutter/clutter.h")]
1679         public enum RequestMode {
1680                 HEIGHT_FOR_WIDTH,
1681                 WIDTH_FOR_HEIGHT
1682         }
1683         [CCode (cprefix = "CLUTTER_", cheader_filename = "clutter/clutter.h")]
1684         public enum RotateAxis {
1685                 X_AXIS,
1686                 Y_AXIS,
1687                 Z_AXIS
1688         }
1689         [CCode (cprefix = "CLUTTER_ROTATE_", cheader_filename = "clutter/clutter.h")]
1690         public enum RotateDirection {
1691                 CW,
1692                 CCW
1693         }
1694         [CCode (cprefix = "CLUTTER_SCRIPT_ERROR_INVALID_", cheader_filename = "clutter/clutter.h")]
1695         public enum ScriptError {
1696                 TYPE_FUNCTION,
1697                 PROPERTY,
1698                 VALUE
1699         }
1700         [CCode (cprefix = "CLUTTER_SCROLL_", cheader_filename = "clutter/clutter.h")]
1701         public enum ScrollDirection {
1702                 UP,
1703                 DOWN,
1704                 LEFT,
1705                 RIGHT
1706         }
1707         [CCode (cprefix = "CLUTTER_STAGE_STATE_", cheader_filename = "clutter/clutter.h")]
1708         [Flags]
1709         public enum StageState {
1710                 FULLSCREEN,
1711                 OFFSCREEN,
1712                 ACTIVATED
1713         }
1714         [CCode (cprefix = "CLUTTER_TEXT_DIRECTION_", cheader_filename = "clutter/clutter.h")]
1715         public enum TextDirection {
1716                 DEFAULT,
1717                 LTR,
1718                 RTL
1719         }
1720         [CCode (cprefix = "CLUTTER_TEXTURE_", cheader_filename = "clutter/clutter.h")]
1721         [Flags]
1722         public enum TextureFlags {
1723                 NONE,
1724                 RGB_FLAG_BGR,
1725                 RGB_FLAG_PREMULT,
1726                 YUV_FLAG_YUV2
1727         }
1728         [CCode (cprefix = "CLUTTER_TEXTURE_QUALITY_", cheader_filename = "clutter/clutter.h")]
1729         public enum TextureQuality {
1730                 LOW,
1731                 MEDIUM,
1732                 HIGH
1733         }
1734         [CCode (cprefix = "CLUTTER_TIMELINE_", cheader_filename = "clutter/clutter.h")]
1735         public enum TimelineDirection {
1736                 FORWARD,
1737                 BACKWARD
1738         }
1739         [CCode (cprefix = "CLUTTER_UNIT_", cheader_filename = "clutter/clutter.h")]
1740         public enum UnitType {
1741                 PIXEL,
1742                 EM,
1743                 MM,
1744                 POINT,
1745                 CM
1746         }
1747         [CCode (cprefix = "CLUTTER_X11_FILTER_", cheader_filename = "clutter/clutter.h")]
1748         public enum X11FilterReturn {
1749                 CONTINUE,
1750                 TRANSLATE,
1751                 REMOVE
1752         }
1753         [CCode (cprefix = "CLUTTER_X11_XINPUT_", cheader_filename = "clutter/clutter.h")]
1754         public enum X11XInputEventTypes {
1755                 KEY_PRESS_EVENT,
1756                 KEY_RELEASE_EVENT,
1757                 BUTTON_PRESS_EVENT,
1758                 BUTTON_RELEASE_EVENT,
1759                 MOTION_NOTIFY_EVENT,
1760                 LAST_EVENT
1761         }
1762         [CCode (cprefix = "CLUTTER_SHADER_ERROR_", cheader_filename = "clutter/clutter.h")]
1763         public errordomain ShaderError {
1764                 NO_ASM,
1765                 NO_GLSL,
1766                 COMPILE,
1767         }
1768         [CCode (cprefix = "CLUTTER_TEXTURE_ERROR_", cheader_filename = "clutter/clutter.h")]
1769         public errordomain TextureError {
1770                 OUT_OF_MEMORY,
1771                 NO_YUV,
1772                 BAD_FORMAT,
1773         }
1774         [CCode (cheader_filename = "clutter/clutter.h")]
1775         public delegate double AlphaFunc (Clutter.Alpha alpha);
1776         [CCode (cheader_filename = "clutter/clutter.h")]
1777         public delegate void BehaviourForeachFunc (Clutter.Behaviour behaviour, Clutter.Actor actor);
1778         [CCode (cheader_filename = "clutter/clutter.h")]
1779         public delegate bool BindingActionFunc (GLib.Object gobject, string action_name, uint key_val, Clutter.ModifierType modifiers);
1780         [CCode (cheader_filename = "clutter/clutter.h")]
1781         public delegate void Callback (Clutter.Actor actor);
1782         [CCode (cheader_filename = "clutter/clutter.h")]
1783         public delegate bool ModelFilterFunc (Clutter.Model model, Clutter.ModelIter iter);
1784         [CCode (cheader_filename = "clutter/clutter.h")]
1785         public delegate bool ModelForeachFunc (Clutter.Model model, Clutter.ModelIter iter);
1786         [CCode (cheader_filename = "clutter/clutter.h")]
1787         public delegate int ModelSortFunc (Clutter.Model model, GLib.Value a, GLib.Value b);
1788         [CCode (cheader_filename = "clutter/clutter.h")]
1789         public delegate void PathCallback (Clutter.PathNode node);
1790         [CCode (cheader_filename = "clutter/clutter.h", has_target = false)]
1791         public delegate bool ProgressFunc (GLib.Value a, GLib.Value b, double progress, GLib.Value retval);
1792         [CCode (cheader_filename = "clutter/clutter.h")]
1793         public delegate void ScriptConnectFunc (Clutter.Script script, GLib.Object object, string signal_name, string handler_name, GLib.Object connect_object, GLib.ConnectFlags flags);
1794         [CCode (cheader_filename = "clutter/clutter.h")]
1795         public const string COGL;
1796         [CCode (cheader_filename = "clutter/clutter.h")]
1797         public const int CURRENT_TIME;
1798         [CCode (cheader_filename = "clutter/clutter.h")]
1799         public const string FLAVOUR;
1800         [CCode (cheader_filename = "clutter/clutter.h")]
1801         public const int MAJOR_VERSION;
1802         [CCode (cheader_filename = "clutter/clutter.h")]
1803         public const int MICRO_VERSION;
1804         [CCode (cheader_filename = "clutter/clutter.h")]
1805         public const int MINOR_VERSION;
1806         [CCode (cheader_filename = "clutter/clutter.h")]
1807         public const int PATH_RELATIVE;
1808         [CCode (cheader_filename = "clutter/clutter.h")]
1809         public const int PRIORITY_REDRAW;
1810         [CCode (cheader_filename = "clutter/clutter.h")]
1811         public const int VERSION_HEX;
1812         [CCode (cheader_filename = "clutter/clutter.h")]
1813         public const string VERSION_S;
1814         [CCode (cheader_filename = "clutter/clutter.h")]
1815         public static void base_init ();
1816         [CCode (cheader_filename = "clutter/clutter.h")]
1817         public static void cairo_set_source_color (Cairo.Context cr, Clutter.Color color);
1818         [CCode (cheader_filename = "clutter/clutter.h")]
1819         public static bool check_version (uint major, uint minor, uint micro);
1820         [CCode (cheader_filename = "clutter/clutter.h")]
1821         public static void clear_glyph_cache ();
1822         [CCode (cheader_filename = "clutter/clutter.h")]
1823         public static void do_event (Clutter.Event event);
1824         [CCode (cheader_filename = "clutter/clutter.h")]
1825         public static bool events_pending ();
1826         [CCode (cheader_filename = "clutter/clutter.h")]
1827         public static unowned Clutter.Event get_current_event ();
1828         [CCode (cheader_filename = "clutter/clutter.h")]
1829         public static uint32 get_current_event_time ();
1830         [CCode (cheader_filename = "clutter/clutter.h")]
1831         public static bool get_debug_enabled ();
1832         [CCode (cheader_filename = "clutter/clutter.h")]
1833         public static unowned Clutter.Backend get_default_backend ();
1834         [CCode (cheader_filename = "clutter/clutter.h")]
1835         public static uint get_default_frame_rate ();
1836         [CCode (cheader_filename = "clutter/clutter.h")]
1837         public static Clutter.TextDirection get_default_text_direction ();
1838         [CCode (cheader_filename = "clutter/clutter.h")]
1839         public static Clutter.FontFlags get_font_flags ();
1840         [CCode (cheader_filename = "clutter/clutter.h")]
1841         public static unowned Pango.FontMap get_font_map ();
1842         [CCode (cheader_filename = "clutter/clutter.h")]
1843         public static unowned Clutter.Actor get_keyboard_grab ();
1844         [CCode (cheader_filename = "clutter/clutter.h")]
1845         public static bool get_motion_events_enabled ();
1846         [CCode (cheader_filename = "clutter/clutter.h")]
1847         public static GLib.OptionGroup get_option_group ();
1848         [CCode (cheader_filename = "clutter/clutter.h")]
1849         public static GLib.OptionGroup get_option_group_without_init ();
1850         [CCode (cheader_filename = "clutter/clutter.h")]
1851         public static unowned Clutter.Actor get_pointer_grab ();
1852         [CCode (cheader_filename = "clutter/clutter.h")]
1853         public static unowned string get_script_id (GLib.Object gobject);
1854         [CCode (cheader_filename = "clutter/clutter.h")]
1855         public static bool get_show_fps ();
1856         [CCode (cheader_filename = "clutter/clutter.h")]
1857         public static ulong get_timestamp ();
1858         [CCode (cheader_filename = "clutter/clutter.h")]
1859         public static void grab_keyboard (Clutter.Actor actor);
1860         [CCode (cheader_filename = "clutter/clutter.h")]
1861         public static void grab_pointer (Clutter.Actor actor);
1862         [CCode (cheader_filename = "clutter/clutter.h")]
1863         public static void grab_pointer_for_device (Clutter.Actor actor, int id);
1864         [CCode (cheader_filename = "clutter/clutter.h")]
1865         public static Clutter.InitError init ([CCode (array_length_pos = 0.9)] ref unowned string[] argv);
1866         [CCode (cheader_filename = "clutter/clutter.h")]
1867         public static GLib.Quark init_error_quark ();
1868         [CCode (cheader_filename = "clutter/clutter.h")]
1869         public static Clutter.InitError init_with_args ([CCode (array_length_pos = 0.9)] ref unowned string[] argv, string parameter_string, [CCode (array_length = false)] GLib.OptionEntry[] entries, string translation_domain) throws GLib.Error;
1870         [CCode (cheader_filename = "clutter/clutter.h")]
1871         public static uint32 keysym_to_unicode (uint keyval);
1872         [CCode (cheader_filename = "clutter/clutter.h")]
1873         public static void main ();
1874         [CCode (cheader_filename = "clutter/clutter.h")]
1875         public static int main_level ();
1876         [CCode (cheader_filename = "clutter/clutter.h")]
1877         public static void main_quit ();
1878         [CCode (cheader_filename = "clutter/clutter.h")]
1879         public static GLib.Type param_units_get_type ();
1880         [CCode (cheader_filename = "clutter/clutter.h")]
1881         public static void set_default_frame_rate (uint frames_per_sec);
1882         [CCode (cheader_filename = "clutter/clutter.h")]
1883         public static void set_font_flags (Clutter.FontFlags flags);
1884         [CCode (cheader_filename = "clutter/clutter.h")]
1885         public static void set_motion_events_enabled (bool enable);
1886         [CCode (cheader_filename = "clutter/clutter.h")]
1887         public static uint threads_add_repaint_func (GLib.SourceFunc func, void* data, GLib.DestroyNotify notify);
1888         [CCode (cheader_filename = "clutter/clutter.h")]
1889         public static void threads_remove_repaint_func (uint handle_id);
1890         [CCode (cheader_filename = "clutter/clutter.h")]
1891         public static void ungrab_keyboard ();
1892         [CCode (cheader_filename = "clutter/clutter.h")]
1893         public static void ungrab_pointer ();
1894         [CCode (cheader_filename = "clutter/clutter.h")]
1895         public static void ungrab_pointer_for_device (int id);