Mx support.
[girtod.git] / gtk2 / clutter.d
blobf533f4b23931f1f8b0a7293432708de32f79d89f
1 // *** DO NOT EDIT ***
2 // Automatically generated from "/usr/share/gir-1.0/Clutter-1.0.gir"
4 module Clutter;
5 public import gtk2.atk;
6 alias gtk2.atk Atk;
7 public import gtk2.cogl;
8 alias gtk2.cogl Cogl;
9 public import gtk2.coglpango;
10 alias gtk2.coglpango CoglPango;
11 public import gtk2.gl;
12 alias gtk2.gl GL;
13 public import gtk2.glib2;
14 alias gtk2.glib2 GLib2;
15 public import gtk2.gobject2;
16 alias gtk2.gobject2 GObject2;
17 public import gtk2.gio2;
18 alias gtk2.gio2 Gio2;
19 public import gtk2.json;
20 alias gtk2.json Json;
21 public import gtk2.pango;
22 alias gtk2.pango Pango;
23 public import gtk2.pangocairo;
24 alias gtk2.pangocairo PangoCairo;
25 public import gtk2.pangoft2;
26 alias gtk2.pangoft2 PangoFT2;
27 public import gtk2.cairo;
28 alias gtk2.cairo cairo;
29 public import gtk2.fontconfig2;
30 alias gtk2.fontconfig2 fontconfig2;
31 public import gtk2.freetype2;
32 alias gtk2.freetype2 freetype2;
34 // package: "clutter-1.0";
35 // C header: "clutter/clutter.h";
37 // c:symbol-prefixes: ["clutter"]
38 // c:identifier-prefixes: ["Clutter"]
40 // module Clutter;
42 enum int _0 = 48;
43 enum int _1 = 49;
44 enum int _2 = 50;
45 enum int _3 = 51;
46 enum int _3270_AltCursor = 64784;
47 enum int _3270_Attn = 64782;
48 enum int _3270_BackTab = 64773;
49 enum int _3270_ChangeScreen = 64793;
50 enum int _3270_Copy = 64789;
51 enum int _3270_CursorBlink = 64783;
52 enum int _3270_CursorSelect = 64796;
53 enum int _3270_DeleteWord = 64794;
54 enum int _3270_Duplicate = 64769;
55 enum int _3270_Enter = 64798;
56 enum int _3270_EraseEOF = 64774;
57 enum int _3270_EraseInput = 64775;
58 enum int _3270_ExSelect = 64795;
59 enum int _3270_FieldMark = 64770;
60 enum int _3270_Ident = 64787;
61 enum int _3270_Jump = 64786;
62 enum int _3270_KeyClick = 64785;
63 enum int _3270_Left2 = 64772;
64 enum int _3270_PA1 = 64778;
65 enum int _3270_PA2 = 64779;
66 enum int _3270_PA3 = 64780;
67 enum int _3270_Play = 64790;
68 enum int _3270_PrintScreen = 64797;
69 enum int _3270_Quit = 64777;
70 enum int _3270_Record = 64792;
71 enum int _3270_Reset = 64776;
72 enum int _3270_Right2 = 64771;
73 enum int _3270_Rule = 64788;
74 enum int _3270_Setup = 64791;
75 enum int _3270_Test = 64781;
76 enum int _4 = 52;
77 enum int _5 = 53;
78 enum int _6 = 54;
79 enum int _7 = 55;
80 enum int _8 = 56;
81 enum int _9 = 57;
82 enum int A = 65;
83 enum int AE = 198;
84 enum int Aacute = 193;
85 enum int Abelowdot = 16785056;
86 enum int Abreve = 451;
87 enum int Abreveacute = 16785070;
88 enum int Abrevebelowdot = 16785078;
89 enum int Abrevegrave = 16785072;
90 enum int Abrevehook = 16785074;
91 enum int Abrevetilde = 16785076;
92 enum int AccessX_Enable = 65136;
93 enum int AccessX_Feedback_Enable = 65137;
94 enum int Acircumflex = 194;
95 enum int Acircumflexacute = 16785060;
96 enum int Acircumflexbelowdot = 16785068;
97 enum int Acircumflexgrave = 16785062;
98 enum int Acircumflexhook = 16785064;
99 enum int Acircumflextilde = 16785066;
101 // The <structname>ClutterAction</structname> structure contains only
102 // private data and should be accessed using the provided API
103 struct Action /* : ActorMeta */ /* Version 1.4 */ {
104 alias parent_instance this;
105 alias parent_instance super_;
106 alias parent_instance actormeta;
107 ActorMeta parent_instance;
111 // The <structname>ClutterActionClass</structname> structure contains
112 // only private data
113 struct ActionClass /* Version 1.4 */ {
114 private ActorMetaClass parent_class;
115 extern (C) void function () _clutter_action1;
116 extern (C) void function () _clutter_action2;
117 extern (C) void function () _clutter_action3;
118 extern (C) void function () _clutter_action4;
119 extern (C) void function () _clutter_action5;
120 extern (C) void function () _clutter_action6;
121 extern (C) void function () _clutter_action7;
122 extern (C) void function () _clutter_action8;
125 // Base class for actors.
126 struct Actor /* : GObject.InitiallyUnowned */ {
127 mixin Atk.ImplementorIface.__interface__;
128 mixin Animatable.__interface__;
129 mixin Scriptable.__interface__;
130 alias parent_instance this;
131 alias parent_instance super_;
132 alias parent_instance initiallyunowned;
133 GObject2.InitiallyUnowned parent_instance;
134 uint flags;
135 private uint private_flags;
136 private ActorPrivate* priv;
139 // VERSION: 1.4
140 // Adds @action to the list of actions applied to @self
142 // A #ClutterAction can only belong to one actor at a time
144 // The #ClutterActor will hold a reference on @action until either
145 // clutter_actor_remove_action() or clutter_actor_clear_actions()
146 // is called
147 // <action>: a #ClutterAction
148 void add_action()(Action* action) {
149 clutter_actor_add_action(&this, action);
152 // VERSION: 1.4
153 // A convenience function for setting the name of a #ClutterAction
154 // while adding it to the list of actions applied to @self
156 // This function is the logical equivalent of:
158 // |[
159 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
160 // clutter_actor_add_action (self, action);
161 // ]|
162 // <name>: the name to set on the action
163 // <action>: a #ClutterAction
164 void add_action_with_name()(char* name, Action* action) {
165 clutter_actor_add_action_with_name(&this, name, action);
168 // VERSION: 1.4
169 // Adds @constraint to the list of #ClutterConstraint<!-- -->s applied
170 // to @self
172 // The #ClutterActor will hold a reference on the @constraint until
173 // either clutter_actor_remove_constraint() or
174 // clutter_actor_clear_constraints() is called.
175 // <constraint>: a #ClutterConstraint
176 void add_constraint()(Constraint* constraint) {
177 clutter_actor_add_constraint(&this, constraint);
180 // VERSION: 1.4
181 // A convenience function for setting the name of a #ClutterConstraint
182 // while adding it to the list of constraints applied to @self
184 // This function is the logical equivalent of:
186 // |[
187 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
188 // clutter_actor_add_constraint (self, constraint);
189 // ]|
190 // <name>: the name to set on the constraint
191 // <constraint>: a #ClutterConstraint
192 void add_constraint_with_name()(char* name, Constraint* constraint) {
193 clutter_actor_add_constraint_with_name(&this, name, constraint);
196 // VERSION: 1.4
197 // Adds @effect to the list of #ClutterEffect<!-- -->s applied to @self
199 // The #ClutterActor will hold a reference on the @effect until either
200 // clutter_actor_remove_effect() or clutter_actor_clear_effects() is
201 // called.
202 // <effect>: a #ClutterEffect
203 void add_effect()(Effect* effect) {
204 clutter_actor_add_effect(&this, effect);
207 // VERSION: 1.4
208 // A convenience function for setting the name of a #ClutterEffect
209 // while adding it to the list of effectss applied to @self
211 // This function is the logical equivalent of:
213 // |[
214 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
215 // clutter_actor_add_effect (self, effect);
216 // ]|
217 // <name>: the name to set on the effect
218 // <effect>: a #ClutterEffect
219 void add_effect_with_name()(char* name, Effect* effect) {
220 clutter_actor_add_effect_with_name(&this, name, effect);
223 // VERSION: 0.8
224 // Called by the parent of an actor to assign the actor its size.
225 // Should never be called by applications (except when implementing
226 // a container or layout manager).
228 // Actors can know from their allocation box whether they have moved
229 // with respect to their parent actor. The @flags parameter describes
230 // additional information about the allocation, for instance whether
231 // the parent has moved with respect to the stage, for example because
232 // a grandparent's origin has moved.
233 // <box>: new allocation of the actor, in parent-relative coordinates
234 // <flags>: flags that control the allocation
235 void allocate()(ActorBox* box, AllocationFlags flags) {
236 clutter_actor_allocate(&this, box, flags);
239 // VERSION: 1.4
240 // Allocates @self by taking into consideration the available allocation
241 // area; an alignment factor on either axis; and whether the actor should
242 // fill the allocation on either axis.
244 // The @box should contain the available allocation width and height;
245 // if the x1 and y1 members of #ClutterActorBox are not set to 0, the
246 // allocation will be offset by their value.
248 // This function takes into consideration the geometry request specified by
249 // the #ClutterActor:request-mode property, and the text direction.
251 // This function is useful for fluid layout managers, like #ClutterBinLayout
252 // or #ClutterTableLayout
253 // <box>: a #ClutterActorBox, containing the available width and height
254 // <x_align>: the horizontal alignment, between 0 and 1
255 // <y_align>: the vertical alignment, between 0 and 1
256 // <x_fill>: whether the actor should fill horizontally
257 // <y_fill>: whether the actor should fill vertically
258 // <flags>: allocation flags to be passed to clutter_actor_allocate()
259 void allocate_align_fill()(ActorBox* box, double x_align, double y_align, int x_fill, int y_fill, AllocationFlags flags) {
260 clutter_actor_allocate_align_fill(&this, box, x_align, y_align, x_fill, y_fill, flags);
263 // VERSION: 1.0
264 // Allocates @self taking into account the #ClutterActor<!-- -->'s
265 // preferred size, but limiting it to the maximum available width
266 // and height provided.
268 // This function will do the right thing when dealing with the
269 // actor's request mode.
271 // The implementation of this function is equivalent to:
273 // |[
274 // if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
275 // {
276 // clutter_actor_get_preferred_width (self, available_height,
277 // &amp;min_width,
278 // &amp;natural_width);
279 // width = CLAMP (natural_width, min_width, available_width);
281 // clutter_actor_get_preferred_height (self, width,
282 // &amp;min_height,
283 // &amp;natural_height);
284 // height = CLAMP (natural_height, min_height, available_height);
285 // }
286 // else
287 // {
288 // clutter_actor_get_preferred_height (self, available_width,
289 // &amp;min_height,
290 // &amp;natural_height);
291 // height = CLAMP (natural_height, min_height, available_height);
293 // clutter_actor_get_preferred_width (self, height,
294 // &amp;min_width,
295 // &amp;natural_width);
296 // width = CLAMP (natural_width, min_width, available_width);
297 // }
299 // box.x1 = x; box.y1 = y;
300 // box.x2 = box.x1 + available_width;
301 // box.y2 = box.y1 + available_height;
302 // clutter_actor_allocate (self, &amp;box, flags);
303 // ]|
305 // This function can be used by fluid layout managers to allocate
306 // an actor's preferred size without making it bigger than the area
307 // available for the container.
308 // <x>: the actor's X coordinate
309 // <y>: the actor's Y coordinate
310 // <available_width>: the maximum available width, or -1 to use the actor's natural width
311 // <available_height>: the maximum available height, or -1 to use the actor's natural height
312 // <flags>: flags controlling the allocation
313 void allocate_available_size()(float x, float y, float available_width, float available_height, AllocationFlags flags) {
314 clutter_actor_allocate_available_size(&this, x, y, available_width, available_height, flags);
317 // VERSION: 0.8
318 // Allocates the natural size of @self.
320 // This function is a utility call for #ClutterActor implementations
321 // that allocates the actor's preferred natural size. It can be used
322 // by fixed layout managers (like #ClutterGroup or so called
323 // 'composite actors') inside the ClutterActor::allocate
324 // implementation to give each child exactly how much space it
325 // requires.
327 // This function is not meant to be used by applications. It is also
328 // not meant to be used outside the implementation of the
329 // ClutterActor::allocate virtual function.
330 // <flags>: flags controlling the allocation
331 void allocate_preferred_size()(AllocationFlags flags) {
332 clutter_actor_allocate_preferred_size(&this, flags);
335 // Unintrospectable method: animate() / clutter_actor_animate()
336 // VERSION: 1.0
337 // Animates the given list of properties of @actor between the current
338 // value for each property and a new final value. The animation has a
339 // definite duration and a speed given by the @mode.
341 // For example, this:
343 // |[
344 // clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
345 // "width", 100.0,
346 // "height", 100.0,
347 // NULL);
348 // ]|
350 // will make width and height properties of the #ClutterActor "rectangle"
351 // grow linearly between the current value and 100 pixels, in 250 milliseconds.
353 // The animation @mode is a logical id, either from the #ClutterAnimationMode
354 // enumeration of from clutter_alpha_register_func().
356 // All the properties specified will be animated between the current value
357 // and the final value. If a property should be set at the beginning of
358 // the animation but not updated during the animation, it should be prefixed
359 // by the "fixed::" string, for instance:
361 // |[
362 // clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
363 // "rotation-angle-z", 360.0,
364 // "fixed::rotation-center-z", &amp;center,
365 // NULL);
366 // ]|
368 // Will animate the "rotation-angle-z" property between the current value
369 // and 360 degrees, and set the "rotation-center-z" property to the fixed
370 // value of the #ClutterVertex "center".
372 // This function will implicitly create a #ClutterAnimation object which
373 // will be assigned to the @actor and will be returned to the developer
374 // to control the animation or to know when the animation has been
375 // completed.
377 // If a name argument starts with "signal::", "signal-after::",
378 // "signal-swapped::" or "signal-swapped-after::" the two following arguments
379 // are used as callback function and data for a signal handler installed on
380 // the #ClutterAnimation object for the specified signal name, for instance:
382 // |[
384 // static void
385 // on_animation_completed (ClutterAnimation *animation,
386 // ClutterActor *actor)
387 // {
388 // clutter_actor_hide (actor);
389 // }
391 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
392 // "opacity", 0,
393 // "signal::completed", on_animation_completed, actor,
394 // NULL);
395 // ]|
397 // or, to automatically destroy an actor at the end of the animation:
399 // |[
400 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
401 // "opacity", 0,
402 // "signal-swapped-after::completed",
403 // clutter_actor_destroy,
404 // actor,
405 // NULL);
406 // ]|
408 // The "signal::" modifier is the equivalent of using g_signal_connect();
409 // the "signal-after::" modifier is the equivalent of using
410 // g_signal_connect_after() or g_signal_connect_data() with the
411 // %G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent
412 // of using g_signal_connect_swapped() or g_signal_connect_data() with the
413 // %G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier
414 // is the equivalent of using g_signal_connect_data() with both the
415 // %G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate()
416 // function will not keep track of multiple connections to the same signal,
417 // so it is your responsability to avoid them when calling
418 // clutter_actor_animate() multiple times on the same actor.
420 // Calling this function on an actor that is already being animated
421 // will cause the current animation to change with the new final values,
422 // the new easing mode and the new duration - that is, this code:
424 // |[
425 // clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
426 // "width", 100.0,
427 // "height", 100.0,
428 // NULL);
429 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
430 // "x", 100.0,
431 // "y", 100.0,
432 // "width", 200.0,
433 // NULL);
434 // ]|
436 // is the equivalent of:
438 // |[
439 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
440 // "x", 100.0,
441 // "y", 100.0,
442 // "width", 200.0,
443 // "height", 100.0,
444 // NULL);
445 // ]|
447 // <note>Unless the animation is looping, the #ClutterAnimation created by
448 // clutter_actor_animate() will become invalid as soon as it is
449 // complete.</note>
451 // Since the created #ClutterAnimation instance attached to @actor
452 // is guaranteed to be valid throughout the #ClutterAnimation::completed
453 // signal emission chain, you will not be able to create a new animation
454 // using clutter_actor_animate() on the same @actor from within the
455 // #ClutterAnimation::completed signal handler unless you use
456 // g_signal_connect_after() to connect the callback function, for instance:
458 // |[
459 // static void
460 // on_animation_completed (ClutterAnimation *animation,
461 // ClutterActor *actor)
462 // {
463 // clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
464 // "x", 500.0,
465 // "y", 500.0,
466 // NULL);
467 // }
469 // ...
470 // animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
471 // "x", 100.0,
472 // "y", 100.0,
473 // NULL);
474 // g_signal_connect (animation, "completed",
475 // G_CALLBACK (on_animation_completed),
476 // actor);
477 // ...
478 // ]|
480 // owned by the #ClutterActor and should not be unreferenced with
481 // g_object_unref()
482 // RETURNS: a #ClutterAnimation object. The object is
483 // <mode>: an animation mode logical id
484 // <duration>: duration of the animation, in milliseconds
485 // <first_property_name>: the name of a property
486 /+ Not available -- variadic methods unsupported - use the C function directly.
487 alias clutter_actor_animate animate; // Variadic
490 // Unintrospectable method: animate_with_alpha() / clutter_actor_animate_with_alpha()
491 // VERSION: 1.0
492 // Animates the given list of properties of @actor between the current
493 // value for each property and a new final value. The animation has a
494 // definite behaviour given by the passed @alpha.
496 // See clutter_actor_animate() for further details.
498 // This function is useful if you want to use an existing #ClutterAlpha
499 // to animate @actor.
501 // #ClutterActor and should not be unreferenced with g_object_unref()
502 // RETURNS: a #ClutterAnimation object. The object is owned by the
503 // <alpha>: a #ClutterAlpha
504 // <first_property_name>: the name of a property
505 /+ Not available -- variadic methods unsupported - use the C function directly.
506 alias clutter_actor_animate_with_alpha animate_with_alpha; // Variadic
509 // VERSION: 1.0
510 // Animates the given list of properties of @actor between the current
511 // value for each property and a new final value. The animation has a
512 // definite behaviour given by the passed @alpha.
514 // See clutter_actor_animate() for further details.
516 // This function is useful if you want to use an existing #ClutterAlpha
517 // to animate @actor.
519 // This is the vector-based variant of clutter_actor_animate_with_alpha(),
520 // useful for language bindings.
522 // <warning>Unlike clutter_actor_animate_with_alpha(), this function will
523 // not allow you to specify "signal::" names and callbacks.</warning>
525 // #ClutterActor and should not be unreferenced with g_object_unref()
526 // RETURNS: a #ClutterAnimation object. The object is owned by the
527 // <alpha>: a #ClutterAlpha
528 // <n_properties>: number of property names and values
529 // <properties>: a vector containing the property names to set
530 // <values>: a vector containing the property values to set
531 Animation* animate_with_alphav()(Alpha* alpha, int n_properties, char* properties, GObject2.Value* values) {
532 return clutter_actor_animate_with_alphav(&this, alpha, n_properties, properties, values);
535 // Unintrospectable method: animate_with_timeline() / clutter_actor_animate_with_timeline()
536 // VERSION: 1.0
537 // Animates the given list of properties of @actor between the current
538 // value for each property and a new final value. The animation has a
539 // definite duration given by @timeline and a speed given by the @mode.
541 // See clutter_actor_animate() for further details.
543 // This function is useful if you want to use an existing timeline
544 // to animate @actor.
546 // owned by the #ClutterActor and should not be unreferenced with
547 // g_object_unref()
548 // RETURNS: a #ClutterAnimation object. The object is
549 // <mode>: an animation mode logical id
550 // <timeline>: a #ClutterTimeline
551 // <first_property_name>: the name of a property
552 /+ Not available -- variadic methods unsupported - use the C function directly.
553 alias clutter_actor_animate_with_timeline animate_with_timeline; // Variadic
556 // VERSION: 1.0
557 // Animates the given list of properties of @actor between the current
558 // value for each property and a new final value. The animation has a
559 // definite duration given by @timeline and a speed given by the @mode.
561 // See clutter_actor_animate() for further details.
563 // This function is useful if you want to use an existing timeline
564 // to animate @actor.
566 // This is the vector-based variant of clutter_actor_animate_with_timeline(),
567 // useful for language bindings.
569 // <warning>Unlike clutter_actor_animate_with_timeline(), this function
570 // will not allow you to specify "signal::" names and callbacks.</warning>
572 // owned by the #ClutterActor and should not be unreferenced with
573 // g_object_unref()
574 // RETURNS: a #ClutterAnimation object. The object is
575 // <mode>: an animation mode logical id
576 // <timeline>: a #ClutterTimeline
577 // <n_properties>: number of property names and values
578 // <properties>: a vector containing the property names to set
579 // <values>: a vector containing the property values to set
580 Animation* animate_with_timelinev()(c_ulong mode, Timeline* timeline, int n_properties, char* properties, GObject2.Value* values) {
581 return clutter_actor_animate_with_timelinev(&this, mode, timeline, n_properties, properties, values);
584 // VERSION: 1.0
585 // Animates the given list of properties of @actor between the current
586 // value for each property and a new final value. The animation has a
587 // definite duration and a speed given by the @mode.
589 // This is the vector-based variant of clutter_actor_animate(), useful
590 // for language bindings.
592 // <warning>Unlike clutter_actor_animate(), this function will not
593 // allow you to specify "signal::" names and callbacks.</warning>
595 // owned by the #ClutterActor and should not be unreferenced with
596 // g_object_unref()
597 // RETURNS: a #ClutterAnimation object. The object is
598 // <mode>: an animation mode logical id
599 // <duration>: duration of the animation, in milliseconds
600 // <n_properties>: number of property names and values
601 // <properties>: a vector containing the property names to set
602 // <values>: a vector containing the property values to set
603 Animation* animatev()(c_ulong mode, uint duration, int n_properties, char* properties, GObject2.Value* values) {
604 return clutter_actor_animatev(&this, mode, duration, n_properties, properties, values);
607 // VERSION: 0.6
608 // Transforms @point in coordinates relative to the actor into
609 // ancestor-relative coordinates using the relevant transform
610 // stack (i.e. scale, rotation, etc).
612 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
613 // this case, the coordinates returned will be the coordinates on
614 // the stage before the projection is applied. This is different from
615 // the behaviour of clutter_actor_apply_transform_to_point().
616 // <ancestor>: A #ClutterActor ancestor, or %NULL to use the default #ClutterStage
617 // <point>: A point as #ClutterVertex
618 // <vertex>: The translated #ClutterVertex
619 void apply_relative_transform_to_point()(Actor* ancestor, Vertex* point, /*out*/ Vertex* vertex) {
620 clutter_actor_apply_relative_transform_to_point(&this, ancestor, point, vertex);
623 // VERSION: 0.4
624 // Transforms @point in coordinates relative to the actor
625 // into screen-relative coordinates with the current actor
626 // transformation (i.e. scale, rotation, etc)
627 // <point>: A point as #ClutterVertex
628 // <vertex>: The translated #ClutterVertex
629 void apply_transform_to_point()(Vertex* point, /*out*/ Vertex* vertex) {
630 clutter_actor_apply_transform_to_point(&this, point, vertex);
633 // VERSION: 1.4
634 // Clears the list of actions applied to @self
635 void clear_actions()() {
636 clutter_actor_clear_actions(&this);
639 // VERSION: 1.4
640 // Clears the list of constraints applied to @self
641 void clear_constraints()() {
642 clutter_actor_clear_constraints(&this);
645 // VERSION: 1.4
646 // Clears the list of effects applied to @self
647 void clear_effects()() {
648 clutter_actor_clear_effects(&this);
651 // VERSION: 1.4
652 // Determines if @descendant is contained inside @self (either as an
653 // immediate child, or as a deeper descendant). If @self and
654 // @descendant point to the same actor then it will also return %TRUE.
655 // RETURNS: whether @descendent is contained within @self
656 // <descendant>: A #ClutterActor, possibly contained in @self
657 int contains()(Actor* descendant) {
658 return clutter_actor_contains(&this, descendant);
661 // VERSION: 1.8
662 // Run the next stage of the paint sequence. This function should only
663 // be called within the implementation of the ‘run’ virtual of a
664 // #ClutterEffect. It will cause the run method of the next effect to
665 // be applied, or it will paint the actual actor if the current effect
666 // is the last effect in the chain.
667 void continue_paint()() {
668 clutter_actor_continue_paint(&this);
671 // VERSION: 1.0
672 // Creates a #PangoContext for the given actor. The #PangoContext
673 // is already configured using the appropriate font map, resolution
674 // and font options.
676 // See also clutter_actor_get_pango_context().
678 // Use g_object_unref() on the returned value to deallocate its
679 // resources
680 // RETURNS: the newly created #PangoContext.
681 Pango.Context* /*new*/ create_pango_context()() {
682 return clutter_actor_create_pango_context(&this);
685 // VERSION: 1.0
686 // Creates a new #PangoLayout from the same #PangoContext used
687 // by the #ClutterActor. The #PangoLayout is already configured
688 // with the font map, resolution and font options, and the
689 // given @text.
691 // If you want to keep around a #PangoLayout created by this
692 // function you will have to connect to the #ClutterBackend::font-changed
693 // and #ClutterBackend::resolution-changed signals, and call
694 // pango_layout_context_changed() in response to them.
696 // Use g_object_unref() when done
697 // RETURNS: the newly created #PangoLayout.
698 // <text>: (allow-none) the text to set on the #PangoLayout, or %NULL
699 Pango.Layout* /*new*/ create_pango_layout()(char* text) {
700 return clutter_actor_create_pango_layout(&this, text);
703 // Destroys an actor. When an actor is destroyed, it will break any
704 // references it holds to other objects. If the actor is inside a
705 // container, the actor will be removed.
707 // When you destroy a container, its children will be destroyed as well.
709 // Note: you cannot destroy the #ClutterStage returned by
710 // clutter_stage_get_default().
711 void destroy()() {
712 clutter_actor_destroy(&this);
715 // VERSION: 1.4
716 // Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate()
717 // has been called on @actor.
719 // Once the animation has been detached, it loses a reference. If it was
720 // the only reference then the #ClutterAnimation becomes invalid.
722 // The #ClutterAnimation::completed signal will not be emitted.
723 void detach_animation()() {
724 clutter_actor_detach_animation(&this);
727 // VERSION: 0.6
728 // This function is used to emit an event on the main stage.
729 // You should rarely need to use this function, except for
730 // synthetising events.
732 // if the actor handled the event, or %FALSE if the event was
733 // not handled
734 // RETURNS: the return value from the signal emission: %TRUE
735 // <event>: a #ClutterEvent
736 // <capture>: TRUE if event in in capture phase, FALSE otherwise.
737 int event()(Event* event, int capture) {
738 return clutter_actor_event(&this, event, capture);
741 // VERSION: 0.4
742 // Calculates the transformed screen coordinates of the four corners of
743 // the actor; the returned vertices relate to the #ClutterActorBox
744 // coordinates as follows:
745 // <itemizedlist>
746 // <listitem><para>v[0] contains (x1, y1)</para></listitem>
747 // <listitem><para>v[1] contains (x2, y1)</para></listitem>
748 // <listitem><para>v[2] contains (x1, y2)</para></listitem>
749 // <listitem><para>v[3] contains (x2, y2)</para></listitem>
750 // </itemizedlist>
751 // <verts>: Pointer to a location of an array of 4 #ClutterVertex where to store the result.
752 void get_abs_allocation_vertices()(/*out*/ Vertex verts) {
753 clutter_actor_get_abs_allocation_vertices(&this, verts);
756 // Returns the accessible object that describes the actor to an
757 // assistive technology.
759 // If no class-specific #AtkObject implementation is available for the
760 // actor instance in question, it will inherit an #AtkObject
761 // implementation from the first ancestor class for which such an
762 // implementation is defined.
764 // The documentation of the <ulink
765 // url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink>
766 // library contains more information about accessible objects and
767 // their uses.
768 // RETURNS: the #AtkObject associated with @actor
769 Atk.Object* get_accessible()() {
770 return clutter_actor_get_accessible(&this);
773 // VERSION: 1.4
774 // Retrieves the #ClutterAction with the given name in the list
775 // of actions applied to @self
777 // name, or %NULL. The returned #ClutterAction is owned by the
778 // actor and it should not be unreferenced directly
779 // RETURNS: a #ClutterAction for the given
780 // <name>: the name of the action to retrieve
781 Action* get_action()(char* name) {
782 return clutter_actor_get_action(&this, name);
785 // VERSION: 1.4
786 // Retrieves the list of actions applied to @self
788 // of the list of #ClutterAction<!-- -->s. The contents of the list are
789 // owned by the #ClutterActor. Use g_list_free() to free the resources
790 // allocated by the returned #GList
791 // RETURNS: a copy
792 GLib2.List* /*new container*/ get_actions()() {
793 return clutter_actor_get_actions(&this);
796 // VERSION: 0.8
797 // Gets the layout box an actor has been assigned. The allocation can
798 // only be assumed valid inside a paint() method; anywhere else, it
799 // may be out-of-date.
801 // An allocation does not incorporate the actor's scale or anchor point;
802 // those transformations do not affect layout, only rendering.
804 // <note>Do not call any of the clutter_actor_get_allocation_*() family
805 // of functions inside the implementation of the get_preferred_width()
806 // or get_preferred_height() virtual functions.</note>
807 // <box>: the function fills this in with the actor's allocation
808 void get_allocation_box()(/*out*/ ActorBox* box) {
809 clutter_actor_get_allocation_box(&this, box);
812 // VERSION: 0.8
813 // Gets the layout box an actor has been assigned. The allocation can
814 // only be assumed valid inside a paint() method; anywhere else, it
815 // may be out-of-date.
817 // An allocation does not incorporate the actor's scale or anchor point;
818 // those transformations do not affect layout, only rendering.
820 // The returned rectangle is in pixels.
821 // <geom>: allocation geometry in pixels
822 void get_allocation_geometry()(/*out*/ Geometry* geom) {
823 clutter_actor_get_allocation_geometry(&this, geom);
826 // VERSION: 0.6
827 // Calculates the transformed coordinates of the four corners of the
828 // actor in the plane of @ancestor. The returned vertices relate to
829 // the #ClutterActorBox coordinates as follows:
830 // <itemizedlist>
831 // <listitem><para>@verts[0] contains (x1, y1)</para></listitem>
832 // <listitem><para>@verts[1] contains (x2, y1)</para></listitem>
833 // <listitem><para>@verts[2] contains (x1, y2)</para></listitem>
834 // <listitem><para>@verts[3] contains (x2, y2)</para></listitem>
835 // </itemizedlist>
837 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
838 // this case, the coordinates returned will be the coordinates on
839 // the stage before the projection is applied. This is different from
840 // the behaviour of clutter_actor_get_abs_allocation_vertices().
841 // <ancestor>: A #ClutterActor to calculate the vertices against, or %NULL to use the #ClutterStage
842 // <verts>: return location for an array of 4 #ClutterVertex in which to store the result
843 void get_allocation_vertices()(Actor* ancestor, /*out*/ Vertex verts) {
844 clutter_actor_get_allocation_vertices(&this, ancestor, verts);
847 // VERSION: 0.6
848 // Gets the current anchor point of the @actor in pixels.
849 // <anchor_x>: return location for the X coordinate of the anchor point
850 // <anchor_y>: return location for the Y coordinate of the anchor point
851 void get_anchor_point()(/*out*/ float* anchor_x, /*out*/ float* anchor_y) {
852 clutter_actor_get_anchor_point(&this, anchor_x, anchor_y);
855 // VERSION: 1.0
856 // Retrieves the anchor position expressed as a #ClutterGravity. If
857 // the anchor point was specified using pixels or units this will
858 // return %CLUTTER_GRAVITY_NONE.
859 // RETURNS: the #ClutterGravity used by the anchor point
860 Gravity get_anchor_point_gravity()() {
861 return clutter_actor_get_anchor_point_gravity(&this);
864 // VERSION: 1.0
865 // Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate()
866 // has been called on @actor.
867 // RETURNS: a #ClutterAnimation, or %NULL
868 Animation* get_animation()() {
869 return clutter_actor_get_animation(&this);
872 // VERSION: 0.6
873 // Gets the clip area for @self, if any is set
874 // <xoff>: return location for the X offset of the clip rectangle, or %NULL
875 // <yoff>: return location for the Y offset of the clip rectangle, or %NULL
876 // <width>: return location for the width of the clip rectangle, or %NULL
877 // <height>: return location for the height of the clip rectangle, or %NULL
878 void get_clip()(/*out*/ float* xoff=null, /*out*/ float* yoff=null, /*out*/ float* width=null, /*out*/ float* height=null) {
879 clutter_actor_get_clip(&this, xoff, yoff, width, height);
882 // VERSION: 1.4
883 // Retrieves the value set using clutter_actor_set_clip_to_allocation()
884 // RETURNS: %TRUE if the #ClutterActor is clipped to its allocation
885 int get_clip_to_allocation()() {
886 return clutter_actor_get_clip_to_allocation(&this);
889 // VERSION: 1.4
890 // Retrieves the #ClutterConstraint with the given name in the list
891 // of constraints applied to @self
893 // name, or %NULL. The returned #ClutterConstraint is owned by the
894 // actor and it should not be unreferenced directly
895 // RETURNS: a #ClutterConstraint for the given
896 // <name>: the name of the constraint to retrieve
897 Constraint* get_constraint()(char* name) {
898 return clutter_actor_get_constraint(&this, name);
901 // VERSION: 1.4
902 // Retrieves the list of constraints applied to @self
904 // of the list of #ClutterConstraint<!-- -->s. The contents of the list are
905 // owned by the #ClutterActor. Use g_list_free() to free the resources
906 // allocated by the returned #GList
907 // RETURNS: a copy
908 GLib2.List* /*new container*/ get_constraints()() {
909 return clutter_actor_get_constraints(&this);
912 // Retrieves the depth of @self.
913 // RETURNS: the depth of the actor
914 float get_depth()() {
915 return clutter_actor_get_depth(&this);
918 // VERSION: 1.4
919 // Retrieves the #ClutterEffect with the given name in the list
920 // of effects applied to @self
922 // name, or %NULL. The returned #ClutterEffect is owned by the
923 // actor and it should not be unreferenced directly
924 // RETURNS: a #ClutterEffect for the given
925 // <name>: the name of the effect to retrieve
926 Effect* get_effect()(char* name) {
927 return clutter_actor_get_effect(&this, name);
930 // VERSION: 1.4
931 // Retrieves the #ClutterEffect<!-- -->s applied on @self, if any
933 // of #ClutterEffect<!-- -->s, or %NULL. The elements of the returned
934 // list are owned by Clutter and they should not be freed. You should
935 // free the returned list using g_list_free() when done
936 // RETURNS: a list
937 GLib2.List* /*new container*/ get_effects()() {
938 return clutter_actor_get_effects(&this);
941 // VERSION: 0.8
942 // Checks whether an actor has a fixed position set (and will thus be
943 // unaffected by any layout manager).
944 // RETURNS: %TRUE if the fixed position is set on the actor
945 int get_fixed_position_set()() {
946 return clutter_actor_get_fixed_position_set(&this);
949 // VERSION: 1.0
950 // Retrieves the flags set on @self
951 // RETURNS: a bitwise or of #ClutterActorFlags or 0
952 ActorFlags get_flags()() {
953 return clutter_actor_get_flags(&this);
956 // Gets the size and position of an actor relative to its parent
957 // actor. This is the same as calling clutter_actor_get_position() and
958 // clutter_actor_get_size(). It tries to "do what you mean" and get the
959 // requested size and position if the actor's allocation is invalid.
960 // <geometry>: A location to store actors #ClutterGeometry
961 void get_geometry()(/*out*/ Geometry* geometry) {
962 clutter_actor_get_geometry(&this, geometry);
965 // VERSION: 0.6
966 // DEPRECATED (v1.8) method: get_gid - The id is not used any longer.
967 // Retrieves the unique id for @self.
968 // RETURNS: Globally unique value for this object instance.
969 uint get_gid()() {
970 return clutter_actor_get_gid(&this);
973 // Retrieves the height of a #ClutterActor.
975 // If the actor has a valid allocation, this function will return the
976 // height of the allocated area given to the actor.
978 // If the actor does not have a valid allocation, this function will
979 // return the actor's natural height, that is the preferred height of
980 // the actor.
982 // If you care whether you get the preferred height or the height that
983 // has been assigned to the actor, you should probably call a different
984 // function like clutter_actor_get_allocation_box() to retrieve the
985 // allocated size or clutter_actor_get_preferred_height() to retrieve the
986 // preferred height.
988 // If an actor has a fixed height, for instance a height that has been
989 // assigned using clutter_actor_set_height(), the height returned will
990 // be the same value.
991 // RETURNS: the height of the actor, in pixels
992 float get_height()() {
993 return clutter_actor_get_height(&this);
996 // Retrieves the name of @self.
998 // owned by the actor and should not be modified or freed.
999 // RETURNS: the name of the actor, or %NULL. The returned string is
1000 char* get_name()() {
1001 return clutter_actor_get_name(&this);
1004 // VERSION: 1.8
1005 // Retrieves whether to redirect the actor to an offscreen buffer, as
1006 // set by clutter_actor_set_offscreen_redirect().
1007 // RETURNS: the value of the offscreen-redirect property of the actor
1008 OffscreenRedirect get_offscreen_redirect()() {
1009 return clutter_actor_get_offscreen_redirect(&this);
1012 // Retrieves the opacity value of an actor, as set by
1013 // clutter_actor_set_opacity().
1015 // For retrieving the absolute opacity of the actor inside a paint
1016 // virtual function, see clutter_actor_get_paint_opacity().
1017 // RETURNS: the opacity of the actor
1018 ubyte get_opacity()() {
1019 return clutter_actor_get_opacity(&this);
1022 // VERSION: 1.6
1023 // Retrieves the paint volume of the passed #ClutterActor, and
1024 // transforms it into a 2D bounding box in stage coordinates.
1026 // This function is useful to determine the on screen area occupied by
1027 // the actor. The box is only an approximation and may often be
1028 // considerably larger due to the optimizations used to calculate the
1029 // box. The box is never smaller though, so it can reliably be used
1030 // for culling.
1032 // There are times when a 2D paint box can't be determined, e.g.
1033 // because the actor isn't yet parented under a stage or because
1034 // the actor is unable to determine a paint volume.
1036 // %FALSE.
1037 // RETURNS: %TRUE if a 2D paint box could be determined, else
1038 // <box>: return location for a #ClutterActorBox
1039 int get_paint_box()(/*out*/ ActorBox* box) {
1040 return clutter_actor_get_paint_box(&this, box);
1043 // VERSION: 0.8
1044 // Retrieves the absolute opacity of the actor, as it appears on the stage.
1046 // This function traverses the hierarchy chain and composites the opacity of
1047 // the actor with that of its parents.
1049 // This function is intended for subclasses to use in the paint virtual
1050 // function, to paint themselves with the correct opacity.
1051 // RETURNS: The actor opacity value.
1052 ubyte get_paint_opacity()() {
1053 return clutter_actor_get_paint_opacity(&this);
1056 // VERSION: 0.8.4
1057 // Retrieves the 'paint' visibility of an actor recursively checking for non
1058 // visible parents.
1060 // This is by definition the same as CLUTTER_ACTOR_IS_MAPPED().
1061 // RETURNS: TRUE if the actor is visibile and will be painted.
1062 int get_paint_visibility()() {
1063 return clutter_actor_get_paint_visibility(&this);
1066 // VERSION: 1.6
1067 // Retrieves the paint volume of the passed #ClutterActor, or %NULL
1068 // when a paint volume can't be determined.
1070 // The paint volume is defined as the 3D space occupied by an actor
1071 // when being painted.
1073 // This function will call the <function>get_paint_volume()</function>
1074 // virtual function of the #ClutterActor class. Sub-classes of #ClutterActor
1075 // should not usually care about overriding the default implementation,
1076 // unless they are, for instance: painting outside their allocation, or
1077 // actors with a depth factor (not in terms of #ClutterActor:depth but real
1078 // 3D depth).
1080 // <note>2D actors overriding <function>get_paint_volume()</function>
1081 // ensure their volume has a depth of 0. (This will be true so long as
1082 // you don't call clutter_paint_volume_set_depth().)</note>
1084 // or %NULL if no volume could be determined.
1085 // RETURNS: a pointer to a #ClutterPaintVolume
1086 PaintVolume* get_paint_volume()() {
1087 return clutter_actor_get_paint_volume(&this);
1090 // VERSION: 1.0
1091 // Retrieves the #PangoContext for @self. The actor's #PangoContext
1092 // is already configured using the appropriate font map, resolution
1093 // and font options.
1095 // Unlike clutter_actor_create_pango_context(), this context is owend
1096 // by the #ClutterActor and it will be updated each time the options
1097 // stored by the #ClutterBackend change.
1099 // You can use the returned #PangoContext to create a #PangoLayout
1100 // and render text using cogl_pango_render_layout() to reuse the
1101 // glyphs cache also used by Clutter.
1103 // The returned #PangoContext is owned by the actor and should not be
1104 // unreferenced by the application code
1105 // RETURNS: the #PangoContext for a #ClutterActor.
1106 Pango.Context* get_pango_context()() {
1107 return clutter_actor_get_pango_context(&this);
1110 // Retrieves the parent of @self.
1112 // if no parent is set
1113 // RETURNS: The #ClutterActor parent, or %NULL
1114 Actor* get_parent()() {
1115 return clutter_actor_get_parent(&this);
1118 // VERSION: 0.6
1119 // This function tries to "do what you mean" and tell you where the
1120 // actor is, prior to any transformations. Retrieves the fixed
1121 // position of an actor in pixels, if one has been set; otherwise, if
1122 // the allocation is valid, returns the actor's allocated position;
1123 // otherwise, returns 0,0.
1125 // The returned position is in pixels.
1126 // <x>: return location for the X coordinate, or %NULL
1127 // <y>: return location for the Y coordinate, or %NULL
1128 void get_position()(/*out*/ float* x=null, /*out*/ float* y=null) {
1129 clutter_actor_get_position(&this, x, y);
1132 // VERSION: 0.8
1133 // Computes the requested minimum and natural heights for an actor,
1134 // or if they are already computed, returns the cached values.
1136 // An actor may not get its request - depending on the layout
1137 // manager that's in effect.
1139 // A request should not incorporate the actor's scale or anchor point;
1140 // those transformations do not affect layout, only rendering.
1141 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
1142 // <min_height_p>: return location for minimum height, or %NULL
1143 // <natural_height_p>: return location for natural height, or %NULL
1144 void get_preferred_height()(float for_width, /*out*/ float* min_height_p=null, /*out*/ float* natural_height_p=null) {
1145 clutter_actor_get_preferred_height(&this, for_width, min_height_p, natural_height_p);
1148 // VERSION: 0.8
1149 // Computes the preferred minimum and natural size of an actor, taking into
1150 // account the actor's geometry management (either height-for-width
1151 // or width-for-height).
1153 // The width and height used to compute the preferred height and preferred
1154 // width are the actor's natural ones.
1156 // If you need to control the height for the preferred width, or the width for
1157 // the preferred height, you should use clutter_actor_get_preferred_width()
1158 // and clutter_actor_get_preferred_height(), and check the actor's preferred
1159 // geometry management using the #ClutterActor:request-mode property.
1160 // <min_width_p>: return location for the minimum width, or %NULL
1161 // <min_height_p>: return location for the minimum height, or %NULL
1162 // <natural_width_p>: return location for the natural width, or %NULL
1163 // <natural_height_p>: return location for the natural height, or %NULL
1164 void get_preferred_size()(/*out*/ float* min_width_p=null, /*out*/ float* min_height_p=null, /*out*/ float* natural_width_p=null, /*out*/ float* natural_height_p=null) {
1165 clutter_actor_get_preferred_size(&this, min_width_p, min_height_p, natural_width_p, natural_height_p);
1168 // VERSION: 0.8
1169 // Computes the requested minimum and natural widths for an actor,
1170 // optionally depending on the specified height, or if they are
1171 // already computed, returns the cached values.
1173 // An actor may not get its request - depending on the layout
1174 // manager that's in effect.
1176 // A request should not incorporate the actor's scale or anchor point;
1177 // those transformations do not affect layout, only rendering.
1178 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
1179 // <min_width_p>: return location for minimum width, or %NULL
1180 // <natural_width_p>: return location for the natural width, or %NULL
1181 void get_preferred_width()(float for_height, /*out*/ float* min_width_p=null, /*out*/ float* natural_width_p=null) {
1182 clutter_actor_get_preferred_width(&this, for_height, min_width_p, natural_width_p);
1185 // VERSION: 0.6
1186 // Checks whether @actor is marked as reactive.
1187 // RETURNS: %TRUE if the actor is reactive
1188 int get_reactive()() {
1189 return clutter_actor_get_reactive(&this);
1192 // VERSION: 1.2
1193 // Retrieves the geometry request mode of @self
1194 // RETURNS: the request mode for the actor
1195 RequestMode get_request_mode()() {
1196 return clutter_actor_get_request_mode(&this);
1199 // VERSION: 0.8
1200 // Retrieves the angle and center of rotation on the given axis,
1201 // set using clutter_actor_set_rotation().
1202 // RETURNS: the angle of rotation
1203 // <axis>: the axis of rotation
1204 // <x>: return value for the X coordinate of the center of rotation
1205 // <y>: return value for the Y coordinate of the center of rotation
1206 // <z>: return value for the Z coordinate of the center of rotation
1207 double get_rotation()(RotateAxis axis, /*out*/ float* x, /*out*/ float* y, /*out*/ float* z) {
1208 return clutter_actor_get_rotation(&this, axis, x, y, z);
1211 // VERSION: 0.2
1212 // Retrieves an actors scale factors.
1213 // <scale_x>: Location to store horizonal scale factor, or %NULL.
1214 // <scale_y>: Location to store vertical scale factor, or %NULL.
1215 void get_scale()(/*out*/ double* scale_x=null, /*out*/ double* scale_y=null) {
1216 clutter_actor_get_scale(&this, scale_x, scale_y);
1219 // VERSION: 1.0
1220 // Retrieves the scale center coordinate in pixels relative to the top
1221 // left corner of the actor. If the scale center was specified using a
1222 // #ClutterGravity this will calculate the pixel offset using the
1223 // current size of the actor.
1224 // <center_x>: Location to store the X position of the scale center, or %NULL.
1225 // <center_y>: Location to store the Y position of the scale center, or %NULL.
1226 void get_scale_center()(/*out*/ float* center_x=null, /*out*/ float* center_y=null) {
1227 clutter_actor_get_scale_center(&this, center_x, center_y);
1230 // VERSION: 1.0
1231 // Retrieves the scale center as a compass direction. If the scale
1232 // center was specified in pixels or units this will return
1233 // %CLUTTER_GRAVITY_NONE.
1234 // RETURNS: the scale gravity
1235 Gravity get_scale_gravity()() {
1236 return clutter_actor_get_scale_gravity(&this);
1239 // VERSION: 0.6
1240 // DEPRECATED (v1.8) method: get_shader - Use clutter_actor_get_effect() instead.
1241 // Queries the currently set #ClutterShader on @self.
1243 // or %NULL if no shader is set.
1244 // RETURNS: The currently set #ClutterShader
1245 Shader* get_shader()() {
1246 return clutter_actor_get_shader(&this);
1249 // VERSION: 0.2
1250 // This function tries to "do what you mean" and return
1251 // the size an actor will have. If the actor has a valid
1252 // allocation, the allocation will be returned; otherwise,
1253 // the actors natural size request will be returned.
1255 // If you care whether you get the request vs. the allocation, you
1256 // should probably call a different function like
1257 // clutter_actor_get_allocation_box() or
1258 // clutter_actor_get_preferred_width().
1259 // <width>: return location for the width, or %NULL.
1260 // <height>: return location for the height, or %NULL.
1261 void get_size()(/*out*/ float* width=null, /*out*/ float* height=null) {
1262 clutter_actor_get_size(&this, width, height);
1265 // VERSION: 0.8
1266 // Retrieves the #ClutterStage where @actor is contained.
1268 // containing the actor, or %NULL
1269 // RETURNS: the stage
1270 Actor* get_stage()() {
1271 return clutter_actor_get_stage(&this);
1274 // VERSION: 1.2
1275 // Retrieves the value set using clutter_actor_set_text_direction()
1277 // If no text direction has been previously set, the default text
1278 // direction, as returned by clutter_get_default_text_direction(), will
1279 // be returned instead
1280 // RETURNS: the #ClutterTextDirection for the actor
1281 TextDirection get_text_direction()() {
1282 return clutter_actor_get_text_direction(&this);
1285 // VERSION: 1.0
1286 // Retrieves the transformations applied to @self relative to its
1287 // parent.
1288 // <matrix>: the return location for a #CoglMatrix
1289 void get_transformation_matrix()(/*out*/ Cogl.Matrix* matrix) {
1290 clutter_actor_get_transformation_matrix(&this, matrix);
1293 // VERSION: 1.6
1294 // Retrieves the 3D paint volume of an actor like
1295 // clutter_actor_get_paint_volume() does (Please refer to the
1296 // documentation of clutter_actor_get_paint_volume() for more
1297 // details.) and it additionally transforms the paint volume into the
1298 // coordinate space of @relative_to_ancestor. (Or the stage if %NULL
1299 // is passed for @relative_to_ancestor)
1301 // This can be used by containers that base their paint volume on
1302 // the volume of their children. Such containers can query the
1303 // transformed paint volume of all of its children and union them
1304 // together using clutter_paint_volume_union().
1306 // or %NULL if no volume could be determined.
1307 // RETURNS: a pointer to a #ClutterPaintVolume
1308 // <relative_to_ancestor>: A #ClutterActor that is an ancestor of @self (or %NULL for the stage)
1309 PaintVolume* get_transformed_paint_volume()(Actor* relative_to_ancestor) {
1310 return clutter_actor_get_transformed_paint_volume(&this, relative_to_ancestor);
1313 // VERSION: 0.8
1314 // Gets the absolute position of an actor, in pixels relative to the stage.
1315 // <x>: return location for the X coordinate, or %NULL
1316 // <y>: return location for the Y coordinate, or %NULL
1317 void get_transformed_position()(/*out*/ float* x=null, /*out*/ float* y=null) {
1318 clutter_actor_get_transformed_position(&this, x, y);
1321 // VERSION: 0.8
1322 // Gets the absolute size of an actor in pixels, taking into account the
1323 // scaling factors.
1325 // If the actor has a valid allocation, the allocated size will be used.
1326 // If the actor has not a valid allocation then the preferred size will
1327 // be transformed and returned.
1329 // If you want the transformed allocation, see
1330 // clutter_actor_get_abs_allocation_vertices() instead.
1332 // <note>When the actor (or one of its ancestors) is rotated around the
1333 // X or Y axis, it no longer appears as on the stage as a rectangle, but
1334 // as a generic quadrangle; in that case this function returns the size
1335 // of the smallest rectangle that encapsulates the entire quad. Please
1336 // note that in this case no assumptions can be made about the relative
1337 // position of this envelope to the absolute position of the actor, as
1338 // returned by clutter_actor_get_transformed_position(); if you need this
1339 // information, you need to use clutter_actor_get_abs_allocation_vertices()
1340 // to get the coords of the actual quadrangle.</note>
1341 // <width>: return location for the width, or %NULL
1342 // <height>: return location for the height, or %NULL
1343 void get_transformed_size()(/*out*/ float* width=null, /*out*/ float* height=null) {
1344 clutter_actor_get_transformed_size(&this, width, height);
1347 // Retrieves the width of a #ClutterActor.
1349 // If the actor has a valid allocation, this function will return the
1350 // width of the allocated area given to the actor.
1352 // If the actor does not have a valid allocation, this function will
1353 // return the actor's natural width, that is the preferred width of
1354 // the actor.
1356 // If you care whether you get the preferred width or the width that
1357 // has been assigned to the actor, you should probably call a different
1358 // function like clutter_actor_get_allocation_box() to retrieve the
1359 // allocated size or clutter_actor_get_preferred_width() to retrieve the
1360 // preferred width.
1362 // If an actor has a fixed width, for instance a width that has been
1363 // assigned using clutter_actor_set_width(), the width returned will
1364 // be the same value.
1365 // RETURNS: the width of the actor, in pixels
1366 float get_width()() {
1367 return clutter_actor_get_width(&this);
1370 // Retrieves the X coordinate of a #ClutterActor.
1372 // This function tries to "do what you mean", by returning the
1373 // correct value depending on the actor's state.
1375 // If the actor has a valid allocation, this function will return
1376 // the X coordinate of the origin of the allocation box.
1378 // If the actor has any fixed coordinate set using clutter_actor_set_x(),
1379 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1380 // function will return that coordinate.
1382 // If both the allocation and a fixed position are missing, this function
1383 // will return 0.
1385 // transformation (i.e. scaling, rotation)
1386 // RETURNS: the X coordinate, in pixels, ignoring any
1387 float get_x()() {
1388 return clutter_actor_get_x(&this);
1391 // Retrieves the Y coordinate of a #ClutterActor.
1393 // This function tries to "do what you mean", by returning the
1394 // correct value depending on the actor's state.
1396 // If the actor has a valid allocation, this function will return
1397 // the Y coordinate of the origin of the allocation box.
1399 // If the actor has any fixed coordinate set using clutter_actor_set_y(),
1400 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1401 // function will return that coordinate.
1403 // If both the allocation and a fixed position are missing, this function
1404 // will return 0.
1406 // transformation (i.e. scaling, rotation)
1407 // RETURNS: the Y coordinate, in pixels, ignoring any
1408 float get_y()() {
1409 return clutter_actor_get_y(&this);
1412 // VERSION: 1.0
1413 // Retrieves the center for the rotation around the Z axis as a
1414 // compass direction. If the center was specified in pixels or units
1415 // this will return %CLUTTER_GRAVITY_NONE.
1416 // RETURNS: the Z rotation center
1417 Gravity get_z_rotation_gravity()() {
1418 return clutter_actor_get_z_rotation_gravity(&this);
1421 // VERSION: 1.0
1422 // Sets the key focus of the #ClutterStage including @self
1423 // to this #ClutterActor.
1424 void grab_key_focus()() {
1425 clutter_actor_grab_key_focus(&this);
1428 // VERSION: 1.4
1429 // Checks if the actor has an up-to-date allocation assigned to
1430 // it. This means that the actor should have an allocation: it's
1431 // visible and has a parent. It also means that there is no
1432 // outstanding relayout request in progress for the actor or its
1433 // children (There might be other outstanding layout requests in
1434 // progress that will cause the actor to get a new allocation
1435 // when the stage is laid out, however).
1437 // If this function returns %FALSE, then the actor will normally
1438 // be allocated before it is next drawn on the screen.
1439 // RETURNS: %TRUE if the actor has an up-to-date allocation
1440 int has_allocation()() {
1441 return clutter_actor_has_allocation(&this);
1444 // VERSION: 0.1.1
1445 // Determines whether the actor has a clip area set or not.
1446 // RETURNS: %TRUE if the actor has a clip area set.
1447 int has_clip()() {
1448 return clutter_actor_has_clip(&this);
1451 // VERSION: 1.4
1452 // Checks whether @self is the #ClutterActor that has key focus
1453 // RETURNS: %TRUE if the actor has key focus, and %FALSE otherwise
1454 int has_key_focus()() {
1455 return clutter_actor_has_key_focus(&this);
1458 // VERSION: 1.8
1459 // Asks the actor's implementation whether it may contain overlapping
1460 // primitives.
1462 // For example; Clutter may use this to determine whether the painting
1463 // should be redirected to an offscreen buffer to correctly implement
1464 // the opacity property.
1466 // Custom actors can override the default response by implementing the
1467 // #ClutterActor <function>has_overlaps</function> virtual function. See
1468 // clutter_actor_set_offscreen_redirect() for more information.
1470 // %FALSE otherwise
1471 // RETURNS: %TRUE if the actor may have overlapping primitives, and
1472 int has_overlaps()() {
1473 return clutter_actor_has_overlaps(&this);
1476 // VERSION: 1.2
1477 // Checks whether an actor contains the pointer of a
1478 // #ClutterInputDevice
1480 // %FALSE otherwise
1481 // RETURNS: %TRUE if the actor contains the pointer, and
1482 int has_pointer()() {
1483 return clutter_actor_has_pointer(&this);
1486 // Flags an actor to be hidden. A hidden actor will not be
1487 // rendered on the stage.
1489 // Actors are visible by default.
1491 // If this function is called on an actor without a parent, the
1492 // #ClutterActor:show-on-set-parent property will be set to %FALSE
1493 // as a side-effect.
1494 void hide()() {
1495 clutter_actor_hide(&this);
1498 // VERSION: 0.2
1499 // Calls clutter_actor_hide() on all child actors (if any).
1500 void hide_all()() {
1501 clutter_actor_hide_all(&this);
1504 // VERSION: 1.0
1505 // Checks whether @self is being currently painted by a #ClutterClone
1507 // This function is useful only inside the ::paint virtual function
1508 // implementations or within handlers for the #ClutterActor::paint
1509 // signal
1511 // This function should not be used by applications
1513 // by a #ClutterClone, and %FALSE otherwise
1514 // RETURNS: %TRUE if the #ClutterActor is currently being painted
1515 int is_in_clone_paint()() {
1516 return clutter_actor_is_in_clone_paint(&this);
1519 // VERSION: 0.6
1520 // Checks whether any rotation is applied to the actor.
1521 // RETURNS: %TRUE if the actor is rotated.
1522 int is_rotated()() {
1523 return clutter_actor_is_rotated(&this);
1526 // VERSION: 0.6
1527 // Checks whether the actor is scaled in either dimension.
1528 // RETURNS: %TRUE if the actor is scaled.
1529 int is_scaled()() {
1530 return clutter_actor_is_scaled(&this);
1533 // Puts @self below @above.
1535 // Both actors must have the same parent, and the parent must implement
1536 // the #ClutterContainer interface.
1538 // This function is the equivalent of clutter_container_lower_child().
1539 // <above>: A #ClutterActor to lower below
1540 void lower()(Actor* above=null) {
1541 clutter_actor_lower(&this, above);
1544 // Lowers @self to the bottom.
1546 // This function calls clutter_actor_lower() internally.
1547 void lower_bottom()() {
1548 clutter_actor_lower_bottom(&this);
1551 // VERSION: 1.0
1552 // Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
1553 // and realizes its children if they are visible. Does nothing if the
1554 // actor is not visible.
1556 // Calling this is allowed in only one case: you are implementing the
1557 // #ClutterActor <function>map()</function> virtual function in an actor
1558 // and you need to map the children of that actor. It is not necessary
1559 // to call this if you implement #ClutterContainer because the default
1560 // implementation will automatically map children of containers.
1562 // When overriding map, it is mandatory to chain up to the parent
1563 // implementation.
1564 void map()() {
1565 clutter_actor_map(&this);
1568 // VERSION: 0.6
1569 // Sets an anchor point for the actor, and adjusts the actor postion so that
1570 // the relative position of the actor toward its parent remains the same.
1571 // <anchor_x>: X coordinate of the anchor point
1572 // <anchor_y>: Y coordinate of the anchor point
1573 void move_anchor_point()(float anchor_x, float anchor_y) {
1574 clutter_actor_move_anchor_point(&this, anchor_x, anchor_y);
1577 // VERSION: 0.6
1578 // Sets an anchor point on the actor based on the given gravity, adjusting the
1579 // actor postion so that its relative position within its parent remains
1580 // unchanged.
1582 // Since version 1.0 the anchor point will be stored as a gravity so
1583 // that if the actor changes size then the anchor point will move. For
1584 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
1585 // and later double the size of the actor, the anchor point will move
1586 // to the bottom right.
1587 // <gravity>: #ClutterGravity.
1588 void move_anchor_point_from_gravity()(Gravity gravity) {
1589 clutter_actor_move_anchor_point_from_gravity(&this, gravity);
1592 // VERSION: 0.2
1593 // Moves an actor by the specified distance relative to its current
1594 // position in pixels.
1596 // This function modifies the fixed position of an actor and thus removes
1597 // it from any layout management. Another way to move an actor is with an
1598 // anchor point, see clutter_actor_set_anchor_point().
1599 // <dx>: Distance to move Actor on X axis.
1600 // <dy>: Distance to move Actor on Y axis.
1601 void move_by()(float dx, float dy) {
1602 clutter_actor_move_by(&this, dx, dy);
1605 // Renders the actor to display.
1607 // This function should not be called directly by applications.
1608 // Call clutter_actor_queue_redraw() to queue paints, instead.
1610 // This function is context-aware, and will either cause a
1611 // regular paint or a pick paint.
1613 // This function will emit the #ClutterActor::paint signal or
1614 // the #ClutterActor::pick signal, depending on the context.
1616 // This function does not paint the actor if the actor is set to 0,
1617 // unless it is performing a pick paint.
1618 void paint()() {
1619 clutter_actor_paint(&this);
1622 // VERSION: 1.2
1623 // Disables the effects of clutter_actor_push_internal()
1624 void pop_internal()() {
1625 clutter_actor_pop_internal(&this);
1628 // VERSION: 1.2
1629 // Should be used by actors implementing the #ClutterContainer and with
1630 // internal children added through clutter_actor_set_parent(), for instance:
1632 // |[
1633 // static void
1634 // my_actor_init (MyActor *self)
1635 // {
1636 // self->priv = SELF_ACTOR_GET_PRIVATE (self);
1638 // clutter_actor_push_internal (CLUTTER_ACTOR (self));
1640 // /&ast; calling clutter_actor_set_parent() now will result in
1641 // &ast; the internal flag being set on a child of MyActor
1642 // &ast;/
1644 // /&ast; internal child - a background texture &ast;/
1645 // self->priv->background_tex = clutter_texture_new ();
1646 // clutter_actor_set_parent (self->priv->background_tex,
1647 // CLUTTER_ACTOR (self));
1649 // /&ast; internal child - a label &ast;/
1650 // self->priv->label = clutter_text_new ();
1651 // clutter_actor_set_parent (self->priv->label,
1652 // CLUTTER_ACTOR (self));
1654 // clutter_actor_pop_internal (CLUTTER_ACTOR (self));
1656 // /&ast; calling clutter_actor_set_parent() now will not result in
1657 // &ast; the internal flag being set on a child of MyActor
1658 // &ast;/
1659 // }
1660 // ]|
1662 // This function will be used by Clutter to toggle an "internal child"
1663 // flag whenever clutter_actor_set_parent() is called; internal children
1664 // are handled differently by Clutter, specifically when destroying their
1665 // parent.
1667 // Call clutter_actor_pop_internal() when you finished adding internal
1668 // children.
1670 // Nested calls to clutter_actor_push_internal() are allowed, but each
1671 // one must by followed by a clutter_actor_pop_internal() call.
1672 void push_internal()() {
1673 clutter_actor_push_internal(&this);
1676 // Queues up a redraw of an actor and any children. The redraw occurs
1677 // once the main loop becomes idle (after the current batch of events
1678 // has been processed, roughly).
1680 // Applications rarely need to call this, as redraws are handled
1681 // automatically by modification functions.
1683 // This function will not do anything if @self is not visible, or
1684 // if the actor is inside an invisible part of the scenegraph.
1686 // Also be aware that painting is a NOP for actors with an opacity of
1687 // 0
1689 // When you are implementing a custom actor you must queue a redraw
1690 // whenever some private state changes that will affect painting or
1691 // picking of your actor.
1692 void queue_redraw()() {
1693 clutter_actor_queue_redraw(&this);
1696 // VERSION: 0.8
1697 // Indicates that the actor's size request or other layout-affecting
1698 // properties may have changed. This function is used inside #ClutterActor
1699 // subclass implementations, not by applications directly.
1701 // Queueing a new layout automatically queues a redraw as well.
1702 void queue_relayout()() {
1703 clutter_actor_queue_relayout(&this);
1706 // Puts @self above @below.
1708 // Both actors must have the same parent, and the parent must implement
1709 // the #ClutterContainer interface
1711 // This function is the equivalent of clutter_container_raise_child().
1712 // <below>: A #ClutterActor to raise above.
1713 void raise()(Actor* below=null) {
1714 clutter_actor_raise(&this, below);
1717 // Raises @self to the top.
1719 // This function calls clutter_actor_raise() internally.
1720 void raise_top()() {
1721 clutter_actor_raise_top(&this);
1724 // Realization informs the actor that it is attached to a stage. It
1725 // can use this to allocate resources if it wanted to delay allocation
1726 // until it would be rendered. However it is perfectly acceptable for
1727 // an actor to create resources before being realized because Clutter
1728 // only ever has a single rendering context so that actor is free to
1729 // be moved from one stage to another.
1731 // This function does nothing if the actor is already realized.
1733 // Because a realized actor must have realized parent actors, calling
1734 // clutter_actor_realize() will also realize all parents of the actor.
1736 // This function does not realize child actors, except in the special
1737 // case that realizing the stage, when the stage is visible, will
1738 // suddenly map (and thus realize) the children of the stage.
1739 void realize()() {
1740 clutter_actor_realize(&this);
1743 // VERSION: 1.4
1744 // Removes @action from the list of actions applied to @self
1746 // The reference held by @self on the #ClutterAction will be released
1747 // <action>: a #ClutterAction
1748 void remove_action()(Action* action) {
1749 clutter_actor_remove_action(&this, action);
1752 // VERSION: 1.4
1753 // Removes the #ClutterAction with the given name from the list
1754 // of actions applied to @self
1755 // <name>: the name of the action to remove
1756 void remove_action_by_name()(char* name) {
1757 clutter_actor_remove_action_by_name(&this, name);
1759 // Removes clip area from @self.
1760 void remove_clip()() {
1761 clutter_actor_remove_clip(&this);
1764 // VERSION: 1.4
1765 // Removes @constraint from the list of constraints applied to @self
1767 // The reference held by @self on the #ClutterConstraint will be released
1768 // <constraint>: a #ClutterConstraint
1769 void remove_constraint()(Constraint* constraint) {
1770 clutter_actor_remove_constraint(&this, constraint);
1773 // VERSION: 1.4
1774 // Removes the #ClutterConstraint with the given name from the list
1775 // of constraints applied to @self
1776 // <name>: the name of the constraint to remove
1777 void remove_constraint_by_name()(char* name) {
1778 clutter_actor_remove_constraint_by_name(&this, name);
1781 // VERSION: 1.4
1782 // Removes @effect from the list of effects applied to @self
1784 // The reference held by @self on the #ClutterEffect will be released
1785 // <effect>: a #ClutterEffect
1786 void remove_effect()(Effect* effect) {
1787 clutter_actor_remove_effect(&this, effect);
1790 // VERSION: 1.4
1791 // Removes the #ClutterEffect with the given name from the list
1792 // of effects applied to @self
1793 // <name>: the name of the effect to remove
1794 void remove_effect_by_name()(char* name) {
1795 clutter_actor_remove_effect_by_name(&this, name);
1798 // VERSION: 0.2
1799 // This function resets the parent actor of @self. It is
1800 // logically equivalent to calling clutter_actor_unparent()
1801 // and clutter_actor_set_parent(), but more efficiently
1802 // implemented, ensures the child is not finalized
1803 // when unparented, and emits the parent-set signal only
1804 // one time.
1805 // <new_parent>: the new #ClutterActor parent
1806 void reparent()(Actor* new_parent) {
1807 clutter_actor_reparent(&this, new_parent);
1810 // VERSION: 0.6
1811 // Sets an anchor point for @self. The anchor point is a point in the
1812 // coordinate space of an actor to which the actor position within its
1813 // parent is relative; the default is (0, 0), i.e. the top-left corner
1814 // of the actor.
1815 // <anchor_x>: X coordinate of the anchor point
1816 // <anchor_y>: Y coordinate of the anchor point
1817 void set_anchor_point()(float anchor_x, float anchor_y) {
1818 clutter_actor_set_anchor_point(&this, anchor_x, anchor_y);
1821 // VERSION: 0.6
1822 // Sets an anchor point on the actor, based on the given gravity (this is a
1823 // convenience function wrapping clutter_actor_set_anchor_point()).
1825 // Since version 1.0 the anchor point will be stored as a gravity so
1826 // that if the actor changes size then the anchor point will move. For
1827 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
1828 // and later double the size of the actor, the anchor point will move
1829 // to the bottom right.
1830 // <gravity>: #ClutterGravity.
1831 void set_anchor_point_from_gravity()(Gravity gravity) {
1832 clutter_actor_set_anchor_point_from_gravity(&this, gravity);
1835 // VERSION: 0.6
1836 // Sets clip area for @self. The clip area is always computed from the
1837 // upper left corner of the actor, even if the anchor point is set
1838 // otherwise.
1839 // <xoff>: X offset of the clip rectangle
1840 // <yoff>: Y offset of the clip rectangle
1841 // <width>: Width of the clip rectangle
1842 // <height>: Height of the clip rectangle
1843 void set_clip()(float xoff, float yoff, float width, float height) {
1844 clutter_actor_set_clip(&this, xoff, yoff, width, height);
1847 // VERSION: 1.4
1848 // Sets whether @self should be clipped to the same size as its
1849 // allocation
1850 // <clip_set>: %TRUE to apply a clip tracking the allocation
1851 void set_clip_to_allocation()(int clip_set) {
1852 clutter_actor_set_clip_to_allocation(&this, clip_set);
1855 // Sets the Z coordinate of @self to @depth.
1857 // The unit used by @depth is dependant on the perspective setup. See
1858 // also clutter_stage_set_perspective().
1859 // <depth>: Z co-ord
1860 void set_depth()(float depth) {
1861 clutter_actor_set_depth(&this, depth);
1864 // VERSION: 0.8
1865 // Sets whether an actor has a fixed position set (and will thus be
1866 // unaffected by any layout manager).
1867 // <is_set>: whether to use fixed position
1868 void set_fixed_position_set()(int is_set) {
1869 clutter_actor_set_fixed_position_set(&this, is_set);
1872 // VERSION: 1.0
1873 // Sets @flags on @self
1875 // This function will emit notifications for the changed properties
1876 // <flags>: the flags to set
1877 void set_flags()(ActorFlags flags) {
1878 clutter_actor_set_flags(&this, flags);
1881 // Sets the actor's fixed position and forces its minimum and natural
1882 // size, in pixels. This means the untransformed actor will have the
1883 // given geometry. This is the same as calling clutter_actor_set_position()
1884 // and clutter_actor_set_size().
1885 // <geometry>: A #ClutterGeometry
1886 void set_geometry()(Geometry* geometry) {
1887 clutter_actor_set_geometry(&this, geometry);
1890 // VERSION: 0.2
1891 // Forces a height on an actor, causing the actor's preferred width
1892 // and height (if any) to be ignored.
1894 // If @height is -1 the actor will use its preferred height instead of
1895 // overriding it, i.e. you can "unset" the height with -1.
1897 // This function sets both the minimum and natural size of the actor.
1898 // <height>: Requested new height for the actor, in pixels, or -1
1899 void set_height()(float height) {
1900 clutter_actor_set_height(&this, height);
1903 // Sets the given name to @self. The name can be used to identify
1904 // a #ClutterActor.
1905 // <name>: Textual tag to apply to actor
1906 void set_name()(char* name) {
1907 clutter_actor_set_name(&this, name);
1910 // VERSION: 1.8
1911 // Defines the circumstances where the actor should be redirected into
1912 // an offscreen image. The offscreen image is used to flatten the
1913 // actor into a single image while painting for two main reasons.
1914 // Firstly, when the actor is painted a second time without any of its
1915 // contents changing it can simply repaint the cached image without
1916 // descending further down the actor hierarchy. Secondly, it will make
1917 // the opacity look correct even if there are overlapping primitives
1918 // in the actor.
1920 // Caching the actor could in some cases be a performance win and in
1921 // some cases be a performance lose so it is important to determine
1922 // which value is right for an actor before modifying this value. For
1923 // example, there is never any reason to flatten an actor that is just
1924 // a single texture (such as a #ClutterTexture) because it is
1925 // effectively already cached in an image so the offscreen would be
1926 // redundant. Also if the actor contains primitives that are far apart
1927 // with a large transparent area in the middle (such as a large
1928 // CluterGroup with a small actor in the top left and a small actor in
1929 // the bottom right) then the cached image will contain the entire
1930 // image of the large area and the paint will waste time blending all
1931 // of the transparent pixels in the middle.
1933 // The default method of implementing opacity on a container simply
1934 // forwards on the opacity to all of the children. If the children are
1935 // overlapping then it will appear as if they are two separate glassy
1936 // objects and there will be a break in the color where they
1937 // overlap. By redirecting to an offscreen buffer it will be as if the
1938 // two opaque objects are combined into one and then made transparent
1939 // which is usually what is expected.
1941 // The image below demonstrates the difference between redirecting and
1942 // not. The image shows two Clutter groups, each containing a red and
1943 // a green rectangle which overlap. The opacity on the group is set to
1944 // 128 (which is 50%). When the offscreen redirect is not used, the
1945 // red rectangle can be seen through the blue rectangle as if the two
1946 // rectangles were separately transparent. When the redirect is used
1947 // the group as a whole is transparent instead so the red rectangle is
1948 // not visible where they overlap.
1950 // <figure id="offscreen-redirect">
1951 // <title>Sample of using an offscreen redirect for transparency</title>
1952 // <graphic fileref="offscreen-redirect.png" format="PNG"/>
1953 // </figure>
1955 // The default value for this property is 0, so we effectively will
1956 // never redirect an actor offscreen by default. This means that there
1957 // are times that transparent actors may look glassy as described
1958 // above. The reason this is the default is because there is a
1959 // performance trade off between quality and performance here. In many
1960 // cases the default form of glassy opacity looks good enough, but if
1961 // it's not you will need to set the
1962 // %CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY flag to enable
1963 // redirection for opacity.
1965 // Custom actors that don't contain any overlapping primitives are
1966 // recommended to override the has_overlaps() virtual to return %FALSE
1967 // for maximum efficiency.
1968 // <redirect>: New offscreen redirect flags for the actor.
1969 void set_offscreen_redirect()(OffscreenRedirect redirect) {
1970 clutter_actor_set_offscreen_redirect(&this, redirect);
1973 // Sets the actor's opacity, with zero being completely transparent and
1974 // 255 (0xff) being fully opaque.
1975 // <opacity>: New opacity value for the actor.
1976 void set_opacity()(ubyte opacity) {
1977 clutter_actor_set_opacity(&this, opacity);
1980 // Sets the parent of @self to @parent. The opposite function is
1981 // clutter_actor_unparent().
1983 // This function should not be used by applications, but by custom
1984 // container actor subclasses.
1985 // <parent>: A new #ClutterActor parent
1986 void set_parent()(Actor* parent) {
1987 clutter_actor_set_parent(&this, parent);
1990 // Sets the actor's fixed position in pixels relative to any parent
1991 // actor.
1993 // If a layout manager is in use, this position will override the
1994 // layout manager and force a fixed position.
1995 // <x>: New left position of actor in pixels.
1996 // <y>: New top position of actor in pixels.
1997 void set_position()(float x, float y) {
1998 clutter_actor_set_position(&this, x, y);
2001 // VERSION: 0.6
2002 // Sets @actor as reactive. Reactive actors will receive events.
2003 // <reactive>: whether the actor should be reactive to events
2004 void set_reactive()(int reactive) {
2005 clutter_actor_set_reactive(&this, reactive);
2008 // VERSION: 1.2
2009 // Sets the geometry request mode of @self.
2011 // The @mode determines the order for invoking
2012 // clutter_actor_get_preferred_width() and
2013 // clutter_actor_get_preferred_height()
2014 // <mode>: the request mode
2015 void set_request_mode()(RequestMode mode) {
2016 clutter_actor_set_request_mode(&this, mode);
2019 // VERSION: 0.8
2020 // Sets the rotation angle of @self around the given axis.
2022 // The rotation center coordinates used depend on the value of @axis:
2023 // <itemizedlist>
2024 // <listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem>
2025 // <listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem>
2026 // <listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem>
2027 // </itemizedlist>
2029 // The rotation coordinates are relative to the anchor point of the
2030 // actor, set using clutter_actor_set_anchor_point(). If no anchor
2031 // point is set, the upper left corner is assumed as the origin.
2032 // <axis>: the axis of rotation
2033 // <angle>: the angle of rotation
2034 // <x>: X coordinate of the rotation center
2035 // <y>: Y coordinate of the rotation center
2036 // <z>: Z coordinate of the rotation center
2037 void set_rotation()(RotateAxis axis, double angle, float x, float y, float z) {
2038 clutter_actor_set_rotation(&this, axis, angle, x, y, z);
2041 // VERSION: 0.2
2042 // Scales an actor with the given factors. The scaling is relative to
2043 // the scale center and the anchor point. The scale center is
2044 // unchanged by this function and defaults to 0,0.
2045 // <scale_x>: double factor to scale actor by horizontally.
2046 // <scale_y>: double factor to scale actor by vertically.
2047 void set_scale()(double scale_x, double scale_y) {
2048 clutter_actor_set_scale(&this, scale_x, scale_y);
2051 // VERSION: 1.0
2052 // Scales an actor with the given factors around the given center
2053 // point. The center point is specified in pixels relative to the
2054 // anchor point (usually the top left corner of the actor).
2055 // <scale_x>: double factor to scale actor by horizontally.
2056 // <scale_y>: double factor to scale actor by vertically.
2057 // <center_x>: X coordinate of the center of the scale.
2058 // <center_y>: Y coordinate of the center of the scale
2059 void set_scale_full()(double scale_x, double scale_y, float center_x, float center_y) {
2060 clutter_actor_set_scale_full(&this, scale_x, scale_y, center_x, center_y);
2063 // VERSION: 1.0
2064 // Scales an actor with the given factors around the given
2065 // center point. The center point is specified as one of the compass
2066 // directions in #ClutterGravity. For example, setting it to north
2067 // will cause the top of the actor to remain unchanged and the rest of
2068 // the actor to expand left, right and downwards.
2069 // <scale_x>: double factor to scale actor by horizontally.
2070 // <scale_y>: double factor to scale actor by vertically.
2071 // <gravity>: the location of the scale center expressed as a compass direction.
2072 void set_scale_with_gravity()(double scale_x, double scale_y, Gravity gravity) {
2073 clutter_actor_set_scale_with_gravity(&this, scale_x, scale_y, gravity);
2076 // VERSION: 0.6
2077 // DEPRECATED (v1.8) method: set_shader - Use #ClutterShaderEffect and
2078 // Sets the #ClutterShader to be used when rendering @self.
2080 // If @shader is %NULL this function will unset any currently set shader
2081 // for the actor.
2083 // <note>Any #ClutterEffect applied to @self will take the precedence
2084 // over the #ClutterShader set using this function.</note>
2086 // or removed
2089 // clutter_actor_add_effect() instead.
2090 // RETURNS: %TRUE if the shader was successfully applied
2091 // <shader>: a #ClutterShader or %NULL to unset the shader.
2092 int set_shader()(Shader* shader=null) {
2093 return clutter_actor_set_shader(&this, shader);
2096 // VERSION: 1.0
2097 // DEPRECATED (v1.8) method: set_shader_param - Use clutter_shader_effect_set_uniform_value() instead
2098 // Sets the value for a named parameter of the shader applied
2099 // to @actor.
2100 // <param>: the name of the parameter
2101 // <value>: the value of the parameter
2102 void set_shader_param()(char* param, GObject2.Value* value) {
2103 clutter_actor_set_shader_param(&this, param, value);
2106 // VERSION: 0.8
2107 // DEPRECATED (v1.8) method: set_shader_param_float - Use clutter_shader_effect_set_uniform() instead
2108 // Sets the value for a named float parameter of the shader applied
2109 // to @actor.
2110 // <param>: the name of the parameter
2111 // <value>: the value of the parameter
2112 void set_shader_param_float()(char* param, float value) {
2113 clutter_actor_set_shader_param_float(&this, param, value);
2116 // VERSION: 0.8
2117 // DEPRECATED (v1.8) method: set_shader_param_int - Use clutter_shader_effect_set_uniform() instead
2118 // Sets the value for a named int parameter of the shader applied to
2119 // @actor.
2120 // <param>: the name of the parameter
2121 // <value>: the value of the parameter
2122 void set_shader_param_int()(char* param, int value) {
2123 clutter_actor_set_shader_param_int(&this, param, value);
2126 // Sets the actor's size request in pixels. This overrides any
2127 // "normal" size request the actor would have. For example
2128 // a text actor might normally request the size of the text;
2129 // this function would force a specific size instead.
2131 // If @width and/or @height are -1 the actor will use its
2132 // "normal" size request instead of overriding it, i.e.
2133 // you can "unset" the size with -1.
2135 // This function sets or unsets both the minimum and natural size.
2136 // <width>: New width of actor in pixels, or -1
2137 // <height>: New height of actor in pixels, or -1
2138 void set_size()(float width, float height) {
2139 clutter_actor_set_size(&this, width, height);
2142 // VERSION: 1.2
2143 // Sets the #ClutterTextDirection for an actor
2145 // The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT
2147 // If @self implements #ClutterContainer then this function will recurse
2148 // inside all the children of @self (including the internal ones).
2150 // Composite actors not implementing #ClutterContainer, or actors requiring
2151 // special handling when the text direction changes, should connect to
2152 // the #GObject::notify signal for the #ClutterActor:text-direction property
2153 // <text_dir>: the text direction for @self
2154 void set_text_direction()(TextDirection text_dir) {
2155 clutter_actor_set_text_direction(&this, text_dir);
2158 // VERSION: 0.2
2159 // Forces a width on an actor, causing the actor's preferred width
2160 // and height (if any) to be ignored.
2162 // If @width is -1 the actor will use its preferred width request
2163 // instead of overriding it, i.e. you can "unset" the width with -1.
2165 // This function sets both the minimum and natural size of the actor.
2166 // <width>: Requested new width for the actor, in pixels, or -1
2167 void set_width()(float width) {
2168 clutter_actor_set_width(&this, width);
2171 // VERSION: 0.6
2172 // Sets the actor's X coordinate, relative to its parent, in pixels.
2174 // Overrides any layout manager and forces a fixed position for
2175 // the actor.
2176 // <x>: the actor's position on the X axis
2177 void set_x()(float x) {
2178 clutter_actor_set_x(&this, x);
2181 // VERSION: 0.6
2182 // Sets the actor's Y coordinate, relative to its parent, in pixels.#
2184 // Overrides any layout manager and forces a fixed position for
2185 // the actor.
2186 // <y>: the actor's position on the Y axis
2187 void set_y()(float y) {
2188 clutter_actor_set_y(&this, y);
2191 // VERSION: 1.0
2192 // Sets the rotation angle of @self around the Z axis using the center
2193 // point specified as a compass point. For example to rotate such that
2194 // the center of the actor remains static you can use
2195 // %CLUTTER_GRAVITY_CENTER. If the actor changes size the center point
2196 // will move accordingly.
2197 // <angle>: the angle of rotation
2198 // <gravity>: the center point of the rotation
2199 void set_z_rotation_from_gravity()(double angle, Gravity gravity) {
2200 clutter_actor_set_z_rotation_from_gravity(&this, angle, gravity);
2203 // Should be called inside the implementation of the
2204 // #ClutterActor::pick virtual function in order to check whether
2205 // the actor should paint itself in pick mode or not.
2207 // This function should never be called directly by applications.
2209 // %FALSE otherwise
2210 // RETURNS: %TRUE if the actor should paint its silhouette,
2211 int should_pick_paint()() {
2212 return clutter_actor_should_pick_paint(&this);
2215 // Flags an actor to be displayed. An actor that isn't shown will not
2216 // be rendered on the stage.
2218 // Actors are visible by default.
2220 // If this function is called on an actor without a parent, the
2221 // #ClutterActor:show-on-set-parent will be set to %TRUE as a side
2222 // effect.
2223 void show()() {
2224 clutter_actor_show(&this);
2227 // VERSION: 0.2
2228 // Calls clutter_actor_show() on all children of an actor (if any).
2229 void show_all()() {
2230 clutter_actor_show_all(&this);
2233 // VERSION: 0.6
2234 // This function translates screen coordinates (@x, @y) to
2235 // coordinates relative to the actor. For example, it can be used to translate
2236 // screen events from global screen coordinates into actor-local coordinates.
2238 // The conversion can fail, notably if the transform stack results in the
2239 // actor being projected on the screen as a mere line.
2241 // The conversion should not be expected to be pixel-perfect due to the
2242 // nature of the operation. In general the error grows when the skewing
2243 // of the actor rectangle on screen increases.
2245 // <note><para>This function can be computationally intensive.</para></note>
2247 // <note><para>This function only works when the allocation is up-to-date,
2248 // i.e. inside of paint().</para></note>
2249 // RETURNS: %TRUE if conversion was successful.
2250 // <x>: x screen coordinate of the point to unproject
2251 // <y>: y screen coordinate of the point to unproject
2252 // <x_out>: return location for the unprojected x coordinance
2253 // <y_out>: return location for the unprojected y coordinance
2254 int transform_stage_point()(float x, float y, /*out*/ float* x_out, /*out*/ float* y_out) {
2255 return clutter_actor_transform_stage_point(&this, x, y, x_out, y_out);
2258 // VERSION: 1.0
2259 // Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
2260 // unmaps its children if they were mapped.
2262 // Calling this is allowed in only one case: you are implementing the
2263 // #ClutterActor <function>unmap()</function> virtual function in an actor
2264 // and you need to unmap the children of that actor. It is not necessary
2265 // to call this if you implement #ClutterContainer because the default
2266 // implementation will automatically unmap children of containers.
2268 // When overriding unmap, it is mandatory to chain up to the parent
2269 // implementation.
2270 void unmap()() {
2271 clutter_actor_unmap(&this);
2274 // VERSION: 0.1.1
2275 // Removes the parent of @self.
2277 // This function should not be used in applications.
2279 // This function should only be called by implementations of the
2280 // #ClutterContainer interface, or by composite actors that do
2281 // not implicitly create their children.
2282 void unparent()() {
2283 clutter_actor_unparent(&this);
2286 // Unrealization informs the actor that it may be being destroyed or
2287 // moved to another stage. The actor may want to destroy any
2288 // underlying graphics resources at this point. However it is
2289 // perfectly acceptable for it to retain the resources until the actor
2290 // is destroyed because Clutter only ever uses a single rendering
2291 // context and all of the graphics resources are valid on any stage.
2293 // Because mapped actors must be realized, actors may not be
2294 // unrealized if they are mapped. This function hides the actor to be
2295 // sure it isn't mapped, an application-visible side effect that you
2296 // may not be expecting.
2298 // This function should not be called by application code.
2299 void unrealize()() {
2300 clutter_actor_unrealize(&this);
2303 // VERSION: 1.0
2304 // Unsets @flags on @self
2306 // This function will emit notifications for the changed properties
2307 // <flags>: the flags to unset
2308 void unset_flags()(ActorFlags flags) {
2309 clutter_actor_unset_flags(&this, flags);
2312 // VERSION: 1.0
2313 // The ::allocation-changed signal is emitted when the
2314 // #ClutterActor:allocation property changes. Usually, application
2315 // code should just use the notifications for the :allocation property
2316 // but if you want to track the allocation flags as well, for instance
2317 // to know whether the absolute origin of @actor changed, then you might
2318 // want use this signal instead.
2319 // <box>: a #ClutterActorBox with the new allocation
2320 // <flags>: #ClutterAllocationFlags for the allocation
2321 extern (C) alias static void function (Actor* this_, ActorBox* box, AllocationFlags* flags, void* user_data=null) signal_allocation_changed;
2323 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2324 return super_.signal_connect!name(cb, data, cf);
2327 ulong signal_connect(string name:"allocation-changed", CB:signal_allocation_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2328 return signal_connect_data!()(&this, cast(char*)"allocation-changed",
2329 cast(GObject2.Callback)cb, data, null, cf);
2332 // VERSION: 0.6
2333 // The ::button-press-event signal is emitted each time a mouse button
2334 // is pressed on @actor.
2336 // or %FALSE to continue the emission.
2337 // RETURNS: %TRUE if the event has been handled by the actor,
2338 // <event>: a #ClutterButtonEvent
2339 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_button_press_event;
2340 ulong signal_connect(string name:"button-press-event", CB:signal_button_press_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2341 return signal_connect_data!()(&this, cast(char*)"button-press-event",
2342 cast(GObject2.Callback)cb, data, null, cf);
2345 // VERSION: 0.6
2346 // The ::button-release-event signal is emitted each time a mouse button
2347 // is released on @actor.
2349 // or %FALSE to continue the emission.
2350 // RETURNS: %TRUE if the event has been handled by the actor,
2351 // <event>: a #ClutterButtonEvent
2352 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_button_release_event;
2353 ulong signal_connect(string name:"button-release-event", CB:signal_button_release_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2354 return signal_connect_data!()(&this, cast(char*)"button-release-event",
2355 cast(GObject2.Callback)cb, data, null, cf);
2358 // VERSION: 0.6
2359 // The ::captured-event signal is emitted when an event is captured
2360 // by Clutter. This signal will be emitted starting from the top-level
2361 // container (the #ClutterStage) to the actor which received the event
2362 // going down the hierarchy. This signal can be used to intercept every
2363 // event before the specialized events (like
2364 // ClutterActor::button-press-event or ::key-released-event) are
2365 // emitted.
2367 // or %FALSE to continue the emission.
2368 // RETURNS: %TRUE if the event has been handled by the actor,
2369 // <event>: a #ClutterEvent
2370 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_captured_event;
2371 ulong signal_connect(string name:"captured-event", CB:signal_captured_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2372 return signal_connect_data!()(&this, cast(char*)"captured-event",
2373 cast(GObject2.Callback)cb, data, null, cf);
2376 // VERSION: 0.2
2377 // The ::destroy signal notifies that all references held on the
2378 // actor which emitted it should be released.
2380 // The ::destroy signal should be used by all holders of a reference
2381 // on @actor.
2383 // This signal might result in the finalization of the #ClutterActor
2384 // if all references are released.
2386 // Composite actors and actors implementing the #ClutterContainer
2387 // interface should override the default implementation of the
2388 // class handler of this signal and call clutter_actor_destroy() on
2389 // their children. When overriding the default class handler, it is
2390 // required to chain up to the parent's implementation.
2391 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_destroy;
2392 ulong signal_connect(string name:"destroy", CB:signal_destroy)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2393 return signal_connect_data!()(&this, cast(char*)"destroy",
2394 cast(GObject2.Callback)cb, data, null, cf);
2397 // VERSION: 0.6
2398 // The ::enter-event signal is emitted when the pointer enters the @actor
2400 // or %FALSE to continue the emission.
2401 // RETURNS: %TRUE if the event has been handled by the actor,
2402 // <event>: a #ClutterCrossingEvent
2403 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_enter_event;
2404 ulong signal_connect(string name:"enter-event", CB:signal_enter_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2405 return signal_connect_data!()(&this, cast(char*)"enter-event",
2406 cast(GObject2.Callback)cb, data, null, cf);
2409 // VERSION: 0.6
2410 // The ::event signal is emitted each time an event is received
2411 // by the @actor. This signal will be emitted on every actor,
2412 // following the hierarchy chain, until it reaches the top-level
2413 // container (the #ClutterStage).
2415 // or %FALSE to continue the emission.
2416 // RETURNS: %TRUE if the event has been handled by the actor,
2417 // <event>: a #ClutterEvent
2418 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_event;
2419 ulong signal_connect(string name:"event", CB:signal_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2420 return signal_connect_data!()(&this, cast(char*)"event",
2421 cast(GObject2.Callback)cb, data, null, cf);
2424 // VERSION: 0.2
2425 // The ::hide signal is emitted when an actor is no longer rendered
2426 // on the stage.
2427 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_hide;
2428 ulong signal_connect(string name:"hide", CB:signal_hide)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2429 return signal_connect_data!()(&this, cast(char*)"hide",
2430 cast(GObject2.Callback)cb, data, null, cf);
2433 // VERSION: 0.6
2434 // The ::key-focus-in signal is emitted when @actor receives key focus.
2435 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_key_focus_in;
2436 ulong signal_connect(string name:"key-focus-in", CB:signal_key_focus_in)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2437 return signal_connect_data!()(&this, cast(char*)"key-focus-in",
2438 cast(GObject2.Callback)cb, data, null, cf);
2441 // VERSION: 0.6
2442 // The ::key-focus-out signal is emitted when @actor loses key focus.
2443 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_key_focus_out;
2444 ulong signal_connect(string name:"key-focus-out", CB:signal_key_focus_out)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2445 return signal_connect_data!()(&this, cast(char*)"key-focus-out",
2446 cast(GObject2.Callback)cb, data, null, cf);
2449 // VERSION: 0.6
2450 // The ::key-press-event signal is emitted each time a keyboard button
2451 // is pressed while @actor has key focus (see clutter_stage_set_key_focus()).
2453 // or %FALSE to continue the emission.
2454 // RETURNS: %TRUE if the event has been handled by the actor,
2455 // <event>: a #ClutterKeyEvent
2456 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_key_press_event;
2457 ulong signal_connect(string name:"key-press-event", CB:signal_key_press_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2458 return signal_connect_data!()(&this, cast(char*)"key-press-event",
2459 cast(GObject2.Callback)cb, data, null, cf);
2462 // VERSION: 0.6
2463 // The ::key-release-event signal is emitted each time a keyboard button
2464 // is released while @actor has key focus (see
2465 // clutter_stage_set_key_focus()).
2467 // or %FALSE to continue the emission.
2468 // RETURNS: %TRUE if the event has been handled by the actor,
2469 // <event>: a #ClutterKeyEvent
2470 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_key_release_event;
2471 ulong signal_connect(string name:"key-release-event", CB:signal_key_release_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2472 return signal_connect_data!()(&this, cast(char*)"key-release-event",
2473 cast(GObject2.Callback)cb, data, null, cf);
2476 // VERSION: 0.6
2477 // The ::leave-event signal is emitted when the pointer leaves the @actor.
2479 // or %FALSE to continue the emission.
2480 // RETURNS: %TRUE if the event has been handled by the actor,
2481 // <event>: a #ClutterCrossingEvent
2482 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_leave_event;
2483 ulong signal_connect(string name:"leave-event", CB:signal_leave_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2484 return signal_connect_data!()(&this, cast(char*)"leave-event",
2485 cast(GObject2.Callback)cb, data, null, cf);
2488 // VERSION: 0.6
2489 // The ::motion-event signal is emitted each time the mouse pointer is
2490 // moved over @actor.
2492 // or %FALSE to continue the emission.
2493 // RETURNS: %TRUE if the event has been handled by the actor,
2494 // <event>: a #ClutterMotionEvent
2495 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_motion_event;
2496 ulong signal_connect(string name:"motion-event", CB:signal_motion_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2497 return signal_connect_data!()(&this, cast(char*)"motion-event",
2498 cast(GObject2.Callback)cb, data, null, cf);
2501 // VERSION: 0.8
2502 // The ::paint signal is emitted each time an actor is being painted.
2504 // Subclasses of #ClutterActor should override the class signal handler
2505 // and paint themselves in that function.
2507 // It is possible to connect a handler to the ::paint signal in order
2508 // to set up some custom aspect of a paint.
2509 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_paint;
2510 ulong signal_connect(string name:"paint", CB:signal_paint)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2511 return signal_connect_data!()(&this, cast(char*)"paint",
2512 cast(GObject2.Callback)cb, data, null, cf);
2515 // VERSION: 0.2
2516 // This signal is emitted when the parent of the actor changes.
2517 // <old_parent>: the previous parent of the actor, or %NULL
2518 extern (C) alias static void function (Actor* this_, Actor* old_parent, void* user_data=null) signal_parent_set;
2519 ulong signal_connect(string name:"parent-set", CB:signal_parent_set)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2520 return signal_connect_data!()(&this, cast(char*)"parent-set",
2521 cast(GObject2.Callback)cb, data, null, cf);
2524 // VERSION: 1.0
2525 // The ::pick signal is emitted each time an actor is being painted
2526 // in "pick mode". The pick mode is used to identify the actor during
2527 // the event handling phase, or by clutter_stage_get_actor_at_pos().
2528 // The actor should paint its shape using the passed @pick_color.
2530 // Subclasses of #ClutterActor should override the class signal handler
2531 // and paint themselves in that function.
2533 // It is possible to connect a handler to the ::pick signal in order
2534 // to set up some custom aspect of a paint in pick mode.
2535 // <color>: the #ClutterColor to be used when picking
2536 extern (C) alias static void function (Actor* this_, Color* color, void* user_data=null) signal_pick;
2537 ulong signal_connect(string name:"pick", CB:signal_pick)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2538 return signal_connect_data!()(&this, cast(char*)"pick",
2539 cast(GObject2.Callback)cb, data, null, cf);
2542 // VERSION: 1.0
2543 // The ::queue_redraw signal is emitted when clutter_actor_queue_redraw()
2544 // is called on @origin.
2546 // The default implementation for #ClutterActor chains up to the
2547 // parent actor and queues a redraw on the parent, thus "bubbling"
2548 // the redraw queue up through the actor graph. The default
2549 // implementation for #ClutterStage queues a clutter_redraw() in a
2550 // main loop idle handler.
2552 // Note that the @origin actor may be the stage, or a container; it
2553 // does not have to be a leaf node in the actor graph.
2555 // Toolkits embedding a #ClutterStage which require a redraw and
2556 // relayout cycle can stop the emission of this signal using the
2557 // GSignal API, redraw the UI and then call clutter_redraw()
2558 // themselves, like:
2560 // |[
2561 // static void
2562 // on_redraw_complete (void)
2563 // {
2564 // /&ast; execute the Clutter drawing pipeline &ast;/
2565 // clutter_redraw ();
2566 // }
2568 // static void
2569 // on_stage_queue_redraw (ClutterStage *stage)
2570 // {
2571 // /&ast; this prevents the default handler to run &ast;/
2572 // g_signal_stop_emission_by_name (stage, "queue-redraw");
2574 // /&ast; queue a redraw with the host toolkit and call
2575 // &ast; a function when the redraw has been completed
2576 // &ast;/
2577 // queue_a_redraw (G_CALLBACK (on_redraw_complete));
2578 // }
2579 // ]|
2581 // <note><para>This signal is emitted before the Clutter paint
2582 // pipeline is executed. If you want to know when the pipeline has
2583 // been completed you should connect to the ::paint signal on the
2584 // Stage with g_signal_connect_after().</para></note>
2585 // <origin>: the actor which initiated the redraw request
2586 extern (C) alias static void function (Actor* this_, Actor* origin, void* user_data=null) signal_queue_redraw;
2587 ulong signal_connect(string name:"queue-redraw", CB:signal_queue_redraw)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2588 return signal_connect_data!()(&this, cast(char*)"queue-redraw",
2589 cast(GObject2.Callback)cb, data, null, cf);
2592 // VERSION: 1.2
2593 // The ::queue_layout signal is emitted when clutter_actor_queue_relayout()
2594 // is called on an actor.
2596 // The default implementation for #ClutterActor chains up to the
2597 // parent actor and queues a relayout on the parent, thus "bubbling"
2598 // the relayout queue up through the actor graph.
2600 // The main purpose of this signal is to allow relayout to be propagated
2601 // properly in the procense of #ClutterClone actors. Applications will
2602 // not normally need to connect to this signal.
2603 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_queue_relayout;
2604 ulong signal_connect(string name:"queue-relayout", CB:signal_queue_relayout)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2605 return signal_connect_data!()(&this, cast(char*)"queue-relayout",
2606 cast(GObject2.Callback)cb, data, null, cf);
2609 // VERSION: 0.8
2610 // The ::realize signal is emitted each time an actor is being
2611 // realized.
2612 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_realize;
2613 ulong signal_connect(string name:"realize", CB:signal_realize)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2614 return signal_connect_data!()(&this, cast(char*)"realize",
2615 cast(GObject2.Callback)cb, data, null, cf);
2618 // VERSION: 0.6
2619 // The ::scroll-event signal is emitted each time the mouse is
2620 // scrolled on @actor
2622 // or %FALSE to continue the emission.
2623 // RETURNS: %TRUE if the event has been handled by the actor,
2624 // <event>: a #ClutterScrollEvent
2625 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) signal_scroll_event;
2626 ulong signal_connect(string name:"scroll-event", CB:signal_scroll_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2627 return signal_connect_data!()(&this, cast(char*)"scroll-event",
2628 cast(GObject2.Callback)cb, data, null, cf);
2631 // VERSION: 0.2
2632 // The ::show signal is emitted when an actor is visible and
2633 // rendered on the stage.
2634 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_show;
2635 ulong signal_connect(string name:"show", CB:signal_show)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2636 return signal_connect_data!()(&this, cast(char*)"show",
2637 cast(GObject2.Callback)cb, data, null, cf);
2640 // VERSION: 0.8
2641 // The ::unrealize signal is emitted each time an actor is being
2642 // unrealized.
2643 extern (C) alias static void function (Actor* this_, void* user_data=null) signal_unrealize;
2644 ulong signal_connect(string name:"unrealize", CB:signal_unrealize)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2645 return signal_connect_data!()(&this, cast(char*)"unrealize",
2646 cast(GObject2.Callback)cb, data, null, cf);
2651 // Bounding box of an actor. The coordinates of the top left and right bottom
2652 // corners of an actor. The coordinates of the two points are expressed in
2653 // pixels with sub-pixel precision
2654 struct ActorBox {
2655 float x1, y1, x2, y2;
2658 // VERSION: 1.0
2659 // Allocates a new #ClutterActorBox using the passed coordinates
2660 // for the top left and bottom right points
2662 // clutter_actor_box_free() to free the resources
2663 // RETURNS: the newly allocated #ClutterActorBox. Use
2664 // <x_1>: X coordinate of the top left point
2665 // <y_1>: Y coordinate of the top left point
2666 // <x_2>: X coordinate of the bottom right point
2667 // <y_2>: Y coordinate of the bottom right point
2668 static ActorBox* /*new*/ new_()(float x_1, float y_1, float x_2, float y_2) {
2669 return clutter_actor_box_new(x_1, y_1, x_2, y_2);
2672 // VERSION: 1.2
2673 // Clamps the components of @box to the nearest integer
2674 void clamp_to_pixel()() {
2675 clutter_actor_box_clamp_to_pixel(&this);
2678 // VERSION: 1.0
2679 // Checks whether a point with @x, @y coordinates is contained
2680 // withing @box
2681 // RETURNS: %TRUE if the point is contained by the #ClutterActorBox
2682 // <x>: X coordinate of the point
2683 // <y>: Y coordinate of the point
2684 int contains()(float x, float y) {
2685 return clutter_actor_box_contains(&this, x, y);
2688 // VERSION: 1.0
2689 // Copies @box
2691 // clutter_actor_box_free() to free the allocated resources
2692 // RETURNS: a newly allocated copy of #ClutterActorBox. Use
2693 ActorBox* /*new*/ copy()() {
2694 return clutter_actor_box_copy(&this);
2697 // VERSION: 1.0
2698 // Checks @box_a and @box_b for equality
2699 // RETURNS: %TRUE if the passed #ClutterActorBox are equal
2700 // <box_b>: a #ClutterActorBox
2701 int equal()(ActorBox* box_b) {
2702 return clutter_actor_box_equal(&this, box_b);
2705 // VERSION: 1.0
2706 // Frees a #ClutterActorBox allocated using clutter_actor_box_new()
2707 // or clutter_actor_box_copy()
2708 void free()() {
2709 clutter_actor_box_free(&this);
2712 // VERSION: 1.0
2713 // Calculates the bounding box represented by the four vertices; for details
2714 // of the vertex array see clutter_actor_get_abs_allocation_vertices().
2715 // <verts>: array of four #ClutterVertex
2716 void from_vertices()(Vertex verts) {
2717 clutter_actor_box_from_vertices(&this, verts);
2720 // VERSION: 1.0
2721 // Retrieves the area of @box
2722 // RETURNS: the area of a #ClutterActorBox, in pixels
2723 float get_area()() {
2724 return clutter_actor_box_get_area(&this);
2727 // VERSION: 1.0
2728 // Retrieves the height of the @box
2729 // RETURNS: the height of the box
2730 float get_height()() {
2731 return clutter_actor_box_get_height(&this);
2734 // VERSION: 1.0
2735 // Retrieves the origin of @box
2736 // <x>: return location for the X coordinate, or %NULL
2737 // <y>: return location for the Y coordinate, or %NULL
2738 void get_origin()(/*out*/ float* x=null, /*out*/ float* y=null) {
2739 clutter_actor_box_get_origin(&this, x, y);
2742 // VERSION: 1.0
2743 // Retrieves the size of @box
2744 // <width>: return location for the width, or %NULL
2745 // <height>: return location for the height, or %NULL
2746 void get_size()(/*out*/ float* width=null, /*out*/ float* height=null) {
2747 clutter_actor_box_get_size(&this, width, height);
2750 // VERSION: 1.0
2751 // Retrieves the width of the @box
2752 // RETURNS: the width of the box
2753 float get_width()() {
2754 return clutter_actor_box_get_width(&this);
2757 // VERSION: 1.0
2758 // Retrieves the X coordinate of the origin of @box
2759 // RETURNS: the X coordinate of the origin
2760 float get_x()() {
2761 return clutter_actor_box_get_x(&this);
2764 // VERSION: 1.0
2765 // Retrieves the Y coordinate of the origin of @box
2766 // RETURNS: the Y coordinate of the origin
2767 float get_y()() {
2768 return clutter_actor_box_get_y(&this);
2771 // VERSION: 1.2
2772 // Interpolates between @initial and @final #ClutterActorBox<!-- -->es
2773 // using @progress
2774 // <final>: the final #ClutterActorBox
2775 // <progress>: the interpolation progress
2776 // <result>: return location for the interpolation
2777 void interpolate()(ActorBox* final_, double progress, /*out*/ ActorBox* result) {
2778 clutter_actor_box_interpolate(&this, final_, progress, result);
2781 // VERSION: 1.6
2782 // Changes the origin of @box, maintaining the size of the #ClutterActorBox.
2783 // <x>: the X coordinate of the new origin
2784 // <y>: the Y coordinate of the new origin
2785 void set_origin()(float x, float y) {
2786 clutter_actor_box_set_origin(&this, x, y);
2789 // VERSION: 1.6
2790 // Sets the size of @box, maintaining the origin of the #ClutterActorBox.
2791 // <width>: the new width
2792 // <height>: the new height
2793 void set_size()(float width, float height) {
2794 clutter_actor_box_set_size(&this, width, height);
2797 // VERSION: 1.4
2798 // Unions the two boxes @a and @b and stores the result in @result.
2799 // <b>: the second #ClutterActorBox
2800 // <result>: the #ClutterActorBox representing a union of @a and @b
2801 void union_()(ActorBox* b, /*out*/ ActorBox* result) {
2802 clutter_actor_box_union(&this, b, result);
2806 // Base class for actors.
2807 struct ActorClass {
2808 private GObject2.InitiallyUnownedClass parent_class;
2809 extern (C) void function (Actor* self) show;
2810 extern (C) void function (Actor* self) show_all;
2811 extern (C) void function (Actor* self) hide;
2812 extern (C) void function (Actor* self) hide_all;
2813 extern (C) void function (Actor* self) realize;
2814 extern (C) void function (Actor* self) unrealize;
2815 extern (C) void function (Actor* self) map;
2816 extern (C) void function (Actor* self) unmap;
2817 extern (C) void function (Actor* self) paint;
2818 extern (C) void function (Actor* actor, Actor* old_parent) parent_set;
2819 extern (C) void function (Actor* self) destroy;
2820 extern (C) void function (Actor* actor, Color* color) pick;
2821 extern (C) void function (Actor* actor, Actor* leaf_that_queued) queue_redraw;
2823 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
2824 // <min_width_p>: return location for minimum width, or %NULL
2825 // <natural_width_p>: return location for the natural width, or %NULL
2826 extern (C) void function (Actor* self, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* natural_width_p=null) get_preferred_width;
2828 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
2829 // <min_height_p>: return location for minimum height, or %NULL
2830 // <natural_height_p>: return location for natural height, or %NULL
2831 extern (C) void function (Actor* self, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* natural_height_p=null) get_preferred_height;
2833 // <box>: new allocation of the actor, in parent-relative coordinates
2834 // <flags>: flags that control the allocation
2835 extern (C) void function (Actor* self, ActorBox* box, AllocationFlags flags) allocate;
2836 extern (C) void function (Actor* actor, Cogl.Matrix* matrix) apply_transform;
2837 extern (C) int function (Actor* actor, Event* event) event;
2838 extern (C) int function (Actor* actor, ButtonEvent* event) button_press_event;
2839 extern (C) int function (Actor* actor, ButtonEvent* event) button_release_event;
2840 extern (C) int function (Actor* actor, ScrollEvent* event) scroll_event;
2841 extern (C) int function (Actor* actor, KeyEvent* event) key_press_event;
2842 extern (C) int function (Actor* actor, KeyEvent* event) key_release_event;
2843 extern (C) int function (Actor* actor, MotionEvent* event) motion_event;
2844 extern (C) int function (Actor* actor, CrossingEvent* event) enter_event;
2845 extern (C) int function (Actor* actor, CrossingEvent* event) leave_event;
2846 extern (C) int function (Actor* actor, Event* event) captured_event;
2847 extern (C) void function (Actor* actor) key_focus_in;
2848 extern (C) void function (Actor* actor) key_focus_out;
2849 extern (C) void function (Actor* self) queue_relayout;
2850 // RETURNS: the #AtkObject associated with @actor
2851 extern (C) Atk.Object* function (Actor* self) get_accessible;
2852 extern (C) int function (Actor* actor, PaintVolume* volume) get_paint_volume;
2853 // RETURNS: %TRUE if the actor may have overlapping primitives, and
2854 extern (C) int function (Actor* self) has_overlaps;
2855 private void*[28] _padding_dummy;
2858 // Flags used to signal the state of an actor.
2859 enum ActorFlags {
2860 MAPPED = 2,
2861 REALIZED = 4,
2862 REACTIVE = 8,
2863 VISIBLE = 16,
2864 NO_LAYOUT = 32
2867 // The <structname>ClutterActorMeta</structname> structure contains only
2868 // private data and should be accessed using the provided API
2869 struct ActorMeta /* : GObject.InitiallyUnowned */ /* Version 1.4 */ {
2870 alias parent_instance this;
2871 alias parent_instance super_;
2872 alias parent_instance initiallyunowned;
2873 GObject2.InitiallyUnowned parent_instance;
2874 private ActorMetaPrivate* priv;
2877 // VERSION: 1.4
2878 // Retrieves a pointer to the #ClutterActor that owns @meta
2879 // RETURNS: a pointer to a #ClutterActor or %NULL
2880 Actor* get_actor()() {
2881 return clutter_actor_meta_get_actor(&this);
2884 // VERSION: 1.4
2885 // Retrieves whether @meta is enabled
2886 // RETURNS: %TRUE if the #ClutterActorMeta instance is enabled
2887 int get_enabled()() {
2888 return clutter_actor_meta_get_enabled(&this);
2891 // VERSION: 1.4
2892 // Retrieves the name set using clutter_actor_meta_set_name()
2894 // instance, or %NULL if none was set. The returned string is owned
2895 // by the #ClutterActorMeta instance and it should not be modified
2896 // or freed
2897 // RETURNS: the name of the #ClutterActorMeta
2898 char* get_name()() {
2899 return clutter_actor_meta_get_name(&this);
2902 // VERSION: 1.4
2903 // Sets whether @meta should be enabled or not
2904 // <is_enabled>: whether @meta is enabled
2905 void set_enabled()(int is_enabled) {
2906 clutter_actor_meta_set_enabled(&this, is_enabled);
2909 // VERSION: 1.4
2910 // Sets the name of @meta
2912 // The name can be used to identify the #ClutterActorMeta instance
2913 // <name>: the name of @meta
2914 void set_name()(char* name) {
2915 clutter_actor_meta_set_name(&this, name);
2920 // The <structname>ClutterActorMetaClass</structname> structure contains
2921 // only private data
2922 struct ActorMetaClass /* Version 1.4 */ {
2923 private GObject2.InitiallyUnownedClass parent_class;
2924 extern (C) void function (ActorMeta* meta, Actor* actor) set_actor;
2925 extern (C) void function () _clutter_meta1;
2926 extern (C) void function () _clutter_meta2;
2927 extern (C) void function () _clutter_meta3;
2928 extern (C) void function () _clutter_meta4;
2929 extern (C) void function () _clutter_meta5;
2930 extern (C) void function () _clutter_meta6;
2931 extern (C) void function () _clutter_meta7;
2934 struct ActorMetaPrivate {
2937 struct ActorPrivate {
2940 enum int AddFavorite = 269025081;
2941 enum int Adiaeresis = 196;
2942 enum int Agrave = 192;
2943 enum int Ahook = 16785058;
2945 // Specifies the axis on which #ClutterAlignConstraint should maintain
2946 // the alignment
2947 enum AlignAxis /* Version 1.4 */ {
2948 X_AXIS = 0,
2949 Y_AXIS = 1
2952 // <structname>ClutterAlignConstraint</structname> is an opaque structure
2953 // whose members cannot be directly accesses
2954 struct AlignConstraint /* : Constraint */ /* Version 1.4 */ {
2955 alias method_parent this;
2956 alias method_parent super_;
2957 alias method_parent constraint;
2958 Constraint method_parent;
2961 // VERSION: 1.4
2962 // Creates a new constraint, aligning a #ClutterActor's position with
2963 // regards of the size of the actor to @source, with the given
2964 // alignment @factor
2965 // RETURNS: the newly created #ClutterAlignConstraint
2966 // <source>: the #ClutterActor to use as the source of the alignment, or %NULL
2967 // <axis>: the axis to be used to compute the alignment
2968 // <factor>: the alignment factor, between 0.0 and 1.0
2969 static AlignConstraint* new_()(Actor* source, AlignAxis axis, float factor) {
2970 return clutter_align_constraint_new(source, axis, factor);
2973 // VERSION: 1.4
2974 // Retrieves the value set using clutter_align_constraint_set_align_axis()
2975 // RETURNS: the alignment axis
2976 AlignAxis get_align_axis()() {
2977 return clutter_align_constraint_get_align_axis(&this);
2980 // VERSION: 1.4
2981 // Retrieves the factor set using clutter_align_constraint_set_factor()
2982 // RETURNS: the alignment factor
2983 float get_factor()() {
2984 return clutter_align_constraint_get_factor(&this);
2987 // VERSION: 1.4
2988 // Retrieves the source of the alignment
2990 // of the alignment
2991 // RETURNS: the #ClutterActor used as the source
2992 Actor* get_source()() {
2993 return clutter_align_constraint_get_source(&this);
2996 // VERSION: 1.4
2997 // Sets the axis to which the alignment refers to
2998 // <axis>: the axis to which the alignment refers to
2999 void set_align_axis()(AlignAxis axis) {
3000 clutter_align_constraint_set_align_axis(&this, axis);
3003 // VERSION: 1.4
3004 // Sets the alignment factor of the constraint
3006 // The factor depends on the #ClutterAlignConstraint:align-axis property
3007 // and it is a value between 0.0 (meaning left, when
3008 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
3009 // meaning top, when #ClutterAlignConstraint:align-axis is set to
3010 // %CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when
3011 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
3012 // meaning bottom, when #ClutterAlignConstraint:align-axis is set to
3013 // %CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
3014 // cases
3015 // <factor>: the alignment factor, between 0.0 and 1.0
3016 void set_factor()(float factor) {
3017 clutter_align_constraint_set_factor(&this, factor);
3020 // VERSION: 1.4
3021 // Sets the source of the alignment constraint
3022 // <source>: a #ClutterActor, or %NULL to unset the source
3023 void set_source()(Actor* source=null) {
3024 clutter_align_constraint_set_source(&this, source);
3028 struct AlignConstraintClass {
3032 // Flags passed to the #ClutterActor::allocate() virtual function and
3033 // to the clutter_actor_allocate() function
3034 enum AllocationFlags /* Version 1.0 */ {
3035 ALLOCATION_NONE = 0,
3036 ABSOLUTE_ORIGIN_CHANGED = 2
3039 // #ClutterAlpha combines a #ClutterTimeline and a function.
3040 // The contents of the #ClutterAlpha structure are private and should
3041 // only be accessed using the provided API.
3042 struct Alpha /* : GObject.InitiallyUnowned */ /* Version 0.2 */ {
3043 mixin Scriptable.__interface__;
3044 alias parent this;
3045 alias parent super_;
3046 alias parent initiallyunowned;
3047 GObject2.InitiallyUnowned parent;
3048 private AlphaPrivate* priv;
3051 // VERSION: 0.2
3052 // Creates a new #ClutterAlpha instance. You must set a function
3053 // to compute the alpha value using clutter_alpha_set_func() and
3054 // bind a #ClutterTimeline object to the #ClutterAlpha instance
3055 // using clutter_alpha_set_timeline().
3057 // You should use the newly created #ClutterAlpha instance inside
3058 // a #ClutterBehaviour object.
3059 // RETURNS: the newly created empty #ClutterAlpha instance.
3060 static Alpha* new_()() {
3061 return clutter_alpha_new();
3064 // VERSION: 1.0
3065 // Creates a new #ClutterAlpha instance and sets the timeline
3066 // and animation mode.
3068 // See also clutter_alpha_set_timeline() and clutter_alpha_set_mode().
3069 // RETURNS: the newly created #ClutterAlpha
3070 // <timeline>: #ClutterTimeline timeline
3071 // <mode>: animation mode
3072 static Alpha* new_full()(Timeline* timeline, c_ulong mode) {
3073 return clutter_alpha_new_full(timeline, mode);
3076 // VERSION: 1.0
3077 // Creates a new #ClutterAlpha instances and sets the timeline
3078 // and the alpha function.
3080 // This function will not register @func as a global alpha function.
3082 // See also clutter_alpha_set_timeline() and clutter_alpha_set_func().
3083 // RETURNS: the newly created #ClutterAlpha
3084 // <timeline>: a #ClutterTimeline
3085 // <func>: a #ClutterAlphaFunc
3086 // <data>: data to pass to the function, or %NULL
3087 // <destroy>: function to call when removing the alpha function, or %NULL
3088 static Alpha* new_with_func()(Timeline* timeline, AlphaFunc func, void* data, GLib2.DestroyNotify destroy) {
3089 return clutter_alpha_new_with_func(timeline, func, data, destroy);
3092 // VERSION: 1.0
3093 // #GClosure variant of clutter_alpha_register_func().
3095 // Registers a global alpha function and returns its logical id
3096 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
3098 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
3099 // RETURNS: the logical id of the alpha function
3100 // <closure>: a #GClosure
3101 static c_ulong register_closure()(GObject2.Closure* closure) {
3102 return clutter_alpha_register_closure(closure);
3105 // Unintrospectable function: register_func() / clutter_alpha_register_func()
3106 // VERSION: 1.0
3107 // Registers a global alpha function and returns its logical id
3108 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
3110 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
3111 // RETURNS: the logical id of the alpha function
3112 // <func>: a #ClutterAlphaFunc
3113 // <data>: user data to pass to @func, or %NULL
3114 static c_ulong register_func()(AlphaFunc func, void* data) {
3115 return clutter_alpha_register_func(func, data);
3118 // VERSION: 0.2
3119 // Query the current alpha value.
3120 // RETURNS: The current alpha value for the alpha
3121 double get_alpha()() {
3122 return clutter_alpha_get_alpha(&this);
3125 // VERSION: 1.0
3126 // Retrieves the #ClutterAnimationMode used by @alpha.
3127 // RETURNS: the animation mode
3128 c_ulong get_mode()() {
3129 return clutter_alpha_get_mode(&this);
3132 // VERSION: 0.2
3133 // Gets the #ClutterTimeline bound to @alpha.
3134 // RETURNS: a #ClutterTimeline instance
3135 Timeline* get_timeline()() {
3136 return clutter_alpha_get_timeline(&this);
3139 // VERSION: 0.8
3140 // Sets the #GClosure used to compute the alpha value at each
3141 // frame of the #ClutterTimeline bound to @alpha.
3142 // <closure>: A #GClosure
3143 void set_closure()(GObject2.Closure* closure) {
3144 clutter_alpha_set_closure(&this, closure);
3147 // VERSION: 0.2
3148 // Sets the #ClutterAlphaFunc function used to compute
3149 // the alpha value at each frame of the #ClutterTimeline
3150 // bound to @alpha.
3152 // This function will not register @func as a global alpha function.
3153 // <func>: A #ClutterAlphaFunc
3154 // <data>: user data to be passed to the alpha function, or %NULL
3155 // <destroy>: notify function used when disposing the alpha function
3156 void set_func()(AlphaFunc func, void* data, GLib2.DestroyNotify destroy) {
3157 clutter_alpha_set_func(&this, func, data, destroy);
3160 // VERSION: 1.0
3161 // Sets the progress function of @alpha using the symbolic value
3162 // of @mode, as taken by the #ClutterAnimationMode enumeration or
3163 // using the value returned by clutter_alpha_register_func().
3164 // <mode>: a #ClutterAnimationMode
3165 void set_mode()(c_ulong mode) {
3166 clutter_alpha_set_mode(&this, mode);
3169 // VERSION: 0.2
3170 // Binds @alpha to @timeline.
3171 // <timeline>: A #ClutterTimeline
3172 void set_timeline()(Timeline* timeline) {
3173 clutter_alpha_set_timeline(&this, timeline);
3177 // Base class for #ClutterAlpha
3178 struct AlphaClass /* Version 0.2 */ {
3179 private GObject2.InitiallyUnownedClass parent_class;
3180 extern (C) void function () _clutter_alpha_1;
3181 extern (C) void function () _clutter_alpha_2;
3182 extern (C) void function () _clutter_alpha_3;
3183 extern (C) void function () _clutter_alpha_4;
3184 extern (C) void function () _clutter_alpha_5;
3188 // VERSION: 0.2
3189 // A function returning a value depending on the position of
3190 // the #ClutterTimeline bound to @alpha.
3191 // RETURNS: a floating point value
3192 // <alpha>: a #ClutterAlpha
3193 // <user_data>: user data passed to the function
3194 extern (C) alias double function (Alpha* alpha, void* user_data) AlphaFunc;
3196 struct AlphaPrivate {
3199 enum int Alt_L = 65513;
3200 enum int Alt_R = 65514;
3201 enum int Amacron = 960;
3203 // #ClutterAnimatable is an opaque structure whose members cannot be directly
3204 // accessed
3205 struct Animatable /* Interface */ /* Version 1.0 */ {
3206 mixin template __interface__() {
3207 // VERSION: 1.0
3208 // DEPRECATED (v1.8) method: animate_property - Use clutter_animatable_interpolate_value()
3209 // Calls the animate_property() virtual function for @animatable.
3211 // The @initial_value and @final_value #GValue<!-- -->s must contain
3212 // the same type; @value must have been initialized to the same
3213 // type of @initial_value and @final_value.
3215 // All implementation of the #ClutterAnimatable interface must
3216 // implement this function.
3218 // be applied to the #ClutterAnimatable, and %FALSE otherwise
3221 // instead
3222 // RETURNS: %TRUE if the value has been validated and can
3223 // <animation>: a #ClutterAnimation
3224 // <property_name>: the name of the animated property
3225 // <initial_value>: the initial value of the animation interval
3226 // <final_value>: the final value of the animation interval
3227 // <progress>: the progress factor
3228 // <value>: return location for the animation value
3229 int animate_property()(Animation* animation, char* property_name, GObject2.Value* initial_value, GObject2.Value* final_value, double progress, GObject2.Value* value) {
3230 return clutter_animatable_animate_property(cast(Animatable*)&this, animation, property_name, initial_value, final_value, progress, value);
3233 // VERSION: 1.4
3234 // Finds the #GParamSpec for @property_name
3236 // or %NULL
3237 // RETURNS: The #GParamSpec for the given property
3238 // <property_name>: the name of the animatable property to find
3239 GObject2.ParamSpec* find_property()(char* property_name) {
3240 return clutter_animatable_find_property(cast(Animatable*)&this, property_name);
3243 // VERSION: 1.4
3244 // Retrieves the current state of @property_name and sets @value with it
3245 // <property_name>: the name of the animatable property to retrieve
3246 // <value>: a #GValue initialized to the type of the property to retrieve
3247 void get_initial_state()(char* property_name, GObject2.Value* value) {
3248 clutter_animatable_get_initial_state(cast(Animatable*)&this, property_name, value);
3251 // VERSION: 1.8
3252 // Asks a #ClutterAnimatable implementation to interpolate a
3253 // a named property between the initial and final values of
3254 // a #ClutterInterval, using @progress as the interpolation
3255 // value, and store the result inside @value.
3257 // This function should be used for every property animation
3258 // involving #ClutterAnimatable<!-- -->s.
3260 // This function replaces clutter_animatable_animate_property().
3262 // and %FALSE otherwise
3263 // RETURNS: %TRUE if the interpolation was successful,
3264 // <property_name>: the name of the property to interpolate
3265 // <interval>: a #ClutterInterval with the animation range
3266 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
3267 // <value>: return location for an initialized #GValue using the same type of the @interval
3268 int interpolate_value()(char* property_name, Interval* interval, double progress, /*out*/ GObject2.Value* value) {
3269 return clutter_animatable_interpolate_value(cast(Animatable*)&this, property_name, interval, progress, value);
3272 // VERSION: 1.4
3273 // Sets the current state of @property_name to @value
3274 // <property_name>: the name of the animatable property to set
3275 // <value>: the value of the animatable property to set
3276 void set_final_state()(char* property_name, GObject2.Value* value) {
3277 clutter_animatable_set_final_state(cast(Animatable*)&this, property_name, value);
3280 mixin __interface__;
3284 // Base interface for #GObject<!-- -->s that can be animated by a
3285 // a #ClutterAnimation.
3286 struct AnimatableIface /* Version 1.0 */ {
3287 private GObject2.TypeInterface parent_iface;
3289 // RETURNS: %TRUE if the value has been validated and can
3290 // <animation>: a #ClutterAnimation
3291 // <property_name>: the name of the animated property
3292 // <initial_value>: the initial value of the animation interval
3293 // <final_value>: the final value of the animation interval
3294 // <progress>: the progress factor
3295 // <value>: return location for the animation value
3296 extern (C) int function (Animatable* animatable, Animation* animation, char* property_name, GObject2.Value* initial_value, GObject2.Value* final_value, double progress, GObject2.Value* value) animate_property;
3298 // RETURNS: The #GParamSpec for the given property
3299 // <property_name>: the name of the animatable property to find
3300 extern (C) GObject2.ParamSpec* function (Animatable* animatable, char* property_name) find_property;
3302 // <property_name>: the name of the animatable property to retrieve
3303 // <value>: a #GValue initialized to the type of the property to retrieve
3304 extern (C) void function (Animatable* animatable, char* property_name, GObject2.Value* value) get_initial_state;
3306 // <property_name>: the name of the animatable property to set
3307 // <value>: the value of the animatable property to set
3308 extern (C) void function (Animatable* animatable, char* property_name, GObject2.Value* value) set_final_state;
3310 // RETURNS: %TRUE if the interpolation was successful,
3311 // <property_name>: the name of the property to interpolate
3312 // <interval>: a #ClutterInterval with the animation range
3313 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
3314 // <value>: return location for an initialized #GValue using the same type of the @interval
3315 extern (C) int function (Animatable* animatable, char* property_name, Interval* interval, double progress, /*out*/ GObject2.Value* value) interpolate_value;
3319 // The #ClutterAnimation structure contains only private data and should
3320 // be accessed using the provided functions.
3321 struct Animation /* : GObject.Object */ /* Version 1.0 */ {
3322 mixin Scriptable.__interface__;
3323 alias parent_instance this;
3324 alias parent_instance super_;
3325 alias parent_instance object;
3326 GObject2.Object parent_instance;
3327 private AnimationPrivate* priv;
3330 // VERSION: 1.0
3331 // Creates a new #ClutterAnimation instance. You should set the
3332 // #GObject to be animated using clutter_animation_set_object(),
3333 // set the duration with clutter_animation_set_duration() and the
3334 // easing mode using clutter_animation_set_mode().
3336 // Use clutter_animation_bind() or clutter_animation_bind_interval()
3337 // to define the properties to be animated. The interval and the
3338 // animated properties can be updated at runtime.
3340 // The clutter_actor_animate() and relative family of functions provide
3341 // an easy way to animate a #ClutterActor and automatically manage the
3342 // lifetime of a #ClutterAnimation instance, so you should consider using
3343 // those functions instead of manually creating an animation.
3345 // to release the associated resources
3346 // RETURNS: the newly created #ClutterAnimation. Use g_object_unref()
3347 static Animation* /*new*/ new_()() {
3348 return clutter_animation_new();
3351 // VERSION: 1.0
3352 // Adds a single property with name @property_name to the
3353 // animation @animation. For more information about animations,
3354 // see clutter_actor_animate().
3356 // This method returns the animation primarily to make chained
3357 // calls convenient in language bindings.
3358 // RETURNS: The animation itself.
3359 // <property_name>: the property to control
3360 // <final>: The final value of the property
3361 Animation* bind()(char* property_name, GObject2.Value* final_) {
3362 return clutter_animation_bind(&this, property_name, final_);
3365 // VERSION: 1.0
3366 // Binds @interval to the @property_name of the #GObject
3367 // attached to @animation. The #ClutterAnimation will take
3368 // ownership of the passed #ClutterInterval. For more information
3369 // about animations, see clutter_actor_animate().
3371 // If you need to update the interval instance use
3372 // clutter_animation_update_interval() instead.
3373 // RETURNS: The animation itself.
3374 // <property_name>: the property to control
3375 // <interval>: a #ClutterInterval
3376 Animation* bind_interval()(char* property_name, Interval* interval) {
3377 return clutter_animation_bind_interval(&this, property_name, interval);
3380 // VERSION: 1.0
3381 // Emits the ::completed signal on @animation
3383 // When using this function with a #ClutterAnimation created
3384 // by the clutter_actor_animate() family of functions, @animation
3385 // will be unreferenced and it will not be valid anymore,
3386 // unless g_object_ref() was called before calling this function
3387 // or unless a reference was taken inside a handler for the
3388 // #ClutterAnimation::completed signal
3389 void completed()() {
3390 clutter_animation_completed(&this);
3393 // VERSION: 1.0
3394 // Retrieves the #ClutterAlpha used by @animation.
3395 // RETURNS: the alpha object used by the animation
3396 Alpha* get_alpha()() {
3397 return clutter_animation_get_alpha(&this);
3400 // VERSION: 1.0
3401 // Retrieves the duration of @animation, in milliseconds.
3402 // RETURNS: the duration of the animation
3403 uint get_duration()() {
3404 return clutter_animation_get_duration(&this);
3407 // VERSION: 1.0
3408 // Retrieves the #ClutterInterval associated to @property_name
3409 // inside @animation.
3411 // property with the same name was found. The returned interval is
3412 // owned by the #ClutterAnimation and should not be unreferenced
3413 // RETURNS: a #ClutterInterval or %NULL if no
3414 // <property_name>: name of the property
3415 Interval* get_interval()(char* property_name) {
3416 return clutter_animation_get_interval(&this, property_name);
3419 // VERSION: 1.0
3420 // Retrieves whether @animation is looping.
3421 // RETURNS: %TRUE if the animation is looping
3422 int get_loop()() {
3423 return clutter_animation_get_loop(&this);
3426 // VERSION: 1.0
3427 // Retrieves the animation mode of @animation, as set by
3428 // clutter_animation_set_mode().
3429 // RETURNS: the mode for the animation
3430 c_ulong get_mode()() {
3431 return clutter_animation_get_mode(&this);
3434 // VERSION: 1.0
3435 // Retrieves the #GObject attached to @animation.
3436 // RETURNS: a #GObject
3437 GObject2.Object* get_object()() {
3438 return clutter_animation_get_object(&this);
3441 // VERSION: 1.0
3442 // Retrieves the #ClutterTimeline used by @animation
3443 // RETURNS: the timeline used by the animation
3444 Timeline* get_timeline()() {
3445 return clutter_animation_get_timeline(&this);
3448 // VERSION: 1.0
3449 // Checks whether @animation is controlling @property_name.
3451 // #ClutterAnimation, %FALSE otherwise
3452 // RETURNS: %TRUE if the property is animated by the
3453 // <property_name>: name of the property
3454 int has_property()(char* property_name) {
3455 return clutter_animation_has_property(&this, property_name);
3458 // VERSION: 1.0
3459 // Sets @alpha as the #ClutterAlpha used by @animation.
3461 // If @alpha is not %NULL, the #ClutterAnimation will take ownership
3462 // of the #ClutterAlpha instance.
3463 // <alpha>: a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha
3464 void set_alpha()(Alpha* alpha) {
3465 clutter_animation_set_alpha(&this, alpha);
3468 // VERSION: 1.0
3469 // Sets the duration of @animation in milliseconds.
3471 // This function will set #ClutterAnimation:alpha and
3472 // #ClutterAnimation:timeline if needed.
3473 // <msecs>: the duration in milliseconds
3474 void set_duration()(uint msecs) {
3475 clutter_animation_set_duration(&this, msecs);
3478 // VERSION: 1.0
3479 // Sets whether @animation should loop over itself once finished.
3481 // A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
3482 // signal when finished.
3484 // This function will set #ClutterAnimation:alpha and
3485 // #ClutterAnimation:timeline if needed.
3486 // <loop>: %TRUE if the animation should loop
3487 void set_loop()(int loop) {
3488 clutter_animation_set_loop(&this, loop);
3491 // VERSION: 1.0
3492 // Sets the animation @mode of @animation. The animation @mode is
3493 // a logical id, either coming from the #ClutterAnimationMode enumeration
3494 // or the return value of clutter_alpha_register_func().
3496 // This function will also set #ClutterAnimation:alpha if needed.
3497 // <mode>: an animation mode logical id
3498 void set_mode()(c_ulong mode) {
3499 clutter_animation_set_mode(&this, mode);
3502 // VERSION: 1.0
3503 // Attaches @animation to @object. The #ClutterAnimation will take a
3504 // reference on @object.
3505 // <object>: a #GObject
3506 void set_object()(GObject2.Object* object) {
3507 clutter_animation_set_object(&this, object);
3510 // VERSION: 1.0
3511 // Sets the #ClutterTimeline used by @animation.
3512 // <timeline>: a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline
3513 void set_timeline()(Timeline* timeline) {
3514 clutter_animation_set_timeline(&this, timeline);
3517 // VERSION: 1.0
3518 // Removes @property_name from the list of animated properties.
3519 // <property_name>: name of the property
3520 void unbind_property()(char* property_name) {
3521 clutter_animation_unbind_property(&this, property_name);
3524 // VERSION: 1.0
3525 // Updates the @final value of the interval for @property_name
3526 // RETURNS: The animation itself.
3527 // <property_name>: name of the property
3528 // <final>: The final value of the property
3529 Animation* update()(char* property_name, GObject2.Value* final_) {
3530 return clutter_animation_update(&this, property_name, final_);
3533 // VERSION: 1.0
3534 // Changes the @interval for @property_name. The #ClutterAnimation
3535 // will take ownership of the passed #ClutterInterval.
3536 // <property_name>: name of the property
3537 // <interval>: a #ClutterInterval
3538 void update_interval()(char* property_name, Interval* interval) {
3539 clutter_animation_update_interval(&this, property_name, interval);
3542 // VERSION: 1.0
3543 // The ::completed signal is emitted once the animation has
3544 // been completed.
3546 // The @animation instance is guaranteed to be valid for the entire
3547 // duration of the signal emission chain.
3548 extern (C) alias static void function (Animation* this_, void* user_data=null) signal_completed;
3550 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3551 return super_.signal_connect!name(cb, data, cf);
3554 ulong signal_connect(string name:"completed", CB:signal_completed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3555 return signal_connect_data!()(&this, cast(char*)"completed",
3556 cast(GObject2.Callback)cb, data, null, cf);
3559 // VERSION: 1.0
3560 // The ::started signal is emitted once the animation has been
3561 // started
3562 extern (C) alias static void function (Animation* this_, void* user_data=null) signal_started;
3563 ulong signal_connect(string name:"started", CB:signal_started)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3564 return signal_connect_data!()(&this, cast(char*)"started",
3565 cast(GObject2.Callback)cb, data, null, cf);
3570 // The #ClutterAnimationClass structure contains only private data and
3571 // should be accessed using the provided functions.
3572 struct AnimationClass /* Version 1.0 */ {
3573 private GObject2.ObjectClass parent_class;
3574 extern (C) void function (Animation* animation) started;
3575 extern (C) void function (Animation* animation) completed;
3576 extern (C) void function () _clutter_reserved1;
3577 extern (C) void function () _clutter_reserved2;
3578 extern (C) void function () _clutter_reserved3;
3579 extern (C) void function () _clutter_reserved4;
3580 extern (C) void function () _clutter_reserved5;
3581 extern (C) void function () _clutter_reserved6;
3582 extern (C) void function () _clutter_reserved7;
3583 extern (C) void function () _clutter_reserved8;
3587 // The animation modes used by #ClutterAlpha and #ClutterAnimation. This
3588 // enumeration can be expanded in later versions of Clutter. See the
3589 // #ClutterAlpha documentation for a graph of all the animation modes.
3591 // Every global alpha function registered using clutter_alpha_register_func()
3592 // or clutter_alpha_register_closure() will have a logical id greater than
3593 // %CLUTTER_ANIMATION_LAST.
3594 enum AnimationMode /* Version 1.0 */ {
3595 CUSTOM_MODE = 0,
3596 LINEAR = 1,
3597 EASE_IN_QUAD = 2,
3598 EASE_OUT_QUAD = 3,
3599 EASE_IN_OUT_QUAD = 4,
3600 EASE_IN_CUBIC = 5,
3601 EASE_OUT_CUBIC = 6,
3602 EASE_IN_OUT_CUBIC = 7,
3603 EASE_IN_QUART = 8,
3604 EASE_OUT_QUART = 9,
3605 EASE_IN_OUT_QUART = 10,
3606 EASE_IN_QUINT = 11,
3607 EASE_OUT_QUINT = 12,
3608 EASE_IN_OUT_QUINT = 13,
3609 EASE_IN_SINE = 14,
3610 EASE_OUT_SINE = 15,
3611 EASE_IN_OUT_SINE = 16,
3612 EASE_IN_EXPO = 17,
3613 EASE_OUT_EXPO = 18,
3614 EASE_IN_OUT_EXPO = 19,
3615 EASE_IN_CIRC = 20,
3616 EASE_OUT_CIRC = 21,
3617 EASE_IN_OUT_CIRC = 22,
3618 EASE_IN_ELASTIC = 23,
3619 EASE_OUT_ELASTIC = 24,
3620 EASE_IN_OUT_ELASTIC = 25,
3621 EASE_IN_BACK = 26,
3622 EASE_OUT_BACK = 27,
3623 EASE_IN_OUT_BACK = 28,
3624 EASE_IN_BOUNCE = 29,
3625 EASE_OUT_BOUNCE = 30,
3626 EASE_IN_OUT_BOUNCE = 31,
3627 ANIMATION_LAST = 32
3629 struct AnimationPrivate {
3633 // The #ClutterAnimator structure contains only private data and
3634 // should be accessed using the provided API
3635 struct Animator /* : GObject.Object */ /* Version 1.2 */ {
3636 mixin Scriptable.__interface__;
3637 alias parent_instance this;
3638 alias parent_instance super_;
3639 alias parent_instance object;
3640 GObject2.Object parent_instance;
3641 private AnimatorPrivate* priv;
3644 // VERSION: 1.2
3645 // Creates a new #ClutterAnimator instance
3646 // RETURNS: a new #ClutterAnimator.
3647 static Animator* /*new*/ new_()() {
3648 return clutter_animator_new();
3651 // VERSION: 1.2
3652 // Compute the value for a managed property at a given progress.
3654 // If the property is an ease-in property, the current value of the property
3655 // on the object will be used as the starting point for computation.
3657 // an error occurs or the progress is before any of the keys) %FALSE is
3658 // returned and the #GValue is left untouched
3659 // RETURNS: %TRUE if the computation yields has a value, otherwise (when
3660 // <object>: a #GObject
3661 // <property_name>: the name of the property on object to check
3662 // <progress>: a value between 0.0 and 1.0
3663 // <value>: an initialized value to store the computed result
3664 int compute_value()(GObject2.Object* object, char* property_name, double progress, GObject2.Value* value) {
3665 return clutter_animator_compute_value(&this, object, property_name, progress, value);
3668 // VERSION: 1.2
3669 // Retrieves the current duration of an animator
3670 // RETURNS: the duration of the animation, in milliseconds
3671 uint get_duration()() {
3672 return clutter_animator_get_duration(&this);
3675 // VERSION: 1.2
3676 // Returns a list of pointers to opaque structures with accessor functions
3677 // that describe the keys added to an animator.
3679 // list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned
3680 // by the #ClutterAnimator, but you should free the returned list when done,
3681 // using g_list_free()
3682 // RETURNS: a
3683 // <object>: a #GObject to search for, or %NULL for all objects
3684 // <property_name>: a specific property name to query for, or %NULL for all properties
3685 // <progress>: a specific progress to search for, or a negative value for all progresses
3686 GLib2.List* /*new container*/ get_keys()(GObject2.Object* object, char* property_name, double progress) {
3687 return clutter_animator_get_keys(&this, object, property_name, progress);
3690 // VERSION: 1.2
3691 // Get the timeline hooked up for driving the #ClutterAnimator
3692 // RETURNS: the #ClutterTimeline that drives the animator
3693 Timeline* get_timeline()() {
3694 return clutter_animator_get_timeline(&this);
3697 // VERSION: 1.2
3698 // Checks if a property value is to be eased into the animation.
3699 // RETURNS: %TRUE if the property is eased in
3700 // <object>: a #GObject
3701 // <property_name>: the name of a property on object
3702 int property_get_ease_in()(GObject2.Object* object, char* property_name) {
3703 return clutter_animator_property_get_ease_in(&this, object, property_name);
3706 // VERSION: 1.2
3707 // Get the interpolation used by animator for a property on a particular
3708 // object.
3709 // RETURNS: a ClutterInterpolation value.
3710 // <object>: a #GObject
3711 // <property_name>: the name of a property on object
3712 Interpolation property_get_interpolation()(GObject2.Object* object, char* property_name) {
3713 return clutter_animator_property_get_interpolation(&this, object, property_name);
3716 // VERSION: 1.2
3717 // Sets whether a property value is to be eased into the animation.
3718 // <object>: a #GObject
3719 // <property_name>: the name of a property on object
3720 // <ease_in>: we are going to be easing in this property
3721 void property_set_ease_in()(GObject2.Object* object, char* property_name, int ease_in) {
3722 clutter_animator_property_set_ease_in(&this, object, property_name, ease_in);
3725 // VERSION: 1.2
3726 // Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes
3727 // the values to linearly change between the values, and
3728 // %CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between
3729 // the values.
3730 // <object>: a #GObject
3731 // <property_name>: the name of a property on object
3732 // <interpolation>: the #ClutterInterpolation to use
3733 void property_set_interpolation()(GObject2.Object* object, char* property_name, Interpolation interpolation) {
3734 clutter_animator_property_set_interpolation(&this, object, property_name, interpolation);
3737 // VERSION: 1.2
3738 // Removes all keys matching the conditions specificed in the arguments.
3739 // <object>: a #GObject to search for, or %NULL for all
3740 // <property_name>: a specific property name to query for, or %NULL for all
3741 // <progress>: a specific progress to search for or a negative value for all
3742 void remove_key()(GObject2.Object* object, char* property_name, double progress) {
3743 clutter_animator_remove_key(&this, object, property_name, progress);
3746 // Unintrospectable method: set() / clutter_animator_set()
3747 // VERSION: 1.2
3748 // Adds multiple keys to a #ClutterAnimator, specifying the value a given
3749 // property should have at a given progress of the animation. The mode
3750 // specified is the mode used when going to this key from the previous key of
3751 // the @property_name
3753 // If a given (object, property, progress) tuple already exist the mode and
3754 // value will be replaced with the new values.
3755 // <first_object>: a #GObject
3756 // <first_property_name>: the property to specify a key for
3757 // <first_mode>: the id of the alpha function to use
3758 // <first_progress>: at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1
3759 /+ Not available -- variadic methods unsupported - use the C function directly.
3760 alias clutter_animator_set set; // Variadic
3763 // VERSION: 1.2
3764 // Runs the timeline of the #ClutterAnimator with a duration in msecs
3765 // as specified.
3766 // <duration>: milliseconds a run of the animator should last.
3767 void set_duration()(uint duration) {
3768 clutter_animator_set_duration(&this, duration);
3771 // VERSION: 1.2
3772 // Sets a single key in the #ClutterAnimator for the @property_name of
3773 // @object at @progress.
3775 // See also: clutter_animator_set()
3776 // RETURNS: The animator instance
3777 // <object>: a #GObject
3778 // <property_name>: the property to specify a key for
3779 // <mode>: the id of the alpha function to use
3780 // <progress>: the normalized range at which stage of the animation this value applies
3781 // <value>: the value property_name should have at progress.
3782 Animator* set_key()(GObject2.Object* object, char* property_name, uint mode, double progress, GObject2.Value* value) {
3783 return clutter_animator_set_key(&this, object, property_name, mode, progress, value);
3786 // VERSION: 1.2
3787 // Sets an external timeline that will be used for driving the animation
3788 // <timeline>: a #ClutterTimeline
3789 void set_timeline()(Timeline* timeline) {
3790 clutter_animator_set_timeline(&this, timeline);
3793 // VERSION: 1.2
3794 // Start the ClutterAnimator, this is a thin wrapper that rewinds
3795 // and starts the animators current timeline.
3797 // the animator. The returned timeline is owned by the #ClutterAnimator
3798 // and it should not be unreferenced
3799 // RETURNS: the #ClutterTimeline that drives
3800 Timeline* start()() {
3801 return clutter_animator_start(&this);
3805 // The #ClutterAnimatorClass structure contains only private data
3806 struct AnimatorClass /* Version 1.2 */ {
3807 private GObject2.ObjectClass parent_class;
3808 private void*[16] _padding_dummy;
3811 // A key frame inside a #ClutterAnimator
3812 struct AnimatorKey /* Version 1.2 */ {
3814 // VERSION: 1.2
3815 // Retrieves the mode of a #ClutterAnimator key, for the first key of a
3816 // property for an object this represents the whether the animation is
3817 // open ended and or curved for the remainding keys for the property it
3818 // represents the easing mode.
3819 // RETURNS: the mode of a #ClutterAnimatorKey
3820 c_ulong get_mode()() {
3821 return clutter_animator_key_get_mode(&this);
3824 // VERSION: 1.2
3825 // Retrieves the object a key applies to.
3826 // RETURNS: the object an animator_key exist for.
3827 GObject2.Object* get_object()() {
3828 return clutter_animator_key_get_object(&this);
3831 // VERSION: 1.2
3832 // Retrieves the progress of an clutter_animator_key
3833 // RETURNS: the progress defined for a #ClutterAnimator key.
3834 double get_progress()() {
3835 return clutter_animator_key_get_progress(&this);
3838 // VERSION: 1.2
3839 // Retrieves the name of the property a key applies to.
3840 // RETURNS: the name of the property an animator_key exist for.
3841 char* get_property_name()() {
3842 return clutter_animator_key_get_property_name(&this);
3845 // VERSION: 1.2
3846 // Retrieves the #GType of the property a key applies to
3848 // You can use this type to initialize the #GValue to pass to
3849 // clutter_animator_key_get_value()
3850 // RETURNS: the #GType of the property
3851 Type get_property_type()() {
3852 return clutter_animator_key_get_property_type(&this);
3855 // VERSION: 1.2
3856 // Retrieves a copy of the value for a #ClutterAnimatorKey.
3858 // The passed in #GValue needs to be already initialized for the value
3859 // type of the key or to a type that allow transformation from the value
3860 // type of the key.
3862 // Use g_value_unset() when done.
3864 // %FALSE otherwise
3865 // RETURNS: %TRUE if the passed #GValue was successfully set, and
3866 // <value>: a #GValue initialized with the correct type for the animator key
3867 int get_value()(GObject2.Value* value) {
3868 return clutter_animator_key_get_value(&this, value);
3872 struct AnimatorPrivate {
3875 // Common members for a #ClutterEvent
3876 struct AnyEvent /* Version 0.2 */ {
3877 EventType type;
3878 uint time;
3879 EventFlags flags;
3880 Stage* stage;
3881 Actor* source;
3884 enum int Aogonek = 417;
3885 enum int ApplicationLeft = 269025104;
3886 enum int ApplicationRight = 269025105;
3887 enum int Arabic_0 = 16778848;
3888 enum int Arabic_1 = 16778849;
3889 enum int Arabic_2 = 16778850;
3890 enum int Arabic_3 = 16778851;
3891 enum int Arabic_4 = 16778852;
3892 enum int Arabic_5 = 16778853;
3893 enum int Arabic_6 = 16778854;
3894 enum int Arabic_7 = 16778855;
3895 enum int Arabic_8 = 16778856;
3896 enum int Arabic_9 = 16778857;
3897 enum int Arabic_ain = 1497;
3898 enum int Arabic_alef = 1479;
3899 enum int Arabic_alefmaksura = 1513;
3900 enum int Arabic_beh = 1480;
3901 enum int Arabic_comma = 1452;
3902 enum int Arabic_dad = 1494;
3903 enum int Arabic_dal = 1487;
3904 enum int Arabic_damma = 1519;
3905 enum int Arabic_dammatan = 1516;
3906 enum int Arabic_ddal = 16778888;
3907 enum int Arabic_farsi_yeh = 16778956;
3908 enum int Arabic_fatha = 1518;
3909 enum int Arabic_fathatan = 1515;
3910 enum int Arabic_feh = 1505;
3911 enum int Arabic_fullstop = 16778964;
3912 enum int Arabic_gaf = 16778927;
3913 enum int Arabic_ghain = 1498;
3914 enum int Arabic_ha = 1511;
3915 enum int Arabic_hah = 1485;
3916 enum int Arabic_hamza = 1473;
3917 enum int Arabic_hamza_above = 16778836;
3918 enum int Arabic_hamza_below = 16778837;
3919 enum int Arabic_hamzaonalef = 1475;
3920 enum int Arabic_hamzaonwaw = 1476;
3921 enum int Arabic_hamzaonyeh = 1478;
3922 enum int Arabic_hamzaunderalef = 1477;
3923 enum int Arabic_heh = 1511;
3924 enum int Arabic_heh_doachashmee = 16778942;
3925 enum int Arabic_heh_goal = 16778945;
3926 enum int Arabic_jeem = 1484;
3927 enum int Arabic_jeh = 16778904;
3928 enum int Arabic_kaf = 1507;
3929 enum int Arabic_kasra = 1520;
3930 enum int Arabic_kasratan = 1517;
3931 enum int Arabic_keheh = 16778921;
3932 enum int Arabic_khah = 1486;
3933 enum int Arabic_lam = 1508;
3934 enum int Arabic_madda_above = 16778835;
3935 enum int Arabic_maddaonalef = 1474;
3936 enum int Arabic_meem = 1509;
3937 enum int Arabic_noon = 1510;
3938 enum int Arabic_noon_ghunna = 16778938;
3939 enum int Arabic_peh = 16778878;
3940 enum int Arabic_percent = 16778858;
3941 enum int Arabic_qaf = 1506;
3942 enum int Arabic_question_mark = 1471;
3943 enum int Arabic_ra = 1489;
3944 enum int Arabic_rreh = 16778897;
3945 enum int Arabic_sad = 1493;
3946 enum int Arabic_seen = 1491;
3947 enum int Arabic_semicolon = 1467;
3948 enum int Arabic_shadda = 1521;
3949 enum int Arabic_sheen = 1492;
3950 enum int Arabic_sukun = 1522;
3951 enum int Arabic_superscript_alef = 16778864;
3952 enum int Arabic_switch = 65406;
3953 enum int Arabic_tah = 1495;
3954 enum int Arabic_tatweel = 1504;
3955 enum int Arabic_tcheh = 16778886;
3956 enum int Arabic_teh = 1482;
3957 enum int Arabic_tehmarbuta = 1481;
3958 enum int Arabic_thal = 1488;
3959 enum int Arabic_theh = 1483;
3960 enum int Arabic_tteh = 16778873;
3961 enum int Arabic_veh = 16778916;
3962 enum int Arabic_waw = 1512;
3963 enum int Arabic_yeh = 1514;
3964 enum int Arabic_yeh_baree = 16778962;
3965 enum int Arabic_zah = 1496;
3966 enum int Arabic_zain = 1490;
3967 enum int Aring = 197;
3968 enum int Armenian_AT = 16778552;
3969 enum int Armenian_AYB = 16778545;
3970 enum int Armenian_BEN = 16778546;
3971 enum int Armenian_CHA = 16778569;
3972 enum int Armenian_DA = 16778548;
3973 enum int Armenian_DZA = 16778561;
3974 enum int Armenian_E = 16778551;
3975 enum int Armenian_FE = 16778582;
3976 enum int Armenian_GHAT = 16778562;
3977 enum int Armenian_GIM = 16778547;
3978 enum int Armenian_HI = 16778565;
3979 enum int Armenian_HO = 16778560;
3980 enum int Armenian_INI = 16778555;
3981 enum int Armenian_JE = 16778571;
3982 enum int Armenian_KE = 16778580;
3983 enum int Armenian_KEN = 16778559;
3984 enum int Armenian_KHE = 16778557;
3985 enum int Armenian_LYUN = 16778556;
3986 enum int Armenian_MEN = 16778564;
3987 enum int Armenian_NU = 16778566;
3988 enum int Armenian_O = 16778581;
3989 enum int Armenian_PE = 16778570;
3990 enum int Armenian_PYUR = 16778579;
3991 enum int Armenian_RA = 16778572;
3992 enum int Armenian_RE = 16778576;
3993 enum int Armenian_SE = 16778573;
3994 enum int Armenian_SHA = 16778567;
3995 enum int Armenian_TCHE = 16778563;
3996 enum int Armenian_TO = 16778553;
3997 enum int Armenian_TSA = 16778558;
3998 enum int Armenian_TSO = 16778577;
3999 enum int Armenian_TYUN = 16778575;
4000 enum int Armenian_VEV = 16778574;
4001 enum int Armenian_VO = 16778568;
4002 enum int Armenian_VYUN = 16778578;
4003 enum int Armenian_YECH = 16778549;
4004 enum int Armenian_ZA = 16778550;
4005 enum int Armenian_ZHE = 16778554;
4006 enum int Armenian_accent = 16778587;
4007 enum int Armenian_amanak = 16778588;
4008 enum int Armenian_apostrophe = 16778586;
4009 enum int Armenian_at = 16778600;
4010 enum int Armenian_ayb = 16778593;
4011 enum int Armenian_ben = 16778594;
4012 enum int Armenian_but = 16778589;
4013 enum int Armenian_cha = 16778617;
4014 enum int Armenian_da = 16778596;
4015 enum int Armenian_dza = 16778609;
4016 enum int Armenian_e = 16778599;
4017 enum int Armenian_exclam = 16778588;
4018 enum int Armenian_fe = 16778630;
4019 enum int Armenian_full_stop = 16778633;
4020 enum int Armenian_ghat = 16778610;
4021 enum int Armenian_gim = 16778595;
4022 enum int Armenian_hi = 16778613;
4023 enum int Armenian_ho = 16778608;
4024 enum int Armenian_hyphen = 16778634;
4025 enum int Armenian_ini = 16778603;
4026 enum int Armenian_je = 16778619;
4027 enum int Armenian_ke = 16778628;
4028 enum int Armenian_ken = 16778607;
4029 enum int Armenian_khe = 16778605;
4030 enum int Armenian_ligature_ew = 16778631;
4031 enum int Armenian_lyun = 16778604;
4032 enum int Armenian_men = 16778612;
4033 enum int Armenian_nu = 16778614;
4034 enum int Armenian_o = 16778629;
4035 enum int Armenian_paruyk = 16778590;
4036 enum int Armenian_pe = 16778618;
4037 enum int Armenian_pyur = 16778627;
4038 enum int Armenian_question = 16778590;
4039 enum int Armenian_ra = 16778620;
4040 enum int Armenian_re = 16778624;
4041 enum int Armenian_se = 16778621;
4042 enum int Armenian_separation_mark = 16778589;
4043 enum int Armenian_sha = 16778615;
4044 enum int Armenian_shesht = 16778587;
4045 enum int Armenian_tche = 16778611;
4046 enum int Armenian_to = 16778601;
4047 enum int Armenian_tsa = 16778606;
4048 enum int Armenian_tso = 16778625;
4049 enum int Armenian_tyun = 16778623;
4050 enum int Armenian_verjaket = 16778633;
4051 enum int Armenian_vev = 16778622;
4052 enum int Armenian_vo = 16778616;
4053 enum int Armenian_vyun = 16778626;
4054 enum int Armenian_yech = 16778597;
4055 enum int Armenian_yentamna = 16778634;
4056 enum int Armenian_za = 16778598;
4057 enum int Armenian_zhe = 16778602;
4058 enum int Atilde = 195;
4059 enum int AudibleBell_Enable = 65146;
4060 enum int AudioCycleTrack = 269025179;
4061 enum int AudioForward = 269025175;
4062 enum int AudioLowerVolume = 269025041;
4063 enum int AudioMedia = 269025074;
4064 enum int AudioMute = 269025042;
4065 enum int AudioNext = 269025047;
4066 enum int AudioPause = 269025073;
4067 enum int AudioPlay = 269025044;
4068 enum int AudioPrev = 269025046;
4069 enum int AudioRaiseVolume = 269025043;
4070 enum int AudioRandomPlay = 269025177;
4071 enum int AudioRecord = 269025052;
4072 enum int AudioRepeat = 269025176;
4073 enum int AudioRewind = 269025086;
4074 enum int AudioStop = 269025045;
4075 enum int Away = 269025165;
4076 enum int B = 66;
4077 enum int Babovedot = 16784898;
4078 enum int Back = 269025062;
4079 enum int BackForward = 269025087;
4080 enum int BackSpace = 65288;
4082 // <structname>ClutterBackend</structname> is an opaque structure whose
4083 // members cannot be directly accessed.
4084 struct Backend /* : GObject.Object */ /* Version 0.4 */ {
4085 alias method_parent this;
4086 alias method_parent super_;
4087 alias method_parent object;
4088 GObject2.Object method_parent;
4091 // VERSION: 0.4
4092 // DEPRECATED (v1.4) method: get_double_click_distance - Use #ClutterSettings:double-click-distance instead
4093 // Retrieves the distance used to verify a double click event
4094 // RETURNS: a distance, in pixels.
4095 uint get_double_click_distance()() {
4096 return clutter_backend_get_double_click_distance(&this);
4099 // VERSION: 0.4
4100 // DEPRECATED (v1.4) method: get_double_click_time - Use #ClutterSettings:double-click-time instead
4101 // Gets the maximum time between two button press events, as set
4102 // by clutter_backend_set_double_click_time().
4103 // RETURNS: a time in milliseconds
4104 uint get_double_click_time()() {
4105 return clutter_backend_get_double_click_time(&this);
4108 // VERSION: 1.0
4109 // DEPRECATED (v1.4) method: get_font_name - Use #ClutterSettings:font-name instead
4110 // Retrieves the default font name as set by
4111 // clutter_backend_set_font_name().
4113 // owned by the #ClutterBackend and should never be modified or freed
4114 // RETURNS: the font name for the backend. The returned string is
4115 char* get_font_name()() {
4116 return clutter_backend_get_font_name(&this);
4119 // VERSION: 0.8
4120 // Retrieves the font options for @backend.
4122 // The returned #cairo_font_options_t is owned by the backend and should
4123 // not be modified or freed
4124 // RETURNS: the font options of the #ClutterBackend.
4125 cairo.FontOptions* get_font_options()() {
4126 return clutter_backend_get_font_options(&this);
4129 // VERSION: 0.4
4130 // Gets the resolution for font handling on the screen.
4132 // The resolution is a scale factor between points specified in a
4133 // #PangoFontDescription and cairo units. The default value is 96.0,
4134 // meaning that a 10 point font will be 13 units
4135 // high (10 * 96. / 72. = 13.3).
4137 // Clutter will set the resolution using the current backend when
4138 // initializing; the resolution is also stored in the
4139 // #ClutterSettings:font-dpi property.
4141 // has been set.
4142 // RETURNS: the current resolution, or -1 if no resolution
4143 double get_resolution()() {
4144 return clutter_backend_get_resolution(&this);
4147 // VERSION: 0.4
4148 // DEPRECATED (v1.4) method: set_double_click_distance - Use #ClutterSettings:double-click-distance instead
4149 // Sets the maximum distance used to verify a double click event.
4150 // <distance>: a distance, in pixels
4151 void set_double_click_distance()(uint distance) {
4152 clutter_backend_set_double_click_distance(&this, distance);
4155 // VERSION: 0.4
4156 // DEPRECATED (v1.4) method: set_double_click_time - Use #ClutterSettings:double-click-time instead
4157 // Sets the maximum time between two button press events, used to
4158 // verify whether it's a double click event or not.
4159 // <msec>: milliseconds between two button press events
4160 void set_double_click_time()(uint msec) {
4161 clutter_backend_set_double_click_time(&this, msec);
4164 // VERSION: 1.0
4165 // DEPRECATED (v1.4) method: set_font_name - Use #ClutterSettings:font-name instead
4166 // Sets the default font to be used by Clutter. The @font_name string
4167 // must either be %NULL, which means that the font name from the
4168 // default #ClutterBackend will be used; or be something that can
4169 // be parsed by the pango_font_description_from_string() function.
4170 // <font_name>: the name of the font
4171 void set_font_name()(char* font_name) {
4172 clutter_backend_set_font_name(&this, font_name);
4175 // VERSION: 0.8
4176 // Sets the new font options for @backend. The #ClutterBackend will
4177 // copy the #cairo_font_options_t.
4179 // If @options is %NULL, the first following call to
4180 // clutter_backend_get_font_options() will return the default font
4181 // options for @backend.
4183 // This function is intended for actors creating a Pango layout
4184 // using the PangoCairo API.
4185 // <options>: Cairo font options for the backend, or %NULL
4186 void set_font_options()(cairo.FontOptions* options) {
4187 clutter_backend_set_font_options(&this, options);
4190 // VERSION: 0.4
4191 // DEPRECATED method: set_resolution - Use #ClutterSettings:font-dpi instead
4192 // Sets the resolution for font handling on the screen. This is a
4193 // scale factor between points specified in a #PangoFontDescription
4194 // and cairo units. The default value is 96, meaning that a 10 point
4195 // font will be 13 units high. (10 * 96. / 72. = 13.3).
4197 // Applications should never need to call this function.
4198 // <dpi>: the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional).
4199 void set_resolution()(double dpi) {
4200 clutter_backend_set_resolution(&this, dpi);
4203 // VERSION: 1.0
4204 // The ::font-changed signal is emitted each time the font options
4205 // have been changed through #ClutterSettings.
4206 extern (C) alias static void function (Backend* this_, void* user_data=null) signal_font_changed;
4208 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4209 return super_.signal_connect!name(cb, data, cf);
4212 ulong signal_connect(string name:"font-changed", CB:signal_font_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4213 return signal_connect_data!()(&this, cast(char*)"font-changed",
4214 cast(GObject2.Callback)cb, data, null, cf);
4217 // VERSION: 1.0
4218 // The ::resolution-changed signal is emitted each time the font
4219 // resolutions has been changed through #ClutterSettings.
4220 extern (C) alias static void function (Backend* this_, void* user_data=null) signal_resolution_changed;
4221 ulong signal_connect(string name:"resolution-changed", CB:signal_resolution_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4222 return signal_connect_data!()(&this, cast(char*)"resolution-changed",
4223 cast(GObject2.Callback)cb, data, null, cf);
4226 // VERSION: 1.4
4227 // The ::settings-changed signal is emitted each time the #ClutterSettings
4228 // properties have been changed.
4229 extern (C) alias static void function (Backend* this_, void* user_data=null) signal_settings_changed;
4230 ulong signal_connect(string name:"settings-changed", CB:signal_settings_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4231 return signal_connect_data!()(&this, cast(char*)"settings-changed",
4232 cast(GObject2.Callback)cb, data, null, cf);
4236 struct BackendClass {
4239 enum int Battery = 269025171;
4240 enum int Begin = 65368;
4242 // #ClutterBehaviour-struct contains only private data and should
4243 // be accessed with the functions below.
4244 struct Behaviour /* : GObject.Object */ /* Version 0.2 */ {
4245 mixin Scriptable.__interface__;
4246 alias parent this;
4247 alias parent super_;
4248 alias parent object;
4249 GObject2.Object parent;
4250 private BehaviourPrivate* priv;
4253 // VERSION: 0.2
4254 // Calls @func for every actor driven by @behave.
4255 // <func>: a function called for each actor
4256 // <data>: optional data to be passed to the function, or %NULL
4257 void actors_foreach()(BehaviourForeachFunc func, void* data) {
4258 clutter_behaviour_actors_foreach(&this, func, data);
4261 // VERSION: 0.2
4262 // Applies @behave to @actor. This function adds a reference on
4263 // the actor.
4264 // <actor>: a #ClutterActor
4265 void apply()(Actor* actor) {
4266 clutter_behaviour_apply(&this, actor);
4269 // VERSION: 0.2
4270 // Retrieves all the actors to which @behave applies. It is not recommended
4271 // for derived classes to use this in there alpha notify method but use
4272 // #clutter_behaviour_actors_foreach as it avoids alot of needless allocations.
4274 // actors. You should free the returned list with g_slist_free() when
4275 // finished using it.
4276 // RETURNS: a list of
4277 GLib2.SList* /*new container*/ get_actors()() {
4278 return clutter_behaviour_get_actors(&this);
4281 // VERSION: 0.2
4282 // Retrieves the #ClutterAlpha object bound to @behave.
4284 // object has been bound to this behaviour.
4285 // RETURNS: a #ClutterAlpha object, or %NULL if no alpha
4286 Alpha* get_alpha()() {
4287 return clutter_behaviour_get_alpha(&this);
4290 // VERSION: 0.2
4291 // Gets the number of actors this behaviour is applied too.
4292 // RETURNS: The number of applied actors
4293 int get_n_actors()() {
4294 return clutter_behaviour_get_n_actors(&this);
4297 // VERSION: 0.2
4298 // Gets an actor the behaviour was applied to referenced by index num.
4299 // RETURNS: A Clutter actor or NULL if @index_ is invalid.
4300 // <index_>: the index of an actor this behaviour is applied too.
4301 Actor* get_nth_actor()(int index_) {
4302 return clutter_behaviour_get_nth_actor(&this, index_);
4305 // VERSION: 0.4
4306 // Check if @behave applied to @actor.
4307 // RETURNS: TRUE if actor has behaviour. FALSE otherwise.
4308 // <actor>: a #ClutterActor
4309 int is_applied()(Actor* actor) {
4310 return clutter_behaviour_is_applied(&this, actor);
4313 // VERSION: 0.2
4314 // Removes @actor from the list of #ClutterActor<!-- -->s to which
4315 // @behave applies. This function removes a reference on the actor.
4316 // <actor>: a #ClutterActor
4317 void remove()(Actor* actor) {
4318 clutter_behaviour_remove(&this, actor);
4321 // VERSION: 0.4
4322 // Removes every actor from the list that @behave holds.
4323 void remove_all()() {
4324 clutter_behaviour_remove_all(&this);
4327 // VERSION: 0.2
4328 // Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object
4329 // is what makes a behaviour work: for each tick of the timeline
4330 // used by #ClutterAlpha a new value of the alpha parameter is
4331 // computed by the alpha function; the value should be used by
4332 // the #ClutterBehaviour to update one or more properties of the
4333 // actors to which the behaviour applies.
4335 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4336 // of the #ClutterAlpha instance.
4337 // <alpha>: a #ClutterAlpha or %NULL to unset a previously set alpha
4338 void set_alpha()(Alpha* alpha) {
4339 clutter_behaviour_set_alpha(&this, alpha);
4342 // VERSION: 0.4
4343 // The ::apply signal is emitted each time the behaviour is applied
4344 // to an actor.
4345 // <actor>: the actor the behaviour was applied to.
4346 extern (C) alias static void function (Behaviour* this_, Actor* actor, void* user_data=null) signal_applied;
4348 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4349 return super_.signal_connect!name(cb, data, cf);
4352 ulong signal_connect(string name:"applied", CB:signal_applied)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4353 return signal_connect_data!()(&this, cast(char*)"applied",
4354 cast(GObject2.Callback)cb, data, null, cf);
4357 // VERSION: 0.4
4358 // The ::removed signal is emitted each time a behaviour is not applied
4359 // to an actor anymore.
4360 // <actor>: the removed actor
4361 extern (C) alias static void function (Behaviour* this_, Actor* actor, void* user_data=null) signal_removed;
4362 ulong signal_connect(string name:"removed", CB:signal_removed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4363 return signal_connect_data!()(&this, cast(char*)"removed",
4364 cast(GObject2.Callback)cb, data, null, cf);
4368 // Base class for behaviours.
4369 struct BehaviourClass /* Version 0.2 */ {
4370 private GObject2.ObjectClass parent_class;
4371 extern (C) void function (Behaviour* behave, double alpha_value) alpha_notify;
4372 extern (C) void function (Behaviour* behave, Actor* actor) applied;
4373 extern (C) void function (Behaviour* behave, Actor* actor) removed;
4374 extern (C) void function () _clutter_behaviour1;
4375 extern (C) void function () _clutter_behaviour2;
4376 extern (C) void function () _clutter_behaviour3;
4377 extern (C) void function () _clutter_behaviour4;
4378 extern (C) void function () _clutter_behaviour5;
4379 extern (C) void function () _clutter_behaviour6;
4383 // The #ClutterBehaviourDepth structure contains only private data
4384 // and should be accessed using the provided API
4387 // instead.
4388 struct BehaviourDepth /* : Behaviour */ /* Version 0.2 */ {
4389 mixin Scriptable.__interface__;
4390 alias parent_instance this;
4391 alias parent_instance super_;
4392 alias parent_instance behaviour;
4393 Behaviour parent_instance;
4394 private BehaviourDepthPrivate* priv;
4397 // VERSION: 0.4
4398 // DEPRECATED constructor: new - 1.6
4399 // Creates a new #ClutterBehaviourDepth which can be used to control
4400 // the ClutterActor:depth property of a set of #ClutterActor<!-- -->s.
4402 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4403 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4404 // it can be set later with clutter_behaviour_set_alpha().
4405 // RETURNS: the newly created behaviour
4406 // <alpha>: a #ClutterAlpha instance, or %NULL
4407 // <depth_start>: initial value of the depth
4408 // <depth_end>: final value of the depth
4409 static BehaviourDepth* /*new*/ new_()(Alpha* alpha, int depth_start, int depth_end) {
4410 return clutter_behaviour_depth_new(alpha, depth_start, depth_end);
4413 // VERSION: 0.6
4414 // DEPRECATED method: get_bounds - 1.6
4415 // Gets the boundaries of the @behaviour
4416 // <depth_start>: return location for the initial depth value, or %NULL
4417 // <depth_end>: return location for the final depth value, or %NULL
4418 void get_bounds()(/*out*/ int* depth_start, /*out*/ int* depth_end) {
4419 clutter_behaviour_depth_get_bounds(&this, depth_start, depth_end);
4422 // VERSION: 0.6
4423 // DEPRECATED method: set_bounds - 1.6
4424 // Sets the boundaries of the @behaviour.
4425 // <depth_start>: initial value of the depth
4426 // <depth_end>: final value of the depth
4427 void set_bounds()(int depth_start, int depth_end) {
4428 clutter_behaviour_depth_set_bounds(&this, depth_start, depth_end);
4432 // The #ClutterBehaviourDepthClass structure contains only private data
4433 struct BehaviourDepthClass /* Version 0.2 */ {
4434 private BehaviourClass parent_class;
4437 struct BehaviourDepthPrivate {
4441 // The #ClutterBehaviourEllipse struct contains only private data
4442 // and should be accessed using the provided API
4443 struct BehaviourEllipse /* : Behaviour */ /* Version 0.4 */ {
4444 mixin Scriptable.__interface__;
4445 alias parent_instance this;
4446 alias parent_instance super_;
4447 alias parent_instance behaviour;
4448 Behaviour parent_instance;
4449 private BehaviourEllipsePrivate* priv;
4452 // VERSION: 0.4
4453 // Creates a behaviour that drives actors along an elliptical path with
4454 // given center, width and height; the movement starts at @start
4455 // degrees (with 0 corresponding to 12 o'clock) and ends at @end
4456 // degrees. Angles greated than 360 degrees get clamped to the canonical
4457 // interval <0, 360); if @start is equal to @end, the behaviour will
4458 // rotate by exacly 360 degrees.
4460 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4461 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4462 // it can be set later with clutter_behaviour_set_alpha().
4463 // RETURNS: the newly created #ClutterBehaviourEllipse
4464 // <alpha>: a #ClutterAlpha instance, or %NULL
4465 // <x>: x coordinace of the center
4466 // <y>: y coordiance of the center
4467 // <width>: width of the ellipse
4468 // <height>: height of the ellipse
4469 // <direction>: #ClutterRotateDirection of rotation
4470 // <start>: angle in degrees at which movement starts, between 0 and 360
4471 // <end>: angle in degrees at which movement ends, between 0 and 360
4472 static BehaviourEllipse* /*new*/ new_()(Alpha* alpha, int x, int y, int width, int height, RotateDirection direction, double start, double end) {
4473 return clutter_behaviour_ellipse_new(alpha, x, y, width, height, direction, start, end);
4476 // VERSION: 0.4
4477 // Gets the at which movements ends.
4478 // RETURNS: angle in degrees
4479 double get_angle_end()() {
4480 return clutter_behaviour_ellipse_get_angle_end(&this);
4483 // VERSION: 0.6
4484 // Gets the angle at which movements starts.
4485 // RETURNS: angle in degrees
4486 double get_angle_start()() {
4487 return clutter_behaviour_ellipse_get_angle_start(&this);
4490 // VERSION: 0.4
4491 // Gets the tilt of the ellipse around the center in the given axis.
4492 // RETURNS: angle in degrees.
4493 // <axis>: a #ClutterRotateAxis
4494 double get_angle_tilt()(RotateAxis axis) {
4495 return clutter_behaviour_ellipse_get_angle_tilt(&this, axis);
4498 // VERSION: 0.4
4499 // Gets the center of the elliptical path path.
4500 // <x>: return location for the X coordinate of the center, or %NULL
4501 // <y>: return location for the Y coordinate of the center, or %NULL
4502 void get_center()(/*out*/ int* x, /*out*/ int* y) {
4503 clutter_behaviour_ellipse_get_center(&this, x, y);
4506 // VERSION: 0.4
4507 // Retrieves the #ClutterRotateDirection used by the ellipse behaviour.
4508 // RETURNS: the rotation direction
4509 RotateDirection get_direction()() {
4510 return clutter_behaviour_ellipse_get_direction(&this);
4513 // VERSION: 0.4
4514 // Gets the height of the elliptical path.
4515 // RETURNS: the height of the path
4516 int get_height()() {
4517 return clutter_behaviour_ellipse_get_height(&this);
4520 // VERSION: 0.4
4521 // Gets the tilt of the ellipse around the center in Y axis.
4522 // <angle_tilt_x>: return location for tilt angle on the X axis, or %NULL.
4523 // <angle_tilt_y>: return location for tilt angle on the Y axis, or %NULL.
4524 // <angle_tilt_z>: return location for tilt angle on the Z axis, or %NULL.
4525 void get_tilt()(/*out*/ double* angle_tilt_x, /*out*/ double* angle_tilt_y, /*out*/ double* angle_tilt_z) {
4526 clutter_behaviour_ellipse_get_tilt(&this, angle_tilt_x, angle_tilt_y, angle_tilt_z);
4529 // VERSION: 0.4
4530 // Gets the width of the elliptical path.
4531 // RETURNS: the width of the path
4532 int get_width()() {
4533 return clutter_behaviour_ellipse_get_width(&this);
4536 // VERSION: 0.4
4537 // Sets the angle at which movement ends; angles >= 360 degress get clamped
4538 // to the canonical interval <0, 360).
4539 // <angle_end>: angle at which movement ends in degrees, between 0 and 360.
4540 void set_angle_end()(double angle_end) {
4541 clutter_behaviour_ellipse_set_angle_end(&this, angle_end);
4544 // VERSION: 0.6
4545 // Sets the angle at which movement starts; angles >= 360 degress get clamped
4546 // to the canonical interval <0, 360).
4547 // <angle_start>: angle at which movement starts in degrees, between 0 and 360.
4548 void set_angle_start()(double angle_start) {
4549 clutter_behaviour_ellipse_set_angle_start(&this, angle_start);
4552 // VERSION: 0.4
4553 // Sets the angle at which the ellipse should be tilted around it's center.
4554 // <axis>: a #ClutterRotateAxis
4555 // <angle_tilt>: tilt of the elipse around the center in the given axis in degrees.
4556 void set_angle_tilt()(RotateAxis axis, double angle_tilt) {
4557 clutter_behaviour_ellipse_set_angle_tilt(&this, axis, angle_tilt);
4560 // VERSION: 0.4
4561 // Sets the center of the elliptical path to the point represented by knot.
4562 // <x>: x coordinace of centre
4563 // <y>: y coordinace of centre
4564 void set_center()(int x, int y) {
4565 clutter_behaviour_ellipse_set_center(&this, x, y);
4568 // VERSION: 0.4
4569 // Sets the rotation direction used by the ellipse behaviour.
4570 // <direction>: the rotation direction
4571 void set_direction()(RotateDirection direction) {
4572 clutter_behaviour_ellipse_set_direction(&this, direction);
4575 // VERSION: 0.4
4576 // Sets the height of the elliptical path.
4577 // <height>: height of the ellipse
4578 void set_height()(int height) {
4579 clutter_behaviour_ellipse_set_height(&this, height);
4582 // VERSION: 0.4
4583 // Sets the angles at which the ellipse should be tilted around it's center.
4584 // <angle_tilt_x>: tilt of the elipse around the center in X axis in degrees.
4585 // <angle_tilt_y>: tilt of the elipse around the center in Y axis in degrees.
4586 // <angle_tilt_z>: tilt of the elipse around the center in Z axis in degrees.
4587 void set_tilt()(double angle_tilt_x, double angle_tilt_y, double angle_tilt_z) {
4588 clutter_behaviour_ellipse_set_tilt(&this, angle_tilt_x, angle_tilt_y, angle_tilt_z);
4591 // VERSION: 0.4
4592 // Sets the width of the elliptical path.
4593 // <width>: width of the ellipse
4594 void set_width()(int width) {
4595 clutter_behaviour_ellipse_set_width(&this, width);
4599 // The #ClutterBehaviourEllipseClass struct contains only private data
4600 struct BehaviourEllipseClass /* Version 0.4 */ {
4601 private BehaviourClass parent_class;
4604 struct BehaviourEllipsePrivate {
4608 // VERSION: 0.2
4609 // DEPRECATED callback: BehaviourForeachFunc - 1.6
4610 // This function is passed to clutter_behaviour_actors_foreach() and
4611 // will be called for each actor driven by @behaviour.
4612 // <behaviour>: the #ClutterBehaviour
4613 // <actor>: an actor driven by @behaviour
4614 // <data>: optional data passed to the function
4615 extern (C) alias void function (Behaviour* behaviour, Actor* actor, void* data) BehaviourForeachFunc;
4618 // The #ClutterBehaviourOpacity structure contains only private data and
4619 // should be accessed using the provided API
4622 // instead.
4623 struct BehaviourOpacity /* : Behaviour */ /* Version 0.2 */ {
4624 mixin Scriptable.__interface__;
4625 alias parent this;
4626 alias parent super_;
4627 alias parent behaviour;
4628 Behaviour parent;
4629 private BehaviourOpacityPrivate* priv;
4632 // VERSION: 0.2
4633 // DEPRECATED constructor: new - 1.6
4634 // Creates a new #ClutterBehaviourOpacity object, driven by @alpha
4635 // which controls the opacity property of every actor, making it
4636 // change in the interval between @opacity_start and @opacity_end.
4638 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4639 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4640 // it can be set later with clutter_behaviour_set_alpha().
4641 // RETURNS: the newly created #ClutterBehaviourOpacity
4642 // <alpha>: a #ClutterAlpha instance, or %NULL
4643 // <opacity_start>: minimum level of opacity
4644 // <opacity_end>: maximum level of opacity
4645 static BehaviourOpacity* /*new*/ new_()(Alpha* alpha, ubyte opacity_start, ubyte opacity_end) {
4646 return clutter_behaviour_opacity_new(alpha, opacity_start, opacity_end);
4649 // VERSION: 0.6
4650 // DEPRECATED method: get_bounds - 1.6
4651 // Gets the initial and final levels of the opacity applied by @behaviour
4652 // on each actor it controls.
4653 // <opacity_start>: return location for the minimum level of opacity, or %NULL
4654 // <opacity_end>: return location for the maximum level of opacity, or %NULL
4655 void get_bounds()(/*out*/ ubyte* opacity_start, /*out*/ ubyte* opacity_end) {
4656 clutter_behaviour_opacity_get_bounds(&this, opacity_start, opacity_end);
4659 // VERSION: 0.6
4660 // DEPRECATED method: set_bounds - 1.6
4661 // Sets the initial and final levels of the opacity applied by @behaviour
4662 // on each actor it controls.
4663 // <opacity_start>: minimum level of opacity
4664 // <opacity_end>: maximum level of opacity
4665 void set_bounds()(ubyte opacity_start, ubyte opacity_end) {
4666 clutter_behaviour_opacity_set_bounds(&this, opacity_start, opacity_end);
4670 // The #ClutterBehaviourOpacityClass structure contains only private data
4671 struct BehaviourOpacityClass /* Version 0.2 */ {
4672 private BehaviourClass parent_class;
4675 struct BehaviourOpacityPrivate {
4679 // The #ClutterBehaviourPath structure contains only private data
4680 // and should be accessed using the provided API
4683 // instead.
4684 struct BehaviourPath /* : Behaviour */ /* Version 0.2 */ {
4685 mixin Scriptable.__interface__;
4686 alias parent this;
4687 alias parent super_;
4688 alias parent behaviour;
4689 Behaviour parent;
4690 private BehaviourPathPrivate* priv;
4693 // VERSION: 0.2
4694 // DEPRECATED constructor: new - 1.6
4695 // Creates a new path behaviour. You can use this behaviour to drive
4696 // actors along the nodes of a path, described by @path.
4698 // This will claim the floating reference on the #ClutterPath so you
4699 // do not need to unref if it.
4701 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4702 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4703 // it can be set later with clutter_behaviour_set_alpha().
4704 // RETURNS: a #ClutterBehaviour
4705 // <alpha>: a #ClutterAlpha instance, or %NULL
4706 // <path>: a #ClutterPath or %NULL for an empty path
4707 static BehaviourPath* /*new*/ new_()(Alpha* alpha, Path* path) {
4708 return clutter_behaviour_path_new(alpha, path);
4711 // VERSION: 1.0
4712 // DEPRECATED constructor: new_with_description - 1.6
4713 // Creates a new path behaviour using the path described by @desc. See
4714 // clutter_path_add_string() for a description of the format.
4716 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4717 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4718 // it can be set later with clutter_behaviour_set_alpha().
4719 // RETURNS: a #ClutterBehaviour
4720 // <alpha>: a #ClutterAlpha instance, or %NULL
4721 // <desc>: a string description of the path
4722 static BehaviourPath* /*new*/ new_with_description()(Alpha* alpha, char* desc) {
4723 return clutter_behaviour_path_new_with_description(alpha, desc);
4726 // VERSION: 1.0
4727 // DEPRECATED constructor: new_with_knots - 1.6
4728 // Creates a new path behaviour that will make the actors visit all of
4729 // the given knots in order with straight lines in between.
4731 // A path will be created where the first knot is used in a
4732 // %CLUTTER_PATH_MOVE_TO and the subsequent knots are used in
4733 // %CLUTTER_PATH_LINE_TO<!-- -->s.
4735 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4736 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4737 // it can be set later with clutter_behaviour_set_alpha().
4738 // RETURNS: a #ClutterBehaviour
4739 // <alpha>: a #ClutterAlpha instance, or %NULL
4740 // <knots>: an array of #ClutterKnot<!-- -->s
4741 // <n_knots>: number of entries in @knots
4742 static BehaviourPath* /*new*/ new_with_knots()(Alpha* alpha, Knot* knots, uint n_knots) {
4743 return clutter_behaviour_path_new_with_knots(alpha, knots, n_knots);
4746 // VERSION: 1.0
4747 // DEPRECATED method: get_path - 1.6
4748 // Get the current path of the behaviour
4749 // RETURNS: the path
4750 Path* get_path()() {
4751 return clutter_behaviour_path_get_path(&this);
4754 // VERSION: 1.0
4755 // DEPRECATED method: set_path - 1.6
4756 // Change the path that the actors will follow. This will take the
4757 // floating reference on the #ClutterPath so you do not need to unref
4758 // it.
4759 // <path>: the new path to follow
4760 void set_path()(Path* path) {
4761 clutter_behaviour_path_set_path(&this, path);
4764 // VERSION: 0.2
4765 // DEPRECATED glib:signal: knot-reached - 1.6
4766 // This signal is emitted each time a node defined inside the path
4767 // is reached.
4768 // <knot_num>: the index of the #ClutterKnot reached
4769 extern (C) alias static void function (BehaviourPath* this_, c_uint knot_num, void* user_data=null) signal_knot_reached;
4771 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4772 return super_.signal_connect!name(cb, data, cf);
4775 ulong signal_connect(string name:"knot-reached", CB:signal_knot_reached)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4776 return signal_connect_data!()(&this, cast(char*)"knot-reached",
4777 cast(GObject2.Callback)cb, data, null, cf);
4781 // The #ClutterBehaviourPathClass struct contains only private data
4782 struct BehaviourPathClass /* Version 0.2 */ {
4783 private BehaviourClass parent_class;
4784 extern (C) void function (BehaviourPath* pathb, uint knot_num) knot_reached;
4785 extern (C) void function () _clutter_path_1;
4786 extern (C) void function () _clutter_path_2;
4787 extern (C) void function () _clutter_path_3;
4788 extern (C) void function () _clutter_path_4;
4791 struct BehaviourPathPrivate {
4794 struct BehaviourPrivate {
4798 // The #ClutterBehaviourRotate struct contains only private data and
4799 // should be accessed using the provided API
4800 struct BehaviourRotate /* : Behaviour */ /* Version 0.4 */ {
4801 mixin Scriptable.__interface__;
4802 alias parent_instance this;
4803 alias parent_instance super_;
4804 alias parent_instance behaviour;
4805 Behaviour parent_instance;
4806 private BehaviourRotatePrivate* priv;
4809 // VERSION: 0.4
4810 // Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors
4811 // bound to it on @axis, following @direction, between @angle_start and
4812 // @angle_end. Angles >= 360 degrees will be clamped to the canonical interval
4813 // <0, 360), if angle_start == angle_end, the behaviour will carry out a
4814 // single rotation of 360 degrees.
4816 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4817 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4818 // it can be set later with clutter_behaviour_set_alpha().
4819 // RETURNS: the newly created #ClutterBehaviourRotate.
4820 // <alpha>: a #ClutterAlpha instance, or %NULL
4821 // <axis>: the rotation axis
4822 // <direction>: the rotation direction
4823 // <angle_start>: the starting angle in degrees, between 0 and 360.
4824 // <angle_end>: the final angle in degrees, between 0 and 360.
4825 static BehaviourRotate* /*new*/ new_()(Alpha* alpha, RotateAxis axis, RotateDirection direction, double angle_start, double angle_end) {
4826 return clutter_behaviour_rotate_new(alpha, axis, direction, angle_start, angle_end);
4829 // VERSION: 0.4
4830 // Retrieves the #ClutterRotateAxis used by the rotate behaviour.
4831 // RETURNS: the rotation axis
4832 RotateAxis get_axis()() {
4833 return clutter_behaviour_rotate_get_axis(&this);
4836 // VERSION: 0.4
4837 // Retrieves the rotation boundaries of the rotate behaviour.
4838 // <angle_start>: return value for the initial angle
4839 // <angle_end>: return value for the final angle
4840 void get_bounds()(/*out*/ double* angle_start, /*out*/ double* angle_end) {
4841 clutter_behaviour_rotate_get_bounds(&this, angle_start, angle_end);
4844 // VERSION: 0.4
4845 // Retrieves the center of rotation set using
4846 // clutter_behaviour_rotate_set_center().
4847 // <x>: return location for the X center of rotation
4848 // <y>: return location for the Y center of rotation
4849 // <z>: return location for the Z center of rotation
4850 void get_center()(/*out*/ int* x, /*out*/ int* y, /*out*/ int* z) {
4851 clutter_behaviour_rotate_get_center(&this, x, y, z);
4854 // VERSION: 0.4
4855 // Retrieves the #ClutterRotateDirection used by the rotate behaviour.
4856 // RETURNS: the rotation direction
4857 RotateDirection get_direction()() {
4858 return clutter_behaviour_rotate_get_direction(&this);
4861 // VERSION: 0.4
4862 // Sets the axis used by the rotate behaviour.
4863 // <axis>: a #ClutterRotateAxis
4864 void set_axis()(RotateAxis axis) {
4865 clutter_behaviour_rotate_set_axis(&this, axis);
4868 // VERSION: 0.4
4869 // Sets the initial and final angles of a rotation behaviour; angles >= 360
4870 // degrees get clamped to the canonical interval <0, 360).
4871 // <angle_start>: initial angle in degrees, between 0 and 360.
4872 // <angle_end>: final angle in degrees, between 0 and 360.
4873 void set_bounds()(double angle_start, double angle_end) {
4874 clutter_behaviour_rotate_set_bounds(&this, angle_start, angle_end);
4877 // VERSION: 0.4
4878 // Sets the center of rotation. The coordinates are relative to the plane
4879 // normal to the rotation axis set with clutter_behaviour_rotate_set_axis().
4880 // <x>: X axis center of rotation
4881 // <y>: Y axis center of rotation
4882 // <z>: Z axis center of rotation
4883 void set_center()(int x, int y, int z) {
4884 clutter_behaviour_rotate_set_center(&this, x, y, z);
4887 // VERSION: 0.4
4888 // Sets the rotation direction used by the rotate behaviour.
4889 // <direction>: the rotation direction
4890 void set_direction()(RotateDirection direction) {
4891 clutter_behaviour_rotate_set_direction(&this, direction);
4895 // The #ClutterBehaviourRotateClass struct contains only private data
4896 struct BehaviourRotateClass /* Version 0.4 */ {
4897 private BehaviourClass parent_class;
4900 struct BehaviourRotatePrivate {
4904 // The #ClutterBehaviourScale struct contains only private data and
4905 // should be accessed using the provided API
4908 // and #ClutterActor:scale-y instead.
4909 struct BehaviourScale /* : Behaviour */ /* Version 0.2 */ {
4910 mixin Scriptable.__interface__;
4911 alias parent_instance this;
4912 alias parent_instance super_;
4913 alias parent_instance behaviour;
4914 Behaviour parent_instance;
4915 private BehaviourScalePrivate* priv;
4918 // VERSION: 0.2
4919 // DEPRECATED constructor: new - 1.6
4920 // Creates a new #ClutterBehaviourScale instance.
4922 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4923 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4924 // it can be set later with clutter_behaviour_set_alpha().
4925 // RETURNS: the newly created #ClutterBehaviourScale
4926 // <alpha>: a #ClutterAlpha instance, or %NULL
4927 // <x_scale_start>: initial scale factor on the X axis
4928 // <y_scale_start>: initial scale factor on the Y axis
4929 // <x_scale_end>: final scale factor on the X axis
4930 // <y_scale_end>: final scale factor on the Y axis
4931 static BehaviourScale* /*new*/ new_()(Alpha* alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end) {
4932 return clutter_behaviour_scale_new(alpha, x_scale_start, y_scale_start, x_scale_end, y_scale_end);
4935 // VERSION: 0.4
4936 // DEPRECATED method: get_bounds - 1.6
4937 // Retrieves the bounds used by scale behaviour.
4938 // <x_scale_start>: return location for the initial scale factor on the X axis, or %NULL
4939 // <y_scale_start>: return location for the initial scale factor on the Y axis, or %NULL
4940 // <x_scale_end>: return location for the final scale factor on the X axis, or %NULL
4941 // <y_scale_end>: return location for the final scale factor on the Y axis, or %NULL
4942 void get_bounds()(/*out*/ double* x_scale_start, /*out*/ double* y_scale_start, /*out*/ double* x_scale_end, /*out*/ double* y_scale_end) {
4943 clutter_behaviour_scale_get_bounds(&this, x_scale_start, y_scale_start, x_scale_end, y_scale_end);
4946 // VERSION: 0.6
4947 // DEPRECATED method: set_bounds - 1.6
4948 // Sets the bounds used by scale behaviour.
4949 // <x_scale_start>: initial scale factor on the X axis
4950 // <y_scale_start>: initial scale factor on the Y axis
4951 // <x_scale_end>: final scale factor on the X axis
4952 // <y_scale_end>: final scale factor on the Y axis
4953 void set_bounds()(double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end) {
4954 clutter_behaviour_scale_set_bounds(&this, x_scale_start, y_scale_start, x_scale_end, y_scale_end);
4958 // The #ClutterBehaviourScaleClass struct contains only private data
4959 struct BehaviourScaleClass /* Version 0.2 */ {
4960 private BehaviourClass parent_class;
4963 struct BehaviourScalePrivate {
4966 // The alignment policies available on each axis for #ClutterBinLayout
4967 enum BinAlignment /* Version 1.2 */ {
4968 FIXED = 0,
4969 FILL = 1,
4970 START = 2,
4971 END = 3,
4972 CENTER = 4
4975 // The #ClutterBinLayout structure contains only private data
4976 // and should be accessed using the provided API
4977 struct BinLayout /* : LayoutManager */ /* Version 1.2 */ {
4978 alias parent_instance this;
4979 alias parent_instance super_;
4980 alias parent_instance layoutmanager;
4981 LayoutManager parent_instance;
4982 private BinLayoutPrivate* priv;
4985 // VERSION: 1.2
4986 // Creates a new #ClutterBinLayout layout manager
4987 // RETURNS: the newly created layout manager
4988 // <x_align>: the default alignment policy to be used on the horizontal axis
4989 // <y_align>: the default alignment policy to be used on the vertical axis
4990 static BinLayout* new_()(BinAlignment x_align, BinAlignment y_align) {
4991 return clutter_bin_layout_new(x_align, y_align);
4994 // VERSION: 1.2
4995 // Adds a #ClutterActor to the container using @self and
4996 // sets the alignment policies for it
4998 // This function is equivalent to clutter_container_add_actor()
4999 // and clutter_layout_manager_child_set_property() but it does not
5000 // require a pointer to the #ClutterContainer associated to the
5001 // #ClutterBinLayout
5002 // <child>: a #ClutterActor
5003 // <x_align>: horizontal alignment policy for @child
5004 // <y_align>: vertical alignment policy for @child
5005 void add()(Actor* child, BinAlignment x_align, BinAlignment y_align) {
5006 clutter_bin_layout_add(&this, child, x_align, y_align);
5009 // VERSION: 1.2
5010 // Retrieves the horizontal and vertical alignment policies for
5011 // a child of @self
5013 // If @child is %NULL the default alignment policies will be returned
5014 // instead
5015 // <child>: a child of @container
5016 // <x_align>: return location for the horizontal alignment policy
5017 // <y_align>: return location for the vertical alignment policy
5018 void get_alignment()(Actor* child=null, /*out*/ BinAlignment* x_align=null, /*out*/ BinAlignment* y_align=null) {
5019 clutter_bin_layout_get_alignment(&this, child, x_align, y_align);
5022 // VERSION: 1.2
5023 // Sets the horizontal and vertical alignment policies to be applied
5024 // to a @child of @self
5026 // If @child is %NULL then the @x_align and @y_align values will
5027 // be set as the default alignment policies
5028 // <child>: a child of @container
5029 // <x_align>: the horizontal alignment policy to be used for the @child inside @container
5030 // <y_align>: the vertical aligment policy to be used on the @child inside @container
5031 void set_alignment()(Actor* child, BinAlignment x_align, BinAlignment y_align) {
5032 clutter_bin_layout_set_alignment(&this, child, x_align, y_align);
5037 // The #ClutterBinLayoutClass structure contains only private
5038 // data and should be accessed using the provided API
5039 struct BinLayoutClass /* Version 1.2 */ {
5040 private LayoutManagerClass parent_class;
5043 struct BinLayoutPrivate {
5047 // <structname>ClutterBindConstraint</structname> is an opaque structure
5048 // whose members cannot be directly accessed
5049 struct BindConstraint /* : Constraint */ /* Version 1.4 */ {
5050 alias method_parent this;
5051 alias method_parent super_;
5052 alias method_parent constraint;
5053 Constraint method_parent;
5056 // VERSION: 1.4
5057 // Creates a new constraint, binding a #ClutterActor's position to
5058 // the given @coordinate of the position of @source
5059 // RETURNS: the newly created #ClutterBindConstraint
5060 // <source>: the #ClutterActor to use as the source of the binding, or %NULL
5061 // <coordinate>: the coordinate to bind
5062 // <offset>: the offset to apply to the binding, in pixels
5063 static BindConstraint* new_()(Actor* source, BindCoordinate coordinate, float offset) {
5064 return clutter_bind_constraint_new(source, coordinate, offset);
5067 // VERSION: 1.4
5068 // Retrieves the bound coordinate of the constraint
5069 // RETURNS: the bound coordinate
5070 BindCoordinate get_coordinate()() {
5071 return clutter_bind_constraint_get_coordinate(&this);
5074 // VERSION: 1.4
5075 // Retrieves the offset set using clutter_bind_constraint_set_offset()
5076 // RETURNS: the offset, in pixels
5077 float get_offset()() {
5078 return clutter_bind_constraint_get_offset(&this);
5081 // VERSION: 1.4
5082 // Retrieves the #ClutterActor set using clutter_bind_constraint_set_source()
5083 // RETURNS: a pointer to the source actor
5084 Actor* get_source()() {
5085 return clutter_bind_constraint_get_source(&this);
5088 // VERSION: 1.4
5089 // Sets the coordinate to bind in the constraint
5090 // <coordinate>: the coordinate to bind
5091 void set_coordinate()(BindCoordinate coordinate) {
5092 clutter_bind_constraint_set_coordinate(&this, coordinate);
5095 // VERSION: 1.4
5096 // Sets the offset to be applied to the constraint
5097 // <offset>: the offset to apply, in pixels
5098 void set_offset()(float offset) {
5099 clutter_bind_constraint_set_offset(&this, offset);
5102 // VERSION: 1.4
5103 // Sets the source #ClutterActor for the constraint
5104 // <source>: a #ClutterActor, or %NULL to unset the source
5105 void set_source()(Actor* source=null) {
5106 clutter_bind_constraint_set_source(&this, source);
5110 struct BindConstraintClass {
5113 // Specifies which property should be used in a binding
5114 enum BindCoordinate /* Version 1.4 */ {
5115 X = 0,
5116 Y = 1,
5117 WIDTH = 2,
5118 HEIGHT = 3,
5119 POSITION = 4,
5120 SIZE = 5
5123 // VERSION: 1.0
5124 // The prototype for the callback function registered with
5125 // clutter_binding_pool_install_action() and invoked by
5126 // clutter_binding_pool_activate().
5128 // binding has been handled, and return %FALSE otherwise
5129 // RETURNS: the function should return %TRUE if the key
5130 // <gobject>: a #GObject
5131 // <action_name>: the name of the action
5132 // <key_val>: the key symbol
5133 // <modifiers>: bitmask of the modifier flags
5134 extern (C) alias int function (GObject2.Object* gobject, char* action_name, uint key_val, ModifierType modifiers) BindingActionFunc;
5137 // Container of key bindings. The #ClutterBindingPool struct is
5138 // private.
5139 struct BindingPool /* : GObject.Object */ /* Version 1.0 */ {
5140 alias method_parent this;
5141 alias method_parent super_;
5142 alias method_parent object;
5143 GObject2.Object method_parent;
5146 // VERSION: 1.0
5147 // Creates a new #ClutterBindingPool that can be used to store
5148 // key bindings for an actor. The @name must be a unique identifier
5149 // for the binding pool, so that clutter_binding_pool_find() will
5150 // be able to return the correct binding pool.
5152 // name. Use g_object_unref() when done.
5153 // RETURNS: the newly created binding pool with the given
5154 // <name>: the name of the binding pool
5155 static BindingPool* /*new*/ new_()(char* name) {
5156 return clutter_binding_pool_new(name);
5159 // VERSION: 1.0
5160 // Finds the #ClutterBindingPool with @name.
5161 // RETURNS: a pointer to the #ClutterBindingPool, or %NULL
5162 // <name>: the name of the binding pool to find
5163 static BindingPool* find()(char* name) {
5164 return clutter_binding_pool_find(name);
5167 // VERSION: 1.0
5168 // Retrieves the #ClutterBindingPool for the given #GObject class
5169 // and, eventually, creates it. This function is a wrapper around
5170 // clutter_binding_pool_new() and uses the class type name as the
5171 // unique name for the binding pool.
5173 // Calling this function multiple times will return the same
5174 // #ClutterBindingPool.
5176 // A binding pool for a class can also be retrieved using
5177 // clutter_binding_pool_find() with the class type name:
5179 // |[
5180 // pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
5181 // ]|
5183 // The returned #ClutterBindingPool is owned by Clutter and should not
5184 // be freed directly
5185 // RETURNS: the binding pool for the given class.
5186 // <klass>: a #GObjectClass pointer
5187 static BindingPool* get_for_class()(void* klass) {
5188 return clutter_binding_pool_get_for_class(klass);
5191 // VERSION: 1.0
5192 // Activates the callback associated to the action that is
5193 // bound to the @key_val and @modifiers pair.
5195 // The callback has the following signature:
5197 // |[
5198 // void (* callback) (GObject *gobject,
5199 // const gchar *action_name,
5200 // guint key_val,
5201 // ClutterModifierType modifiers,
5202 // gpointer user_data);
5203 // ]|
5205 // Where the #GObject instance is @gobject and the user data
5206 // is the one passed when installing the action with
5207 // clutter_binding_pool_install_action().
5209 // If the action bound to the @key_val, @modifiers pair has been
5210 // blocked using clutter_binding_pool_block_action(), the callback
5211 // will not be invoked, and this function will return %FALSE.
5212 // RETURNS: %TRUE if an action was found and was activated
5213 // <key_val>: the key symbol
5214 // <modifiers>: bitmask for the modifiers
5215 // <gobject>: a #GObject
5216 int activate()(uint key_val, ModifierType modifiers, GObject2.Object* gobject) {
5217 return clutter_binding_pool_activate(&this, key_val, modifiers, gobject);
5220 // VERSION: 1.0
5221 // Blocks all the actions with name @action_name inside @pool.
5222 // <action_name>: an action name
5223 void block_action()(char* action_name) {
5224 clutter_binding_pool_block_action(&this, action_name);
5227 // VERSION: 1.0
5228 // Retrieves the name of the action matching the given key symbol
5229 // and modifiers bitmask.
5231 // returned string is owned by the binding pool and should never
5232 // be modified or freed
5233 // RETURNS: the name of the action, if found, or %NULL. The
5234 // <key_val>: a key symbol
5235 // <modifiers>: a bitmask for the modifiers
5236 char* find_action()(uint key_val, ModifierType modifiers) {
5237 return clutter_binding_pool_find_action(&this, key_val, modifiers);
5240 // VERSION: 1.0
5241 // Installs a new action inside a #ClutterBindingPool. The action
5242 // is bound to @key_val and @modifiers.
5244 // The same action name can be used for multiple @key_val, @modifiers
5245 // pairs.
5247 // When an action has been activated using clutter_binding_pool_activate()
5248 // the passed @callback will be invoked (with @data).
5250 // Actions can be blocked with clutter_binding_pool_block_action()
5251 // and then unblocked using clutter_binding_pool_unblock_action().
5252 // <action_name>: the name of the action
5253 // <key_val>: key symbol
5254 // <modifiers>: bitmask of modifiers
5255 // <callback>: function to be called when the action is activated
5256 // <data>: data to be passed to @callback
5257 // <notify>: function to be called when the action is removed from the pool
5258 void install_action()(char* action_name, uint key_val, ModifierType modifiers, GObject2.Callback callback, void* data, GLib2.DestroyNotify notify) {
5259 clutter_binding_pool_install_action(&this, action_name, key_val, modifiers, callback, data, notify);
5262 // VERSION: 1.0
5263 // A #GClosure variant of clutter_binding_pool_install_action().
5265 // Installs a new action inside a #ClutterBindingPool. The action
5266 // is bound to @key_val and @modifiers.
5268 // The same action name can be used for multiple @key_val, @modifiers
5269 // pairs.
5271 // When an action has been activated using clutter_binding_pool_activate()
5272 // the passed @closure will be invoked.
5274 // Actions can be blocked with clutter_binding_pool_block_action()
5275 // and then unblocked using clutter_binding_pool_unblock_action().
5276 // <action_name>: the name of the action
5277 // <key_val>: key symbol
5278 // <modifiers>: bitmask of modifiers
5279 // <closure>: a #GClosure
5280 void install_closure()(char* action_name, uint key_val, ModifierType modifiers, GObject2.Closure* closure) {
5281 clutter_binding_pool_install_closure(&this, action_name, key_val, modifiers, closure);
5284 // VERSION: 1.0
5285 // Allows overriding the action for @key_val and @modifiers inside a
5286 // #ClutterBindingPool. See clutter_binding_pool_install_action().
5288 // When an action has been activated using clutter_binding_pool_activate()
5289 // the passed @callback will be invoked (with @data).
5291 // Actions can be blocked with clutter_binding_pool_block_action()
5292 // and then unblocked using clutter_binding_pool_unblock_action().
5293 // <key_val>: key symbol
5294 // <modifiers>: bitmask of modifiers
5295 // <callback>: function to be called when the action is activated
5296 // <data>: data to be passed to @callback
5297 // <notify>: function to be called when the action is removed from the pool
5298 void override_action()(uint key_val, ModifierType modifiers, GObject2.Callback callback, void* data, GLib2.DestroyNotify notify) {
5299 clutter_binding_pool_override_action(&this, key_val, modifiers, callback, data, notify);
5302 // VERSION: 1.0
5303 // A #GClosure variant of clutter_binding_pool_override_action().
5305 // Allows overriding the action for @key_val and @modifiers inside a
5306 // #ClutterBindingPool. See clutter_binding_pool_install_closure().
5308 // When an action has been activated using clutter_binding_pool_activate()
5309 // the passed @callback will be invoked (with @data).
5311 // Actions can be blocked with clutter_binding_pool_block_action()
5312 // and then unblocked using clutter_binding_pool_unblock_action().
5313 // <key_val>: key symbol
5314 // <modifiers>: bitmask of modifiers
5315 // <closure>: a #GClosure
5316 void override_closure()(uint key_val, ModifierType modifiers, GObject2.Closure* closure) {
5317 clutter_binding_pool_override_closure(&this, key_val, modifiers, closure);
5320 // VERSION: 1.0
5321 // Removes the action matching the given @key_val, @modifiers pair,
5322 // if any exists.
5323 // <key_val>: a key symbol
5324 // <modifiers>: a bitmask for the modifiers
5325 void remove_action()(uint key_val, ModifierType modifiers) {
5326 clutter_binding_pool_remove_action(&this, key_val, modifiers);
5329 // VERSION: 1.0
5330 // Unblockes all the actions with name @action_name inside @pool.
5332 // Unblocking an action does not cause the callback bound to it to
5333 // be invoked in case clutter_binding_pool_activate() was called on
5334 // an action previously blocked with clutter_binding_pool_block_action().
5335 // <action_name>: an action name
5336 void unblock_action()(char* action_name) {
5337 clutter_binding_pool_unblock_action(&this, action_name);
5341 struct BindingPoolClass {
5344 enum int Blue = 269025190;
5345 enum int Bluetooth = 269025172;
5347 // <structname>ClutterBlurEffect</structname> is an opaque structure
5348 // whose members cannot be accessed directly
5349 struct BlurEffect /* : OffscreenEffect */ /* Version 1.4 */ {
5350 alias method_parent this;
5351 alias method_parent super_;
5352 alias method_parent offscreeneffect;
5353 OffscreenEffect method_parent;
5356 // VERSION: 1.4
5357 // Creates a new #ClutterBlurEffect to be used with
5358 // clutter_actor_add_effect()
5359 // RETURNS: the newly created #ClutterBlurEffect or %NULL
5360 static BlurEffect* new_()() {
5361 return clutter_blur_effect_new();
5365 struct BlurEffectClass {
5368 enum int Book = 269025106;
5369 enum int BounceKeys_Enable = 65140;
5371 // The #ClutterBox structure contains only private data and should
5372 // be accessed using the provided API
5373 struct Box /* : Actor */ /* Version 1.2 */ {
5374 mixin Atk.ImplementorIface.__interface__;
5375 mixin Animatable.__interface__;
5376 mixin Container.__interface__;
5377 mixin Scriptable.__interface__;
5378 alias parent_instance this;
5379 alias parent_instance super_;
5380 alias parent_instance actor;
5381 Actor parent_instance;
5382 private BoxPrivate* priv;
5385 // VERSION: 1.0
5386 // Creates a new #ClutterBox. The children of the box will be layed
5387 // out by the passed @manager
5388 // RETURNS: the newly created #ClutterBox actor
5389 // <manager>: a #ClutterLayoutManager
5390 static Box* new_()(LayoutManager* manager) {
5391 return clutter_box_new(manager);
5394 // VERSION: 1.2
5395 // Retrieves the background color of @box
5397 // If the #ClutterBox:color-set property is set to %FALSE the
5398 // returned #ClutterColor is undefined
5399 // <color>: return location for a #ClutterColor
5400 void get_color()(/*out*/ Color* color) {
5401 clutter_box_get_color(&this, color);
5404 // VERSION: 1.2
5405 // Retrieves the #ClutterLayoutManager instance used by @box
5407 // #ClutterLayoutManager is owned by the #ClutterBox and it should not
5408 // be unreferenced
5409 // RETURNS: a #ClutterLayoutManager. The returned
5410 LayoutManager* get_layout_manager()() {
5411 return clutter_box_get_layout_manager(&this);
5414 // Unintrospectable method: pack() / clutter_box_pack()
5415 // VERSION: 1.2
5416 // Adds @actor to @box and sets layout properties at the same time,
5417 // if the #ClutterLayoutManager used by @box has them
5419 // This function is a wrapper around clutter_container_add_actor()
5420 // and clutter_layout_manager_child_set()
5422 // Language bindings should use the vector-based clutter_box_packv()
5423 // variant instead
5424 // <actor>: a #ClutterActor
5425 // <first_property>: the name of the first property to set, or %NULL
5426 /+ Not available -- variadic methods unsupported - use the C function directly.
5427 alias clutter_box_pack pack; // Variadic
5430 // Unintrospectable method: pack_after() / clutter_box_pack_after()
5431 // VERSION: 1.2
5432 // Adds @actor to @box, placing it after @sibling, and sets layout
5433 // properties at the same time, if the #ClutterLayoutManager used by
5434 // @box supports them
5436 // If @sibling is %NULL then @actor is placed at the end of the
5437 // list of children, to be allocated and painted after every other child
5439 // This function is a wrapper around clutter_container_add_actor(),
5440 // clutter_container_raise_child() and clutter_layout_manager_child_set()
5441 // <actor>: a #ClutterActor
5442 // <sibling>: a #ClutterActor or %NULL
5443 // <first_property>: the name of the first property to set, or %NULL
5444 /+ Not available -- variadic methods unsupported - use the C function directly.
5445 alias clutter_box_pack_after pack_after; // Variadic
5448 // Unintrospectable method: pack_at() / clutter_box_pack_at()
5449 // VERSION: 1.2
5450 // Adds @actor to @box, placing it at @position, and sets layout
5451 // properties at the same time, if the #ClutterLayoutManager used by
5452 // @box supports them
5454 // If @position is a negative number, or is larger than the number of
5455 // children of @box, the new child is added at the end of the list of
5456 // children
5457 // <actor>: a #ClutterActor
5458 // <position>: the position to insert the @actor at
5459 // <first_property>: the name of the first property to set, or %NULL
5460 /+ Not available -- variadic methods unsupported - use the C function directly.
5461 alias clutter_box_pack_at pack_at; // Variadic
5464 // Unintrospectable method: pack_before() / clutter_box_pack_before()
5465 // VERSION: 1.2
5466 // Adds @actor to @box, placing it before @sibling, and sets layout
5467 // properties at the same time, if the #ClutterLayoutManager used by
5468 // @box supports them
5470 // If @sibling is %NULL then @actor is placed at the beginning of the
5471 // list of children, to be allocated and painted below every other child
5473 // This function is a wrapper around clutter_container_add_actor(),
5474 // clutter_container_lower_child() and clutter_layout_manager_child_set()
5475 // <actor>: a #ClutterActor
5476 // <sibling>: a #ClutterActor or %NULL
5477 // <first_property>: the name of the first property to set, or %NULL
5478 /+ Not available -- variadic methods unsupported - use the C function directly.
5479 alias clutter_box_pack_before pack_before; // Variadic
5482 // VERSION: 1.2
5483 // Vector-based variant of clutter_box_pack(), intended for language
5484 // bindings to use
5485 // <actor>: a #ClutterActor
5486 // <n_properties>: the number of properties to set
5487 // <properties>: a vector containing the property names to set
5488 // <values>: a vector containing the property values to set
5489 void packv()(Actor* actor, uint n_properties, char* properties, GObject2.Value* values) {
5490 clutter_box_packv(&this, actor, n_properties, properties, values);
5493 // VERSION: 1.2
5494 // Sets (or unsets) the background color for @box
5495 // <color>: the background color, or %NULL to unset
5496 void set_color()(Color* color=null) {
5497 clutter_box_set_color(&this, color);
5500 // VERSION: 1.2
5501 // Sets the #ClutterLayoutManager for @box
5503 // A #ClutterLayoutManager is a delegate object that controls the
5504 // layout of the children of @box
5505 // <manager>: a #ClutterLayoutManager
5506 void set_layout_manager()(LayoutManager* manager) {
5507 clutter_box_set_layout_manager(&this, manager);
5511 // The alignment policies available on each axis of the #ClutterBoxLayout
5512 enum BoxAlignment /* Version 1.2 */ {
5513 START = 0,
5514 END = 1,
5515 CENTER = 2
5517 // The #ClutterBoxClass structure contains only private data
5518 struct BoxClass /* Version 1.2 */ {
5519 private ActorClass parent_class;
5520 extern (C) void function () clutter_padding_1;
5521 extern (C) void function () clutter_padding_2;
5522 extern (C) void function () clutter_padding_3;
5523 extern (C) void function () clutter_padding_4;
5524 extern (C) void function () clutter_padding_5;
5525 extern (C) void function () clutter_padding_6;
5529 // The #ClutterBoxLayout structure contains only private data
5530 // and should be accessed using the provided API
5531 struct BoxLayout /* : LayoutManager */ /* Version 1.2 */ {
5532 alias parent_instance this;
5533 alias parent_instance super_;
5534 alias parent_instance layoutmanager;
5535 LayoutManager parent_instance;
5536 private BoxLayoutPrivate* priv;
5539 // VERSION: 1.2
5540 // Creates a new #ClutterBoxLayout layout manager
5541 // RETURNS: the newly created #ClutterBoxLayout
5542 static BoxLayout* new_()() {
5543 return clutter_box_layout_new();
5546 // VERSION: 1.2
5547 // Retrieves the horizontal and vertical alignment policies for @actor
5548 // as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment()
5549 // <actor>: a #ClutterActor child of @layout
5550 // <x_align>: return location for the horizontal alignment policy
5551 // <y_align>: return location for the vertical alignment policy
5552 void get_alignment()(Actor* actor, /*out*/ BoxAlignment* x_align, /*out*/ BoxAlignment* y_align) {
5553 clutter_box_layout_get_alignment(&this, actor, x_align, y_align);
5556 // VERSION: 1.2
5557 // Retrieves the duration set using clutter_box_layout_set_easing_duration()
5558 // RETURNS: the duration of the animations, in milliseconds
5559 uint get_easing_duration()() {
5560 return clutter_box_layout_get_easing_duration(&this);
5563 // VERSION: 1.2
5564 // Retrieves the easing mode set using clutter_box_layout_set_easing_mode()
5565 // RETURNS: an easing mode
5566 c_ulong get_easing_mode()() {
5567 return clutter_box_layout_get_easing_mode(&this);
5570 // VERSION: 1.2
5571 // Retrieves whether @actor should expand inside @layout
5572 // RETURNS: %TRUE if the #ClutterActor should expand, %FALSE otherwise
5573 // <actor>: a #ClutterActor child of @layout
5574 int get_expand()(Actor* actor) {
5575 return clutter_box_layout_get_expand(&this, actor);
5578 // VERSION: 1.2
5579 // Retrieves the horizontal and vertical fill policies for @actor
5580 // as set using clutter_box_layout_pack() or clutter_box_layout_set_fill()
5581 // <actor>: a #ClutterActor child of @layout
5582 // <x_fill>: return location for the horizontal fill policy
5583 // <y_fill>: return location for the vertical fill policy
5584 void get_fill()(Actor* actor, /*out*/ int* x_fill, /*out*/ int* y_fill) {
5585 clutter_box_layout_get_fill(&this, actor, x_fill, y_fill);
5588 // VERSION: 1.4
5589 // Retrieves if the children sizes are allocated homogeneously.
5591 // homogeneously, and %FALSE otherwise
5592 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
5593 int get_homogeneous()() {
5594 return clutter_box_layout_get_homogeneous(&this);
5597 // VERSION: 1.2
5598 // Retrieves the value set using clutter_box_layout_set_pack_start()
5600 // at the beginning of the layout, and %FALSE otherwise
5601 // RETURNS: %TRUE if the #ClutterBoxLayout should pack children
5602 int get_pack_start()() {
5603 return clutter_box_layout_get_pack_start(&this);
5606 // VERSION: 1.2
5607 // Retrieves the spacing set using clutter_box_layout_set_spacing()
5608 // RETURNS: the spacing between children of the #ClutterBoxLayout
5609 uint get_spacing()() {
5610 return clutter_box_layout_get_spacing(&this);
5613 // VERSION: 1.2
5614 // Retrieves whether @layout should animate changes in the layout properties
5616 // Since clutter_box_layout_set_use_animations()
5617 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
5618 int get_use_animations()() {
5619 return clutter_box_layout_get_use_animations(&this);
5622 // VERSION: 1.2
5623 // Retrieves the orientation of the @layout as set using the
5624 // clutter_box_layout_set_vertical() function
5626 // vertically, and %FALSE otherwise
5627 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
5628 int get_vertical()() {
5629 return clutter_box_layout_get_vertical(&this);
5632 // VERSION: 1.2
5633 // Packs @actor inside the #ClutterContainer associated to @layout
5634 // and sets the layout properties
5635 // <actor>: a #ClutterActor
5636 // <expand>: whether the @actor should expand
5637 // <x_fill>: whether the @actor should fill horizontally
5638 // <y_fill>: whether the @actor should fill vertically
5639 // <x_align>: the horizontal alignment policy for @actor
5640 // <y_align>: the vertical alignment policy for @actor
5641 void pack()(Actor* actor, int expand, int x_fill, int y_fill, BoxAlignment x_align, BoxAlignment y_align) {
5642 clutter_box_layout_pack(&this, actor, expand, x_fill, y_fill, x_align, y_align);
5645 // VERSION: 1.2
5646 // Sets the horizontal and vertical alignment policies for @actor
5647 // inside @layout
5648 // <actor>: a #ClutterActor child of @layout
5649 // <x_align>: Horizontal alignment policy for @actor
5650 // <y_align>: Vertical alignment policy for @actor
5651 void set_alignment()(Actor* actor, BoxAlignment x_align, BoxAlignment y_align) {
5652 clutter_box_layout_set_alignment(&this, actor, x_align, y_align);
5655 // VERSION: 1.2
5656 // Sets the duration of the animations used by @layout when animating changes
5657 // in the layout properties
5659 // Use clutter_box_layout_set_use_animations() to enable and disable the
5660 // animations
5661 // <msecs>: the duration of the animations, in milliseconds
5662 void set_easing_duration()(uint msecs) {
5663 clutter_box_layout_set_easing_duration(&this, msecs);
5666 // VERSION: 1.2
5667 // Sets the easing mode to be used by @layout when animating changes in layout
5668 // properties
5670 // Use clutter_box_layout_set_use_animations() to enable and disable the
5671 // animations
5672 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
5673 void set_easing_mode()(c_ulong mode) {
5674 clutter_box_layout_set_easing_mode(&this, mode);
5677 // VERSION: 1.2
5678 // Sets whether @actor should expand inside @layout
5679 // <actor>: a #ClutterActor child of @layout
5680 // <expand>: whether @actor should expand
5681 void set_expand()(Actor* actor, int expand) {
5682 clutter_box_layout_set_expand(&this, actor, expand);
5685 // VERSION: 1.2
5686 // Sets the horizontal and vertical fill policies for @actor
5687 // inside @layout
5688 // <actor>: a #ClutterActor child of @layout
5689 // <x_fill>: whether @actor should fill horizontally the allocated space
5690 // <y_fill>: whether @actor should fill vertically the allocated space
5691 void set_fill()(Actor* actor, int x_fill, int y_fill) {
5692 clutter_box_layout_set_fill(&this, actor, x_fill, y_fill);
5695 // VERSION: 1.4
5696 // Sets whether the size of @layout children should be
5697 // homogeneous
5698 // <homogeneous>: %TRUE if the layout should be homogeneous
5699 void set_homogeneous()(int homogeneous) {
5700 clutter_box_layout_set_homogeneous(&this, homogeneous);
5703 // VERSION: 1.2
5704 // Sets whether children of @layout should be layed out by appending
5705 // them or by prepending them
5706 // <pack_start>: %TRUE if the @layout should pack children at the beginning of the layout
5707 void set_pack_start()(int pack_start) {
5708 clutter_box_layout_set_pack_start(&this, pack_start);
5711 // VERSION: 1.2
5712 // Sets the spacing between children of @layout
5713 // <spacing>: the spacing between children of the layout, in pixels
5714 void set_spacing()(uint spacing) {
5715 clutter_box_layout_set_spacing(&this, spacing);
5718 // VERSION: 1.2
5719 // Sets whether @layout should animate changes in the layout properties
5721 // The duration of the animations is controlled by
5722 // clutter_box_layout_set_easing_duration(); the easing mode to be used
5723 // by the animations is controlled by clutter_box_layout_set_easing_mode()
5724 // <animate>: %TRUE if the @layout should use animations
5725 void set_use_animations()(int animate) {
5726 clutter_box_layout_set_use_animations(&this, animate);
5729 // VERSION: 1.2
5730 // Sets whether @layout should arrange its children vertically alongside
5731 // the Y axis, instead of horizontally alongside the X axis
5732 // <vertical>: %TRUE if the layout should be vertical
5733 void set_vertical()(int vertical) {
5734 clutter_box_layout_set_vertical(&this, vertical);
5739 // The #ClutterBoxLayoutClass structure contains only private
5740 // data and should be accessed using the provided API
5741 struct BoxLayoutClass /* Version 1.2 */ {
5742 private LayoutManagerClass parent_class;
5745 struct BoxLayoutPrivate {
5748 struct BoxPrivate {
5751 enum int Break = 65387;
5752 enum int BrightnessAdjust = 269025083;
5754 // Button event.
5756 // The event coordinates are relative to the stage that received the
5757 // event, and can be transformed into actor-relative coordinates by
5758 // using clutter_actor_transform_stage_point().
5759 struct ButtonEvent /* Version 0.2 */ {
5760 EventType type;
5761 uint time;
5762 EventFlags flags;
5763 Stage* stage;
5764 Actor* source;
5765 float x, y;
5766 ModifierType modifier_state;
5767 uint button;
5768 uint click_count;
5769 double* axes;
5770 InputDevice* device;
5773 enum int Byelorussian_SHORTU = 1726;
5774 enum int Byelorussian_shortu = 1710;
5775 enum int C = 67;
5776 enum int CD = 269025107;
5777 enum COGL = "undefined";
5778 enum int CURRENT_TIME = 0;
5779 enum int Cabovedot = 709;
5780 enum int Cacute = 454;
5781 // The #ClutterCairoTexture struct contains only private data.
5782 struct CairoTexture /* : Texture */ /* Version 1.0 */ {
5783 mixin Atk.ImplementorIface.__interface__;
5784 mixin Animatable.__interface__;
5785 mixin Scriptable.__interface__;
5786 alias parent_instance this;
5787 alias parent_instance super_;
5788 alias parent_instance texture;
5789 Texture parent_instance;
5790 private CairoTexturePrivate* priv;
5793 // VERSION: 1.0
5794 // Creates a new #ClutterCairoTexture actor, with a surface of @width by
5795 // @height pixels.
5796 // RETURNS: the newly created #ClutterCairoTexture actor
5797 // <width>: the width of the surface
5798 // <height>: the height of the surface
5799 static CairoTexture* new_()(uint width, uint height) {
5800 return clutter_cairo_texture_new(width, height);
5803 // VERSION: 1.0
5804 // Clears @self's internal drawing surface, so that the next upload
5805 // will replace the previous contents of the #ClutterCairoTexture
5806 // rather than adding to it.
5808 // Calling this function from within a #ClutterCairoTexture::draw
5809 // signal handler will clear the invalidated area.
5810 void clear()() {
5811 clutter_cairo_texture_clear(&this);
5814 // VERSION: 1.0
5815 // DEPRECATED (v1.8) method: create - Use the #ClutterCairoTexture::draw signal and
5816 // Creates a new Cairo context for the @cairo texture. It is
5817 // similar to using clutter_cairo_texture_create_region() with @x_offset
5818 // and @y_offset of 0, @width equal to the @cairo texture surface width
5819 // and @height equal to the @cairo texture surface height.
5821 // <warning><para>Do not call this function within the paint virtual
5822 // function or from a callback to the #ClutterActor::paint
5823 // signal.</para></warning>
5825 // to upload the contents of the context when done drawing
5828 // the clutter_cairo_texture_invalidate() function to obtain a
5829 // Cairo context for 2D drawing.
5830 // RETURNS: a newly created Cairo context. Use cairo_destroy()
5831 cairo.Context* /*new*/ create()() {
5832 return clutter_cairo_texture_create(&this);
5835 // VERSION: 1.0
5836 // DEPRECATED (v1.8) method: create_region - Use the #ClutterCairoTexture::draw signal and
5837 // Creates a new Cairo context that will updat the region defined
5838 // by @x_offset, @y_offset, @width and @height.
5840 // <warning><para>Do not call this function within the paint virtual
5841 // function or from a callback to the #ClutterActor::paint
5842 // signal.</para></warning>
5844 // to upload the contents of the context when done drawing
5847 // clutter_cairo_texture_invalidate_rectangle() to obtain a
5848 // clipped Cairo context for 2D drawing.
5849 // RETURNS: a newly created Cairo context. Use cairo_destroy()
5850 // <x_offset>: offset of the region on the X axis
5851 // <y_offset>: offset of the region on the Y axis
5852 // <width>: width of the region, or -1 for the full surface width
5853 // <height>: height of the region, or -1 for the full surface height
5854 cairo.Context* /*new*/ create_region()(int x_offset, int y_offset, int width, int height) {
5855 return clutter_cairo_texture_create_region(&this, x_offset, y_offset, width, height);
5858 // VERSION: 1.8
5859 // Retrieves the value set using clutter_cairo_texture_set_auto_resize().
5861 // allocation, and %FALSE otherwise
5862 // RETURNS: %TRUE if the #ClutterCairoTexture should track the
5863 int get_auto_resize()() {
5864 return clutter_cairo_texture_get_auto_resize(&this);
5867 // VERSION: 1.0
5868 // Retrieves the surface width and height for @self.
5869 // <width>: return location for the surface width, or %NULL
5870 // <height>: return location for the surface height, or %NULL
5871 void get_surface_size()(/*out*/ uint* width, /*out*/ uint* height) {
5872 clutter_cairo_texture_get_surface_size(&this, width, height);
5875 // VERSION: 1.8
5876 // Invalidates the whole surface of a #ClutterCairoTexture.
5878 // This function will cause the #ClutterCairoTexture::draw signal
5879 // to be emitted.
5881 // See also: clutter_cairo_texture_invalidate_rectangle()
5882 void invalidate()() {
5883 clutter_cairo_texture_invalidate(&this);
5886 // VERSION: 1.8
5887 // Invalidates a rectangular region of a #ClutterCairoTexture.
5889 // The invalidation will cause the #ClutterCairoTexture::draw signal
5890 // to be emitted.
5892 // See also: clutter_cairo_texture_invalidate()
5893 // <rect>: a rectangle with the area to invalida, or %NULL to perform an unbounded invalidation
5894 void invalidate_rectangle()(cairo.RectangleInt* rect=null) {
5895 clutter_cairo_texture_invalidate_rectangle(&this, rect);
5898 // VERSION: 1.8
5899 // Sets whether the #ClutterCairoTexture should ensure that the
5900 // backing Cairo surface used matches the allocation assigned to
5901 // the actor. If the allocation changes, the contents of the
5902 // #ClutterCairoTexture will also be invalidated automatically.
5903 // <value>: %TRUE if the #ClutterCairoTexture should bind the surface size to the allocation
5904 void set_auto_resize()(int value) {
5905 clutter_cairo_texture_set_auto_resize(&this, value);
5908 // VERSION: 1.0
5909 // Resizes the Cairo surface used by @self to @width and @height.
5911 // This function will not invalidate the contents of the Cairo
5912 // texture: you will have to explicitly call either
5913 // clutter_cairo_texture_invalidate_rectangle() or
5914 // clutter_cairo_texture_invalidate().
5915 // <width>: the new width of the surface
5916 // <height>: the new height of the surface
5917 void set_surface_size()(uint width, uint height) {
5918 clutter_cairo_texture_set_surface_size(&this, width, height);
5921 // VERSION: 1.6
5922 // The ::create-surface signal is emitted when a #ClutterCairoTexture
5923 // news its surface (re)created, which happens either when the Cairo
5924 // context is created with clutter_cairo_texture_create() or
5925 // clutter_cairo_texture_create_region(), or when the surface is resized
5926 // through clutter_cairo_texture_set_surface_size().
5928 // The first signal handler that returns a non-%NULL, valid surface will
5929 // stop any further signal emission, and the returned surface will be
5930 // the one used.
5931 // RETURNS: the newly created #cairo_surface_t for the texture
5932 // <width>: the width of the surface to create
5933 // <height>: the height of the surface to create
5934 extern (C) alias static cairo.Surface* /*new*/ function (CairoTexture* this_, c_uint width, c_uint height, void* user_data=null) signal_create_surface;
5936 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5937 return super_.signal_connect!name(cb, data, cf);
5940 ulong signal_connect(string name:"create-surface", CB:signal_create_surface)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5941 return signal_connect_data!()(&this, cast(char*)"create-surface",
5942 cast(GObject2.Callback)cb, data, null, cf);
5945 // VERSION: 1.8
5946 // The ::draw signal is emitted each time a #ClutterCairoTexture has
5947 // been invalidated.
5949 // The passed Cairo context passed will be clipped to the invalidated
5950 // area.
5952 // It is safe to connect multiple callbacks to this signals; the state
5953 // of the Cairo context passed to each callback is automatically saved
5954 // and restored, so it's not necessary to call cairo_save() and
5955 // cairo_restore().
5957 // to continue
5958 // RETURNS: %TRUE if the signal emission should stop, and %FALSE
5959 // <cr>: the Cairo context to use to draw
5960 extern (C) alias static c_int function (CairoTexture* this_, cairo.Context* cr, void* user_data=null) signal_draw;
5961 ulong signal_connect(string name:"draw", CB:signal_draw)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5962 return signal_connect_data!()(&this, cast(char*)"draw",
5963 cast(GObject2.Callback)cb, data, null, cf);
5967 // The #ClutterCairoTextureClass struct contains only private data.
5968 struct CairoTextureClass /* Version 1.0 */ {
5969 private TextureClass parent_class;
5970 extern (C) cairo.Surface* /*new*/ function (CairoTexture* texture, uint width, uint height) create_surface;
5971 extern (C) int function (CairoTexture* texture, cairo.Context* cr) draw;
5972 extern (C) void function () _clutter_cairo_3;
5973 extern (C) void function () _clutter_cairo_4;
5976 struct CairoTexturePrivate {
5979 enum int Calculator = 269025053;
5980 enum int Calendar = 269025056;
5982 // Generic callback
5983 // <actor>: a #ClutterActor
5984 // <data>: user data
5985 extern (C) alias void function (Actor* actor, void* data) Callback;
5987 enum int Cancel = 65385;
5988 enum int Caps_Lock = 65509;
5989 enum int Ccaron = 456;
5990 enum int Ccedilla = 199;
5991 enum int Ccircumflex = 710;
5993 // Base interface for container specific state for child actors. A child
5994 // data is meant to be used when you need to keep track of information
5995 // about each individual child added to a container.
5997 // In order to use it you should create your own subclass of
5998 // #ClutterChildMeta and set the #ClutterContainerIface child_meta_type
5999 // interface member to your subclass type, like:
6001 // |[
6002 // static void
6003 // my_container_iface_init (ClutterContainerIface *iface)
6004 // {
6005 // /&ast; set the rest of the #ClutterContainer vtable &ast;/
6007 // container_iface->child_meta_type = MY_TYPE_CHILD_META;
6008 // }
6009 // ]|
6011 // This will automatically create a #ClutterChildMeta of type
6012 // MY_TYPE_CHILD_META for every actor that is added to the container.
6014 // The child data for an actor can be retrieved using the
6015 // clutter_container_get_child_meta() function.
6017 // The properties of the data and your subclass can be manipulated with
6018 // clutter_container_child_set() and clutter_container_child_get() which
6019 // act like g_object_set() and g_object_get().
6021 // You can provide hooks for your own storage as well as control the
6022 // instantiation by overriding the #ClutterContainerIface virtual functions
6023 // <function>create_child_meta</function>,
6024 // <function>destroy_child_meta</function>,
6025 // and <function>get_child_meta</function>.
6026 struct ChildMeta /* : GObject.Object */ /* Version 0.8 */ {
6027 alias parent_instance this;
6028 alias parent_instance super_;
6029 alias parent_instance object;
6030 GObject2.Object parent_instance;
6031 Container* container;
6032 Actor* actor;
6035 // VERSION: 0.8
6036 // Retrieves the actor wrapped by @data
6037 // RETURNS: a #ClutterActor
6038 Actor* get_actor()() {
6039 return clutter_child_meta_get_actor(&this);
6042 // VERSION: 0.8
6043 // Retrieves the container using @data
6044 // RETURNS: a #ClutterContainer
6045 Container* get_container()() {
6046 return clutter_child_meta_get_container(&this);
6050 // The #ClutterChildMetaClass contains only private data
6051 struct ChildMetaClass /* Version 0.8 */ {
6052 private GObject2.ObjectClass parent_class;
6055 enum int Clear = 65291;
6056 enum int ClearGrab = 269024801;
6058 // The <structname>ClutterClickAction</structname> structure contains
6059 // only private data and should be accessed using the provided API
6060 struct ClickAction /* : Action */ /* Version 1.4 */ {
6061 alias parent_instance this;
6062 alias parent_instance super_;
6063 alias parent_instance action;
6064 Action parent_instance;
6065 private ClickActionPrivate* priv;
6068 // VERSION: 1.4
6069 // Creates a new #ClutterClickAction instance
6070 // RETURNS: the newly created #ClutterClickAction
6071 static ClickAction* new_()() {
6072 return clutter_click_action_new();
6075 // VERSION: 1.4
6076 // Retrieves the button that was pressed.
6077 // RETURNS: the button value
6078 uint get_button()() {
6079 return clutter_click_action_get_button(&this);
6082 // VERSION: 1.8
6083 // Retrieves the screen coordinates of the button press.
6084 // <press_x>: return location for the X coordinate, or %NULL
6085 // <press_y>: return location for the Y coordinate, or %NULL
6086 void get_coords()(/*out*/ float* press_x, /*out*/ float* press_y) {
6087 clutter_click_action_get_coords(&this, press_x, press_y);
6090 // VERSION: 1.6
6091 // Retrieves the modifier state of the click action.
6092 // RETURNS: the modifier state parameter, or 0
6093 ModifierType get_state()() {
6094 return clutter_click_action_get_state(&this);
6097 // VERSION: 1.4
6098 // Emulates a release of the pointer button, which ungrabs the pointer
6099 // and unsets the #ClutterClickAction:pressed state.
6101 // This function will also cancel the long press gesture if one was
6102 // initiated.
6104 // This function is useful to break a grab, for instance after a certain
6105 // amount of time has passed.
6106 void release()() {
6107 clutter_click_action_release(&this);
6110 // VERSION: 1.4
6111 // The ::clicked signal is emitted when the #ClutterActor to which
6112 // a #ClutterClickAction has been applied should respond to a
6113 // pointer button press and release events
6114 // <actor>: the #ClutterActor attached to the @action
6115 extern (C) alias static void function (ClickAction* this_, Actor* actor, void* user_data=null) signal_clicked;
6117 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6118 return super_.signal_connect!name(cb, data, cf);
6121 ulong signal_connect(string name:"clicked", CB:signal_clicked)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6122 return signal_connect_data!()(&this, cast(char*)"clicked",
6123 cast(GObject2.Callback)cb, data, null, cf);
6126 // VERSION: 1.8
6127 // The ::long-press signal is emitted during the long press gesture
6128 // handling.
6130 // This signal can be emitted multiple times with different states.
6132 // The %CLUTTER_LONG_PRESS_QUERY state will be emitted on button presses,
6133 // and its return value will determine whether the long press handling
6134 // should be initiated. If the signal handlers will return %TRUE, the
6135 // %CLUTTER_LONG_PRESS_QUERY state will be followed either by a signal
6136 // emission with the %CLUTTER_LONG_PRESS_ACTIVATE state if the long press
6137 // constraints were respected, or by a signal emission with the
6138 // %CLUTTER_LONG_PRESS_CANCEL state if the long press was cancelled.
6140 // It is possible to forcibly cancel a long press detection using
6141 // clutter_click_action_release().
6143 // returned value of the handler; other states will ignore it
6144 // RETURNS: Only the %CLUTTER_LONG_PRESS_QUERY state uses the
6145 // <actor>: the #ClutterActor attached to the @action
6146 // <state>: the long press state
6147 extern (C) alias static c_int function (ClickAction* this_, Actor* actor, LongPressState* state, void* user_data=null) signal_long_press;
6148 ulong signal_connect(string name:"long-press", CB:signal_long_press)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6149 return signal_connect_data!()(&this, cast(char*)"long-press",
6150 cast(GObject2.Callback)cb, data, null, cf);
6155 // The <structname>ClutterClickActionClass</structname> structure
6156 // contains only private data
6157 struct ClickActionClass /* Version 1.4 */ {
6158 private ActionClass parent_class;
6159 extern (C) void function (ClickAction* action, Actor* actor) clicked;
6160 extern (C) int function (ClickAction* action, Actor* actor, LongPressState state) long_press;
6161 extern (C) void function () _clutter_click_action1;
6162 extern (C) void function () _clutter_click_action2;
6163 extern (C) void function () _clutter_click_action3;
6164 extern (C) void function () _clutter_click_action4;
6165 extern (C) void function () _clutter_click_action5;
6166 extern (C) void function () _clutter_click_action6;
6167 extern (C) void function () _clutter_click_action7;
6170 struct ClickActionPrivate {
6174 // The #ClutterClone structure contains only private data
6175 // and should be accessed using the provided API
6176 struct Clone /* : Actor */ /* Version 1.0 */ {
6177 mixin Atk.ImplementorIface.__interface__;
6178 mixin Animatable.__interface__;
6179 mixin Scriptable.__interface__;
6180 alias parent_instance this;
6181 alias parent_instance super_;
6182 alias parent_instance actor;
6183 Actor parent_instance;
6184 private ClonePrivate* priv;
6187 // VERSION: 1.0
6188 // Creates a new #ClutterActor which clones @source/
6189 // RETURNS: the newly created #ClutterClone
6190 // <source>: a #ClutterActor, or %NULL
6191 static Clone* new_()(Actor* source) {
6192 return clutter_clone_new(source);
6195 // VERSION: 1.0
6196 // Retrieves the source #ClutterActor being cloned by @clone
6197 // RETURNS: the actor source for the clone
6198 Actor* get_source()() {
6199 return clutter_clone_get_source(&this);
6202 // VERSION: 1.0
6203 // Sets @source as the source actor to be cloned by @clone.
6204 // <source>: a #ClutterActor, or %NULL
6205 void set_source()(Actor* source) {
6206 clutter_clone_set_source(&this, source);
6210 // The #ClutterCloneClass structure contains only private data
6211 struct CloneClass /* Version 1.0 */ {
6212 private ActorClass parent_class;
6213 extern (C) void function () _clutter_actor_clone1;
6214 extern (C) void function () _clutter_actor_clone2;
6215 extern (C) void function () _clutter_actor_clone3;
6216 extern (C) void function () _clutter_actor_clone4;
6219 struct ClonePrivate {
6222 enum int Close = 269025110;
6223 enum int Codeinput = 65335;
6224 enum int ColonSign = 16785569;
6225 // Color representation.
6226 struct Color {
6227 ubyte red, green, blue, alpha;
6230 // VERSION: 0.8.4
6231 // Creates a new #ClutterColor with the given values.
6233 // Use clutter_color_free() when done
6234 // RETURNS: the newly allocated color.
6235 // <red>: red component of the color, between 0 and 255
6236 // <green>: green component of the color, between 0 and 255
6237 // <blue>: blue component of the color, between 0 and 255
6238 // <alpha>: alpha component of the color, between 0 and 255
6239 static Color* /*new*/ new_()(ubyte red, ubyte green, ubyte blue, ubyte alpha) {
6240 return clutter_color_new(red, green, blue, alpha);
6243 // Adds @a to @b and saves the resulting color inside @result.
6245 // The alpha channel of @result is set as as the maximum value
6246 // between the alpha channels of @a and @b.
6247 // <b>: a #ClutterColor
6248 // <result>: return location for the result
6249 void add()(Color* b, /*out*/ Color* result) {
6250 clutter_color_add(&this, b, result);
6253 // VERSION: 0.2
6254 // Makes a copy of the color structure. The result must be
6255 // freed using clutter_color_free().
6256 // RETURNS: an allocated copy of @color.
6257 Color* /*new*/ copy()() {
6258 return clutter_color_copy(&this);
6261 // Darkens @color by a fixed amount, and saves the changed color
6262 // in @result.
6263 // <result>: return location for the darker color
6264 void darken()(/*out*/ Color* result) {
6265 clutter_color_darken(&this, result);
6268 // VERSION: 0.2
6269 // Frees a color structure created with clutter_color_copy().
6270 void free()() {
6271 clutter_color_free(&this);
6274 // Converts a color expressed in HLS (hue, luminance and saturation)
6275 // values into a #ClutterColor.
6276 // <hue>: hue value, in the 0 .. 360 range
6277 // <luminance>: luminance value, in the 0 .. 1 range
6278 // <saturation>: saturation value, in the 0 .. 1 range
6279 void from_hls()(float hue, float luminance, float saturation) {
6280 clutter_color_from_hls(&this, hue, luminance, saturation);
6283 // Converts @pixel from the packed representation of a four 8 bit channel
6284 // color to a #ClutterColor.
6285 // <pixel>: a 32 bit packed integer containing a color
6286 void from_pixel()(uint pixel) {
6287 clutter_color_from_pixel(&this, pixel);
6290 // VERSION: 1.0
6291 // Parses a string definition of a color, filling the
6292 // <structfield>red</structfield>, <structfield>green</structfield>,
6293 // <structfield>blue</structfield> and <structfield>alpha</structfield>
6294 // channels of @color.
6296 // The @color is not allocated.
6298 // The format of @str can be either one of:
6300 // <itemizedlist>
6301 // <listitem>
6302 // <para>a standard name (as taken from the X11 rgb.txt file)</para>
6303 // </listitem>
6304 // <listitem>
6305 // <para>an hexadecimal value in the form: <literal>&num;rgb</literal>,
6306 // <literal>&num;rrggbb</literal>, <literal>&num;rgba</literal> or
6307 // <literal>&num;rrggbbaa</literal></para>
6308 // </listitem>
6309 // <listitem>
6310 // <para>a RGB color in the form: <literal>rgb(r, g, b)</literal></para>
6311 // </listitem>
6312 // <listitem>
6313 // <para>a RGB color in the form: <literal>rgba(r, g, b, a)</literal></para>
6314 // </listitem>
6315 // <listitem>
6316 // <para>a HSL color in the form: <literal>hsl(h, s, l)</literal></para>
6317 // </listitem>
6318 // <listitem>
6319 // <para>a HSL color in the form: <literal>hsla(h, s, l, a)</literal></para>
6320 // </listitem>
6321 // </itemizedlist>
6323 // where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color
6324 // intensities and the opacity. The 'h', 's' and 'l' are (respectively) the
6325 // hue, saturation and luminance values.
6327 // In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either
6328 // integers between 0 and 255, or percentage values in the range between 0%
6329 // and 100%; the percentages require the '%' character. The 'a' value, if
6330 // specified, can only be a floating point value between 0.0 and 1.0.
6332 // In the hls() and hlsa() formats, the 'h' value (hue) it's an angle between
6333 // 0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are
6334 // a floating point value between 0.0 and 1.0. The 'a' value, if specified,
6335 // can only be a floating point value between 0.0 and 1.0.
6337 // Whitespace inside the definitions is ignored; no leading whitespace
6338 // is allowed.
6340 // If the alpha component is not specified then it is assumed to be set to
6341 // be fully opaque.
6342 // RETURNS: %TRUE if parsing succeeded, and %FALSE otherwise
6343 // <str>: a string specifiying a color
6344 int from_string()(char* str) {
6345 return clutter_color_from_string(&this, str);
6348 // VERSION: 1.6
6349 // Interpolates between @initial and @final #ClutterColor<!-- -->s
6350 // using @progress
6351 // <final>: the final #ClutterColor
6352 // <progress>: the interpolation progress
6353 // <result>: return location for the interpolation
6354 void interpolate()(Color* final_, double progress, /*out*/ Color* result) {
6355 clutter_color_interpolate(&this, final_, progress, result);
6358 // Lightens @color by a fixed amount, and saves the changed color
6359 // in @result.
6360 // <result>: return location for the lighter color
6361 void lighten()(/*out*/ Color* result) {
6362 clutter_color_lighten(&this, result);
6365 // Shades @color by @factor and saves the modified color into @result.
6366 // <factor>: the shade factor to apply
6367 // <result>: return location for the shaded color
6368 void shade()(double factor, /*out*/ Color* result) {
6369 clutter_color_shade(&this, factor, result);
6372 // Subtracts @b from @a and saves the resulting color inside @result.
6374 // This function assumes that the components of @a are greater than the
6375 // components of @b; the result is, otherwise, undefined.
6377 // The alpha channel of @result is set as the minimum value
6378 // between the alpha channels of @a and @b.
6379 // <b>: a #ClutterColor
6380 // <result>: return location for the result
6381 void subtract()(Color* b, /*out*/ Color* result) {
6382 clutter_color_subtract(&this, b, result);
6385 // Converts @color to the HLS format.
6387 // The @hue value is in the 0 .. 360 range. The @luminance and
6388 // @saturation values are in the 0 .. 1 range.
6389 // <hue>: return location for the hue value or %NULL
6390 // <luminance>: return location for the luminance value or %NULL
6391 // <saturation>: return location for the saturation value or %NULL
6392 void to_hls()(/*out*/ float* hue, /*out*/ float* luminance, /*out*/ float* saturation) {
6393 clutter_color_to_hls(&this, hue, luminance, saturation);
6396 // Converts @color into a packed 32 bit integer, containing
6397 // all the four 8 bit channels used by #ClutterColor.
6398 // RETURNS: a packed color
6399 uint to_pixel()() {
6400 return clutter_color_to_pixel(&this);
6403 // VERSION: 0.2
6404 // Returns a textual specification of @color in the hexadecimal form
6405 // <literal>&num;rrggbbaa</literal>, where <literal>r</literal>,
6406 // <literal>g</literal>, <literal>b</literal> and <literal>a</literal> are
6407 // hexadecimal digits representing the red, green, blue and alpha components
6408 // respectively.
6409 // RETURNS: a newly-allocated text string
6410 char* /*new*/ to_string()() {
6411 return clutter_color_to_string(&this);
6414 // VERSION: 0.2
6415 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
6417 // This function can be passed to g_hash_table_new() as the @key_equal_func
6418 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
6419 // RETURNS: %TRUE if the two colors are the same.
6420 // <v1>: a #ClutterColor
6421 // <v2>: a #ClutterColor
6422 static int equal()(const(void)* v1, const(void)* v2) {
6423 return clutter_color_equal(v1, v2);
6426 // VERSION: 1.6
6427 // Retrieves a static color for the given @color name
6429 // Static colors are created by Clutter and are guaranteed to always be
6430 // available and valid
6432 // is owned by Clutter and it should never be modified or freed
6433 // RETURNS: a pointer to a static color; the returned pointer
6434 // <color>: the named global color
6435 static Color* get_static()(StaticColor color) {
6436 return clutter_color_get_static(color);
6439 // VERSION: 1.0
6440 // Converts a #ClutterColor to a hash value.
6442 // This function can be passed to g_hash_table_new() as the @hash_func
6443 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
6444 // RETURNS: a hash value corresponding to the color
6445 // <v>: a #ClutterColor
6446 static uint hash()(const(void)* v) {
6447 return clutter_color_hash(v);
6452 // <structname>ClutterColorizeEffect</structname> is an opaque structure
6453 // whose members cannot be directly accessed
6454 struct ColorizeEffect /* : OffscreenEffect */ /* Version 1.4 */ {
6455 alias method_parent this;
6456 alias method_parent super_;
6457 alias method_parent offscreeneffect;
6458 OffscreenEffect method_parent;
6461 // VERSION: 1.4
6462 // Creates a new #ClutterColorizeEffect to be used with
6463 // clutter_actor_add_effect()
6464 // RETURNS: the newly created #ClutterColorizeEffect or %NULL
6465 // <tint>: the color to be used
6466 static ColorizeEffect* new_()(Color* tint) {
6467 return clutter_colorize_effect_new(tint);
6470 // VERSION: 1.4
6471 // Retrieves the tint used by @effect
6472 // <tint>: return location for the color used
6473 void get_tint()(/*out*/ Color* tint) {
6474 clutter_colorize_effect_get_tint(&this, tint);
6477 // VERSION: 1.4
6478 // Sets the tint to be used when colorizing
6479 // <tint>: the color to be used
6480 void set_tint()(Color* tint) {
6481 clutter_colorize_effect_set_tint(&this, tint);
6485 struct ColorizeEffectClass {
6488 enum int Community = 269025085;
6490 // The <structname>ClutterConstraint</structname> structure contains only
6491 // private data and should be accessed using the provided API
6492 struct Constraint /* : ActorMeta */ /* Version 1.4 */ {
6493 alias parent_instance this;
6494 alias parent_instance super_;
6495 alias parent_instance actormeta;
6496 ActorMeta parent_instance;
6500 // The <structname>ClutterConstraintClass</structname> structure contains
6501 // only private data
6502 struct ConstraintClass /* Version 1.4 */ {
6503 private ActorMetaClass parent_class;
6504 extern (C) void function (Constraint* constraint, Actor* actor, ActorBox* allocation) update_allocation;
6505 extern (C) void function () _clutter_constraint1;
6506 extern (C) void function () _clutter_constraint2;
6507 extern (C) void function () _clutter_constraint3;
6508 extern (C) void function () _clutter_constraint4;
6509 extern (C) void function () _clutter_constraint5;
6510 extern (C) void function () _clutter_constraint6;
6511 extern (C) void function () _clutter_constraint7;
6512 extern (C) void function () _clutter_constraint8;
6516 // #ClutterContainer is an opaque structure whose members cannot be directly
6517 // accessed
6518 struct Container /* Interface */ /* Version 0.4 */ {
6519 mixin template __interface__() {
6520 // VERSION: 0.8
6521 // Looks up the #GParamSpec for a child property of @klass.
6523 // if no such property exist.
6524 // RETURNS: The #GParamSpec for the property or %NULL
6525 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
6526 // <property_name>: a property name.
6527 static GObject2.ParamSpec* class_find_child_property()(GObject2.ObjectClass* klass, char* property_name) {
6528 return clutter_container_class_find_child_property(klass, property_name);
6531 // VERSION: 0.8
6532 // Returns an array of #GParamSpec for all child properties.
6534 // of #GParamSpec<!-- -->s which should be freed after use.
6535 // RETURNS: an array
6536 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
6537 // <n_properties>: return location for length of returned array.
6538 static GObject2.ParamSpec** /*new*/ class_list_child_properties()(GObject2.ObjectClass* klass, /*out*/ uint* n_properties) {
6539 return clutter_container_class_list_child_properties(klass, n_properties);
6542 // Unintrospectable method: add() / clutter_container_add()
6543 // VERSION: 0.4
6544 // Adds a list of #ClutterActor<!-- -->s to @container. Each time and
6545 // actor is added, the "actor-added" signal is emitted. Each actor should
6546 // be parented to @container, which takes a reference on the actor. You
6547 // cannot add a #ClutterActor to more than one #ClutterContainer.
6548 // <first_actor>: the first #ClutterActor to add
6549 /+ Not available -- variadic methods unsupported - use the C function directly.
6550 alias clutter_container_add add; // Variadic
6553 // VERSION: 0.4
6554 // Adds a #ClutterActor to @container. This function will emit the
6555 // "actor-added" signal. The actor should be parented to
6556 // @container. You cannot add a #ClutterActor to more than one
6557 // #ClutterContainer.
6558 // <actor>: the first #ClutterActor to add
6559 void add_actor()(Actor* actor) {
6560 clutter_container_add_actor(cast(Container*)&this, actor);
6563 // Unintrospectable method: add_valist() / clutter_container_add_valist()
6564 // VERSION: 0.4
6565 // Alternative va_list version of clutter_container_add().
6566 // <first_actor>: the first #ClutterActor to add
6567 // <var_args>: list of actors to add, followed by %NULL
6568 void add_valist()(Actor* first_actor, va_list var_args) {
6569 clutter_container_add_valist(cast(Container*)&this, first_actor, var_args);
6572 // Unintrospectable method: child_get() / clutter_container_child_get()
6573 // VERSION: 0.8
6574 // Gets @container specific properties of an actor.
6576 // In general, a copy is made of the property contents and the caller is
6577 // responsible for freeing the memory in the appropriate manner for the type, for
6578 // instance by calling g_free() or g_object_unref().
6579 // <actor>: a #ClutterActor that is a child of @container.
6580 // <first_prop>: name of the first property to be set.
6581 /+ Not available -- variadic methods unsupported - use the C function directly.
6582 alias clutter_container_child_get child_get; // Variadic
6585 // VERSION: 0.8
6586 // Gets a container specific property of a child of @container, In general,
6587 // a copy is made of the property contents and the caller is responsible for
6588 // freeing the memory by calling g_value_unset().
6590 // Note that clutter_container_child_set_property() is really intended for
6591 // language bindings, clutter_container_child_set() is much more convenient
6592 // for C programming.
6593 // <child>: a #ClutterActor that is a child of @container.
6594 // <property>: the name of the property to set.
6595 // <value>: the value.
6596 void child_get_property()(Actor* child, char* property, GObject2.Value* value) {
6597 clutter_container_child_get_property(cast(Container*)&this, child, property, value);
6600 // VERSION: 1.6
6601 // Calls the <function>child_notify()</function> virtual function of
6602 // #ClutterContainer. The default implementation will emit the
6603 // #ClutterContainer::child-notify signal.
6604 // <child>: a #ClutterActor
6605 // <pspec>: a #GParamSpec
6606 void child_notify()(Actor* child, GObject2.ParamSpec* pspec) {
6607 clutter_container_child_notify(cast(Container*)&this, child, pspec);
6610 // Unintrospectable method: child_set() / clutter_container_child_set()
6611 // VERSION: 0.8
6612 // Sets container specific properties on the child of a container.
6613 // <actor>: a #ClutterActor that is a child of @container.
6614 // <first_prop>: name of the first property to be set.
6615 /+ Not available -- variadic methods unsupported - use the C function directly.
6616 alias clutter_container_child_set child_set; // Variadic
6619 // VERSION: 0.8
6620 // Sets a container-specific property on a child of @container.
6621 // <child>: a #ClutterActor that is a child of @container.
6622 // <property>: the name of the property to set.
6623 // <value>: the value.
6624 void child_set_property()(Actor* child, char* property, GObject2.Value* value) {
6625 clutter_container_child_set_property(cast(Container*)&this, child, property, value);
6628 // VERSION: 1.2
6629 // Creates the #ClutterChildMeta wrapping @actor inside the
6630 // @container, if the #ClutterContainerIface::child_meta_type
6631 // class member is not set to %G_TYPE_INVALID.
6633 // This function is only useful when adding a #ClutterActor to
6634 // a #ClutterContainer implementation outside of the
6635 // #ClutterContainer::add() virtual function implementation.
6637 // Applications should not call this function.
6638 // <actor>: a #ClutterActor
6639 void create_child_meta()(Actor* actor) {
6640 clutter_container_create_child_meta(cast(Container*)&this, actor);
6643 // VERSION: 1.2
6644 // Destroys the #ClutterChildMeta wrapping @actor inside the
6645 // @container, if any.
6647 // This function is only useful when removing a #ClutterActor to
6648 // a #ClutterContainer implementation outside of the
6649 // #ClutterContainer::add() virtual function implementation.
6651 // Applications should not call this function.
6652 // <actor>: a #ClutterActor
6653 void destroy_child_meta()(Actor* actor) {
6654 clutter_container_destroy_child_meta(cast(Container*)&this, actor);
6657 // VERSION: 0.6
6658 // Finds a child actor of a container by its name. Search recurses
6659 // into any child container.
6661 // or %NULL if no actor with that name was found.
6662 // RETURNS: The child actor with the requested name,
6663 // <child_name>: the name of the requested child.
6664 Actor* find_child_by_name()(char* child_name) {
6665 return clutter_container_find_child_by_name(cast(Container*)&this, child_name);
6668 // VERSION: 0.4
6669 // Calls @callback for each child of @container that was added
6670 // by the application (with clutter_container_add_actor()). Does
6671 // not iterate over "internal" children that are part of the
6672 // container's own implementation, if any.
6673 // <callback>: a function to be called for each child
6674 // <user_data>: data to be passed to the function, or %NULL
6675 void foreach_()(Callback callback, void* user_data) {
6676 clutter_container_foreach(cast(Container*)&this, callback, user_data);
6679 // VERSION: 1.0
6680 // Calls @callback for each child of @container, including "internal"
6681 // children built in to the container itself that were never added
6682 // by the application.
6683 // <callback>: a function to be called for each child
6684 // <user_data>: data to be passed to the function, or %NULL
6685 void foreach_with_internals()(Callback callback, void* user_data) {
6686 clutter_container_foreach_with_internals(cast(Container*)&this, callback, user_data);
6689 // VERSION: 0.8
6690 // Retrieves the #ClutterChildMeta which contains the data about the
6691 // @container specific state for @actor.
6693 // of @container or %NULL if the specifiec actor does not exist or the
6694 // container is not configured to provide #ClutterChildMeta<!-- -->s
6695 // RETURNS: the #ClutterChildMeta for the @actor child
6696 // <actor>: a #ClutterActor that is a child of @container.
6697 ChildMeta* get_child_meta()(Actor* actor) {
6698 return clutter_container_get_child_meta(cast(Container*)&this, actor);
6701 // VERSION: 0.4
6702 // Retrieves all the children of @container.
6704 // of #ClutterActor<!-- -->s. Use g_list_free() on the returned
6705 // list when done.
6706 // RETURNS: a list
6707 GLib2.List* /*new container*/ get_children()() {
6708 return clutter_container_get_children(cast(Container*)&this);
6711 // VERSION: 0.6
6712 // Lowers @actor to @sibling level, in the depth ordering.
6713 // <actor>: the actor to raise
6714 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
6715 void lower_child()(Actor* actor, Actor* sibling=null) {
6716 clutter_container_lower_child(cast(Container*)&this, actor, sibling);
6719 // VERSION: 0.6
6720 // Raises @actor to @sibling level, in the depth ordering.
6721 // <actor>: the actor to raise
6722 // <sibling>: the sibling to raise to, or %NULL to raise to the top
6723 void raise_child()(Actor* actor, Actor* sibling=null) {
6724 clutter_container_raise_child(cast(Container*)&this, actor, sibling);
6727 // Unintrospectable method: remove() / clutter_container_remove()
6728 // VERSION: 0.4
6729 // Removes a %NULL terminated list of #ClutterActor<!-- -->s from
6730 // @container. Each actor should be unparented, so if you want to keep it
6731 // around you must hold a reference to it yourself, using g_object_ref().
6732 // Each time an actor is removed, the "actor-removed" signal is
6733 // emitted by @container.
6734 // <first_actor>: first #ClutterActor to remove
6735 /+ Not available -- variadic methods unsupported - use the C function directly.
6736 alias clutter_container_remove remove; // Variadic
6739 // VERSION: 0.4
6740 // Removes @actor from @container. The actor should be unparented, so
6741 // if you want to keep it around you must hold a reference to it
6742 // yourself, using g_object_ref(). When the actor has been removed,
6743 // the "actor-removed" signal is emitted by @container.
6744 // <actor>: a #ClutterActor
6745 void remove_actor()(Actor* actor) {
6746 clutter_container_remove_actor(cast(Container*)&this, actor);
6749 // Unintrospectable method: remove_valist() / clutter_container_remove_valist()
6750 // VERSION: 0.4
6751 // Alternative va_list version of clutter_container_remove().
6752 // <first_actor>: the first #ClutterActor to add
6753 // <var_args>: list of actors to remove, followed by %NULL
6754 void remove_valist()(Actor* first_actor, va_list var_args) {
6755 clutter_container_remove_valist(cast(Container*)&this, first_actor, var_args);
6758 // VERSION: 0.6
6759 // Sorts a container's children using their depth. This function should not
6760 // be normally used by applications.
6761 void sort_depth_order()() {
6762 clutter_container_sort_depth_order(cast(Container*)&this);
6765 // VERSION: 0.4
6766 // The ::actor-added signal is emitted each time an actor
6767 // has been added to @container.
6768 // <actor>: the new child that has been added to @container
6769 extern (C) alias static void function (Container* this_, Actor* actor, void* user_data=null) signal_actor_added;
6771 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6772 return super_.signal_connect!name(cb, data, cf);
6775 ulong signal_connect(string name:"actor-added", CB:signal_actor_added)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6776 return signal_connect_data!()(&this, cast(char*)"actor-added",
6777 cast(GObject2.Callback)cb, data, null, cf);
6780 // VERSION: 0.4
6781 // The ::actor-removed signal is emitted each time an actor
6782 // is removed from @container.
6783 // <actor>: the child that has been removed from @container
6784 extern (C) alias static void function (Container* this_, Actor* actor, void* user_data=null) signal_actor_removed;
6785 ulong signal_connect(string name:"actor-removed", CB:signal_actor_removed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6786 return signal_connect_data!()(&this, cast(char*)"actor-removed",
6787 cast(GObject2.Callback)cb, data, null, cf);
6790 // VERSION: 0.8
6791 // The ::child-notify signal is emitted each time a property is
6792 // being set through the clutter_container_child_set() and
6793 // clutter_container_child_set_property() calls.
6794 // <actor>: the child that has had a property set
6795 // <pspec>: the #GParamSpec of the property set
6796 extern (C) alias static void function (Container* this_, Actor* actor, GObject2.ParamSpec* pspec, void* user_data=null) signal_child_notify;
6797 ulong signal_connect(string name:"child-notify", CB:signal_child_notify)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6798 return signal_connect_data!()(&this, cast(char*)"child-notify",
6799 cast(GObject2.Callback)cb, data, null, cf);
6802 mixin __interface__;
6806 // Base interface for container actors. The @add, @remove and @foreach
6807 // virtual functions must be provided by any implementation; the other
6808 // virtual functions are optional.
6809 struct ContainerIface /* Version 0.4 */ {
6810 private GObject2.TypeInterface g_iface;
6811 // <actor>: the first #ClutterActor to add
6812 extern (C) void function (Container* container, Actor* actor) add;
6813 // <actor>: a #ClutterActor
6814 extern (C) void function (Container* container, Actor* actor) remove;
6816 // <callback>: a function to be called for each child
6817 // <user_data>: data to be passed to the function, or %NULL
6818 extern (C) void function (Container* container, Callback callback, void* user_data) foreach_;
6820 // <callback>: a function to be called for each child
6821 // <user_data>: data to be passed to the function, or %NULL
6822 extern (C) void function (Container* container, Callback callback, void* user_data) foreach_with_internals;
6824 // <actor>: the actor to raise
6825 // <sibling>: the sibling to raise to, or %NULL to raise to the top
6826 extern (C) void function (Container* container, Actor* actor, Actor* sibling=null) raise;
6828 // <actor>: the actor to raise
6829 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
6830 extern (C) void function (Container* container, Actor* actor, Actor* sibling=null) lower;
6831 extern (C) void function (Container* container) sort_depth_order;
6832 Type child_meta_type;
6833 // <actor>: a #ClutterActor
6834 extern (C) void function (Container* container, Actor* actor) create_child_meta;
6835 // <actor>: a #ClutterActor
6836 extern (C) void function (Container* container, Actor* actor) destroy_child_meta;
6838 // RETURNS: the #ClutterChildMeta for the @actor child
6839 // <actor>: a #ClutterActor that is a child of @container.
6840 extern (C) ChildMeta* function (Container* container, Actor* actor) get_child_meta;
6841 extern (C) void function (Container* container, Actor* actor) actor_added;
6842 extern (C) void function (Container* container, Actor* actor) actor_removed;
6844 // <child>: a #ClutterActor
6845 // <pspec>: a #GParamSpec
6846 extern (C) void function (Container* container, Actor* child, GObject2.ParamSpec* pspec) child_notify;
6849 enum int ContrastAdjust = 269025058;
6850 enum int Control_L = 65507;
6851 enum int Control_R = 65508;
6852 enum int Copy = 269025111;
6853 // Event for the movement of the pointer across different actors
6854 struct CrossingEvent /* Version 0.2 */ {
6855 EventType type;
6856 uint time;
6857 EventFlags flags;
6858 Stage* stage;
6859 Actor* source;
6860 float x, y;
6861 InputDevice* device;
6862 Actor* related;
6865 enum int CruzeiroSign = 16785570;
6866 enum int Cut = 269025112;
6867 enum int CycleAngle = 269025180;
6868 enum int Cyrillic_A = 1761;
6869 enum int Cyrillic_BE = 1762;
6870 enum int Cyrillic_CHE = 1790;
6871 enum int Cyrillic_CHE_descender = 16778422;
6872 enum int Cyrillic_CHE_vertstroke = 16778424;
6873 enum int Cyrillic_DE = 1764;
6874 enum int Cyrillic_DZHE = 1727;
6875 enum int Cyrillic_E = 1788;
6876 enum int Cyrillic_EF = 1766;
6877 enum int Cyrillic_EL = 1772;
6878 enum int Cyrillic_EM = 1773;
6879 enum int Cyrillic_EN = 1774;
6880 enum int Cyrillic_EN_descender = 16778402;
6881 enum int Cyrillic_ER = 1778;
6882 enum int Cyrillic_ES = 1779;
6883 enum int Cyrillic_GHE = 1767;
6884 enum int Cyrillic_GHE_bar = 16778386;
6885 enum int Cyrillic_HA = 1768;
6886 enum int Cyrillic_HARDSIGN = 1791;
6887 enum int Cyrillic_HA_descender = 16778418;
6888 enum int Cyrillic_I = 1769;
6889 enum int Cyrillic_IE = 1765;
6890 enum int Cyrillic_IO = 1715;
6891 enum int Cyrillic_I_macron = 16778466;
6892 enum int Cyrillic_JE = 1720;
6893 enum int Cyrillic_KA = 1771;
6894 enum int Cyrillic_KA_descender = 16778394;
6895 enum int Cyrillic_KA_vertstroke = 16778396;
6896 enum int Cyrillic_LJE = 1721;
6897 enum int Cyrillic_NJE = 1722;
6898 enum int Cyrillic_O = 1775;
6899 enum int Cyrillic_O_bar = 16778472;
6900 enum int Cyrillic_PE = 1776;
6901 enum int Cyrillic_SCHWA = 16778456;
6902 enum int Cyrillic_SHA = 1787;
6903 enum int Cyrillic_SHCHA = 1789;
6904 enum int Cyrillic_SHHA = 16778426;
6905 enum int Cyrillic_SHORTI = 1770;
6906 enum int Cyrillic_SOFTSIGN = 1784;
6907 enum int Cyrillic_TE = 1780;
6908 enum int Cyrillic_TSE = 1763;
6909 enum int Cyrillic_U = 1781;
6910 enum int Cyrillic_U_macron = 16778478;
6911 enum int Cyrillic_U_straight = 16778414;
6912 enum int Cyrillic_U_straight_bar = 16778416;
6913 enum int Cyrillic_VE = 1783;
6914 enum int Cyrillic_YA = 1777;
6915 enum int Cyrillic_YERU = 1785;
6916 enum int Cyrillic_YU = 1760;
6917 enum int Cyrillic_ZE = 1786;
6918 enum int Cyrillic_ZHE = 1782;
6919 enum int Cyrillic_ZHE_descender = 16778390;
6920 enum int Cyrillic_a = 1729;
6921 enum int Cyrillic_be = 1730;
6922 enum int Cyrillic_che = 1758;
6923 enum int Cyrillic_che_descender = 16778423;
6924 enum int Cyrillic_che_vertstroke = 16778425;
6925 enum int Cyrillic_de = 1732;
6926 enum int Cyrillic_dzhe = 1711;
6927 enum int Cyrillic_e = 1756;
6928 enum int Cyrillic_ef = 1734;
6929 enum int Cyrillic_el = 1740;
6930 enum int Cyrillic_em = 1741;
6931 enum int Cyrillic_en = 1742;
6932 enum int Cyrillic_en_descender = 16778403;
6933 enum int Cyrillic_er = 1746;
6934 enum int Cyrillic_es = 1747;
6935 enum int Cyrillic_ghe = 1735;
6936 enum int Cyrillic_ghe_bar = 16778387;
6937 enum int Cyrillic_ha = 1736;
6938 enum int Cyrillic_ha_descender = 16778419;
6939 enum int Cyrillic_hardsign = 1759;
6940 enum int Cyrillic_i = 1737;
6941 enum int Cyrillic_i_macron = 16778467;
6942 enum int Cyrillic_ie = 1733;
6943 enum int Cyrillic_io = 1699;
6944 enum int Cyrillic_je = 1704;
6945 enum int Cyrillic_ka = 1739;
6946 enum int Cyrillic_ka_descender = 16778395;
6947 enum int Cyrillic_ka_vertstroke = 16778397;
6948 enum int Cyrillic_lje = 1705;
6949 enum int Cyrillic_nje = 1706;
6950 enum int Cyrillic_o = 1743;
6951 enum int Cyrillic_o_bar = 16778473;
6952 enum int Cyrillic_pe = 1744;
6953 enum int Cyrillic_schwa = 16778457;
6954 enum int Cyrillic_sha = 1755;
6955 enum int Cyrillic_shcha = 1757;
6956 enum int Cyrillic_shha = 16778427;
6957 enum int Cyrillic_shorti = 1738;
6958 enum int Cyrillic_softsign = 1752;
6959 enum int Cyrillic_te = 1748;
6960 enum int Cyrillic_tse = 1731;
6961 enum int Cyrillic_u = 1749;
6962 enum int Cyrillic_u_macron = 16778479;
6963 enum int Cyrillic_u_straight = 16778415;
6964 enum int Cyrillic_u_straight_bar = 16778417;
6965 enum int Cyrillic_ve = 1751;
6966 enum int Cyrillic_ya = 1745;
6967 enum int Cyrillic_yeru = 1753;
6968 enum int Cyrillic_yu = 1728;
6969 enum int Cyrillic_ze = 1754;
6970 enum int Cyrillic_zhe = 1750;
6971 enum int Cyrillic_zhe_descender = 16778391;
6972 enum int D = 68;
6973 enum int DOS = 269025114;
6974 enum int Dabovedot = 16784906;
6975 enum int Dcaron = 463;
6977 // The <structname>ClutterDeformEffect</structname> structure contains
6978 // only private data and should be accessed using the provided API
6979 struct DeformEffect /* : OffscreenEffect */ /* Version 1.4 */ {
6980 alias parent_instance this;
6981 alias parent_instance super_;
6982 alias parent_instance offscreeneffect;
6983 OffscreenEffect parent_instance;
6984 private DeformEffectPrivate* priv;
6987 // VERSION: 1.4
6988 // Retrieves the handle to the back face material used by @effect
6990 // The returned material is owned by the #ClutterDeformEffect and it
6991 // should not be freed directly
6992 // RETURNS: a handle for the material, or %NULL.
6993 Cogl.Handle get_back_material()() {
6994 return clutter_deform_effect_get_back_material(&this);
6997 // VERSION: 1.4
6998 // Retrieves the number of horizontal and vertical tiles used to sub-divide
6999 // the actor's geometry during the effect
7000 // <x_tiles>: return location for the number of horizontal tiles, or %NULL
7001 // <y_tiles>: return location for the number of vertical tiles, or %NULL
7002 void get_n_tiles()(/*out*/ uint* x_tiles, /*out*/ uint* y_tiles) {
7003 clutter_deform_effect_get_n_tiles(&this, x_tiles, y_tiles);
7006 // VERSION: 1.4
7007 // Invalidates the @effect<!-- -->'s vertices and, if it is associated
7008 // to an actor, it will queue a redraw
7009 void invalidate()() {
7010 clutter_deform_effect_invalidate(&this);
7013 // VERSION: 1.4
7014 // Sets the material that should be used when drawing the back face
7015 // of the actor during a deformation
7017 // The #ClutterDeformEffect will take a reference on the material's
7018 // handle
7019 // <material>: a handle to a Cogl material
7020 void set_back_material()(Cogl.Handle material=null) {
7021 clutter_deform_effect_set_back_material(&this, material);
7024 // VERSION: 1.4
7025 // Sets the number of horizontal and vertical tiles to be used
7026 // when applying the effect
7028 // More tiles allow a finer grained deformation at the expenses
7029 // of computation
7030 // <x_tiles>: number of horizontal tiles
7031 // <y_tiles>: number of vertical tiles
7032 void set_n_tiles()(uint x_tiles, uint y_tiles) {
7033 clutter_deform_effect_set_n_tiles(&this, x_tiles, y_tiles);
7038 // The <structname>ClutterDeformEffectClass</structname> structure contains
7039 // only private data
7040 struct DeformEffectClass /* Version 1.4 */ {
7041 private OffscreenEffectClass parent_class;
7042 extern (C) void function (DeformEffect* effect, float width, float height, Cogl.TextureVertex* vertex) deform_vertex;
7043 extern (C) void function () _clutter_deform1;
7044 extern (C) void function () _clutter_deform2;
7045 extern (C) void function () _clutter_deform3;
7046 extern (C) void function () _clutter_deform4;
7047 extern (C) void function () _clutter_deform5;
7048 extern (C) void function () _clutter_deform6;
7049 extern (C) void function () _clutter_deform7;
7052 struct DeformEffectPrivate {
7055 enum int Delete = 65535;
7057 // <structname>ClutterDesaturateEffect</structname> is an opaque structure
7058 // whose members cannot be directly accessed
7059 struct DesaturateEffect /* : OffscreenEffect */ /* Version 1.4 */ {
7060 alias method_parent this;
7061 alias method_parent super_;
7062 alias method_parent offscreeneffect;
7063 OffscreenEffect method_parent;
7066 // VERSION: 1.4
7067 // Creates a new #ClutterDesaturateEffect to be used with
7068 // clutter_actor_add_effect()
7069 // RETURNS: the newly created #ClutterDesaturateEffect or %NULL
7070 // <factor>: the desaturation factor, between 0.0 and 1.0
7071 static DesaturateEffect* new_()(double factor) {
7072 return clutter_desaturate_effect_new(factor);
7075 // VERSION: 1.4
7076 // Retrieves the desaturation factor of @effect
7077 // RETURNS: the desaturation factor
7078 double get_factor()() {
7079 return clutter_desaturate_effect_get_factor(&this);
7082 // VERSION: 1.4
7083 // Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
7084 // and 1.0 being "fully desaturate"
7085 // <factor>: the desaturation factor, between 0.0 and 1.0
7086 void set_factor()(double factor) {
7087 clutter_desaturate_effect_set_factor(&this, factor);
7091 struct DesaturateEffectClass {
7094 // The #ClutterDeviceManager structure contains only private data
7095 struct DeviceManager /* : GObject.Object */ /* Version 1.2 */ {
7096 alias parent_instance this;
7097 alias parent_instance super_;
7098 alias parent_instance object;
7099 GObject2.Object parent_instance;
7100 private DeviceManagerPrivate* priv;
7103 // VERSION: 1.2
7104 // Retrieves the device manager singleton
7106 // The returned instance is owned by Clutter and it should not be
7107 // modified or freed
7108 // RETURNS: the #ClutterDeviceManager singleton.
7109 static DeviceManager* get_default()() {
7110 return clutter_device_manager_get_default();
7113 // VERSION: 1.2
7114 // Retrieves the core #ClutterInputDevice of type @device_type
7116 // Core devices are devices created automatically by the default
7117 // Clutter backend
7119 // returned device is owned by the #ClutterDeviceManager and should
7120 // not be modified or freed
7121 // RETURNS: a #ClutterInputDevice or %NULL. The
7122 // <device_type>: the type of the core device
7123 InputDevice* get_core_device()(InputDeviceType device_type) {
7124 return clutter_device_manager_get_core_device(&this, device_type);
7127 // VERSION: 1.2
7128 // Retrieves the #ClutterInputDevice with the given @device_id
7130 // returned device is owned by the #ClutterDeviceManager and should
7131 // never be modified or freed
7132 // RETURNS: a #ClutterInputDevice or %NULL. The
7133 // <device_id>: the integer id of a device
7134 InputDevice* get_device()(int device_id) {
7135 return clutter_device_manager_get_device(&this, device_id);
7138 // VERSION: 1.2
7139 // Lists all currently registered input devices
7141 // a newly allocated list of #ClutterInputDevice objects. Use
7142 // g_slist_free() to deallocate it when done
7143 GLib2.SList* /*new container*/ list_devices()() {
7144 return clutter_device_manager_list_devices(&this);
7147 // VERSION: 1.2
7148 // Lists all currently registered input devices
7150 // a pointer to the internal list of #ClutterInputDevice objects. The
7151 // returned list is owned by the #ClutterDeviceManager and should never
7152 // be modified or freed
7153 GLib2.SList* peek_devices()() {
7154 return clutter_device_manager_peek_devices(&this);
7157 // VERSION: 1.2
7158 // The ::device-added signal is emitted each time a device has been
7159 // added to the #ClutterDeviceManager
7160 // <device>: the newly added #ClutterInputDevice
7161 extern (C) alias static void function (DeviceManager* this_, InputDevice* device, void* user_data=null) signal_device_added;
7163 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7164 return super_.signal_connect!name(cb, data, cf);
7167 ulong signal_connect(string name:"device-added", CB:signal_device_added)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7168 return signal_connect_data!()(&this, cast(char*)"device-added",
7169 cast(GObject2.Callback)cb, data, null, cf);
7172 // VERSION: 1.2
7173 // The ::device-removed signal is emitted each time a device has been
7174 // removed from the #ClutterDeviceManager
7175 // <device>: the removed #ClutterInputDevice
7176 extern (C) alias static void function (DeviceManager* this_, InputDevice* device, void* user_data=null) signal_device_removed;
7177 ulong signal_connect(string name:"device-removed", CB:signal_device_removed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7178 return signal_connect_data!()(&this, cast(char*)"device-removed",
7179 cast(GObject2.Callback)cb, data, null, cf);
7183 // The #ClutterDeviceManagerClass structure contains only private data
7184 struct DeviceManagerClass /* Version 1.2 */ {
7185 private GObject2.ObjectClass parent_class;
7186 // Unintrospectable functionp: get_devices() / ()
7187 extern (C) GLib2.SList* function (DeviceManager* device_manager) get_devices;
7189 // RETURNS: a #ClutterInputDevice or %NULL. The
7190 // <device_type>: the type of the core device
7191 extern (C) InputDevice* function (DeviceManager* device_manager, InputDeviceType device_type) get_core_device;
7193 // RETURNS: a #ClutterInputDevice or %NULL. The
7194 // <device_id>: the integer id of a device
7195 extern (C) InputDevice* function (DeviceManager* device_manager, int device_id) get_device;
7196 extern (C) void function (DeviceManager* manager, InputDevice* device) add_device;
7197 extern (C) void function (DeviceManager* manager, InputDevice* device) remove_device;
7198 private void*[8] _padding;
7201 struct DeviceManagerPrivate {
7204 enum int Display = 269025113;
7205 enum int Documents = 269025115;
7206 enum int DongSign = 16785579;
7207 enum int Down = 65364;
7209 // The <structname>ClutterDragAction</structname> structure contains only
7210 // private data and should be accessed using the provided API
7211 struct DragAction /* : Action */ /* Version 1.4 */ {
7212 alias parent_instance this;
7213 alias parent_instance super_;
7214 alias parent_instance action;
7215 Action parent_instance;
7216 private DragActionPrivate* priv;
7219 // VERSION: 1.4
7220 // Creates a new #ClutterDragAction instance
7221 // RETURNS: the newly created #ClutterDragAction
7222 static DragAction* new_()() {
7223 return clutter_drag_action_new();
7226 // VERSION: 1.4
7227 // Retrieves the axis constraint set by clutter_drag_action_set_drag_axis()
7228 // RETURNS: the axis constraint
7229 DragAxis get_drag_axis()() {
7230 return clutter_drag_action_get_drag_axis(&this);
7233 // VERSION: 1.4
7234 // Retrieves the drag handle set by clutter_drag_action_set_drag_handle()
7236 // handle, or %NULL if none was set
7237 // RETURNS: a #ClutterActor, used as the drag
7238 Actor* get_drag_handle()() {
7239 return clutter_drag_action_get_drag_handle(&this);
7242 // VERSION: 1.4
7243 // Retrieves the values set by clutter_drag_action_set_drag_threshold().
7245 // If the #ClutterDragAction:x-drag-threshold property or the
7246 // #ClutterDragAction:y-drag-threshold property have been set to -1 then
7247 // this function will return the default drag threshold value as stored
7248 // by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
7249 // <x_threshold>: return location for the horizontal drag threshold value, in pixels
7250 // <y_threshold>: return location for the vertical drag threshold value, in pixels
7251 void get_drag_threshold()(/*out*/ uint* x_threshold, /*out*/ uint* y_threshold) {
7252 clutter_drag_action_get_drag_threshold(&this, x_threshold, y_threshold);
7255 // VERSION: 1.4
7256 // Retrieves the coordinates, in stage space, of the latest motion
7257 // event during the dragging
7258 // <motion_x>: return location for the latest motion event's X coordinate
7259 // <motion_y>: return location for the latest motion event's Y coordinate
7260 void get_motion_coords()(/*out*/ float* motion_x, /*out*/ float* motion_y) {
7261 clutter_drag_action_get_motion_coords(&this, motion_x, motion_y);
7264 // VERSION: 1.4
7265 // Retrieves the coordinates, in stage space, of the press event
7266 // that started the dragging
7267 // <press_x>: return location for the press event's X coordinate
7268 // <press_y>: return location for the press event's Y coordinate
7269 void get_press_coords()(/*out*/ float* press_x, /*out*/ float* press_y) {
7270 clutter_drag_action_get_press_coords(&this, press_x, press_y);
7273 // VERSION: 1.4
7274 // Restricts the dragging action to a specific axis
7275 // <axis>: the axis to constraint the dragging to
7276 void set_drag_axis()(DragAxis axis) {
7277 clutter_drag_action_set_drag_axis(&this, axis);
7280 // VERSION: 1.4
7281 // Sets the actor to be used as the drag handle.
7282 // <handle>: a #ClutterActor, or %NULL to unset
7283 void set_drag_handle()(Actor* handle=null) {
7284 clutter_drag_action_set_drag_handle(&this, handle);
7287 // VERSION: 1.4
7288 // Sets the horizontal and vertical drag thresholds that must be
7289 // cleared by the pointer before @action can begin the dragging.
7291 // If @x_threshold or @y_threshold are set to -1 then the default
7292 // drag threshold stored in the #ClutterSettings:dnd-drag-threshold
7293 // property of #ClutterSettings will be used.
7294 // <x_threshold>: a distance on the horizontal axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
7295 // <y_threshold>: a distance on the vertical axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
7296 void set_drag_threshold()(int x_threshold, int y_threshold) {
7297 clutter_drag_action_set_drag_threshold(&this, x_threshold, y_threshold);
7300 // VERSION: 1.4
7301 // The ::drag-begin signal is emitted when the #ClutterDragAction
7302 // starts the dragging
7304 // The emission of this signal can be delayed by using the
7305 // #ClutterDragAction:x-drag-threshold and
7306 // #ClutterDragAction:y-drag-threshold properties
7307 // <actor>: the #ClutterActor attached to the action
7308 // <event_x>: the X coordinate (in stage space) of the press event
7309 // <event_y>: the Y coordinate (in stage space) of the press event
7310 // <modifiers>: the modifiers of the press event
7311 extern (C) alias static void function (DragAction* this_, Actor* actor, float event_x, float event_y, ModifierType* modifiers, void* user_data=null) signal_drag_begin;
7313 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7314 return super_.signal_connect!name(cb, data, cf);
7317 ulong signal_connect(string name:"drag-begin", CB:signal_drag_begin)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7318 return signal_connect_data!()(&this, cast(char*)"drag-begin",
7319 cast(GObject2.Callback)cb, data, null, cf);
7322 // VERSION: 1.4
7323 // The ::drag-end signal is emitted at the end of the dragging,
7324 // when the pointer button's is released
7326 // This signal is emitted if and only if the #ClutterDragAction::drag-begin
7327 // signal has been emitted first
7328 // <actor>: the #ClutterActor attached to the action
7329 // <event_x>: the X coordinate (in stage space) of the release event
7330 // <event_y>: the Y coordinate (in stage space) of the release event
7331 // <modifiers>: the modifiers of the release event
7332 extern (C) alias static void function (DragAction* this_, Actor* actor, float event_x, float event_y, ModifierType* modifiers, void* user_data=null) signal_drag_end;
7333 ulong signal_connect(string name:"drag-end", CB:signal_drag_end)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7334 return signal_connect_data!()(&this, cast(char*)"drag-end",
7335 cast(GObject2.Callback)cb, data, null, cf);
7338 // VERSION: 1.4
7339 // The ::drag-motion signal is emitted for each motion event after
7340 // the #ClutterDragAction::drag-begin signal has been emitted.
7342 // The components of the distance between the press event and the
7343 // latest motion event are computed in the actor's coordinate space,
7344 // to take into account eventual transformations. If you want the
7345 // stage coordinates of the latest motion event you can use
7346 // clutter_drag_action_get_motion_coords().
7348 // The default handler of the signal will call clutter_actor_move_by()
7349 // either on @actor or, if set, of #ClutterDragAction:drag-handle using
7350 // the @delta_x and @delta_y components of the dragging motion. If you
7351 // want to override the default behaviour, you can connect to this
7352 // signal and call g_signal_stop_emission_by_name() from within your
7353 // callback.
7354 // <actor>: the #ClutterActor attached to the action
7355 // <delta_x>: the X component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
7356 // <delta_y>: the Y component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
7357 extern (C) alias static void function (DragAction* this_, Actor* actor, float delta_x, float delta_y, void* user_data=null) signal_drag_motion;
7358 ulong signal_connect(string name:"drag-motion", CB:signal_drag_motion)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7359 return signal_connect_data!()(&this, cast(char*)"drag-motion",
7360 cast(GObject2.Callback)cb, data, null, cf);
7365 // The <structname>ClutterDragActionClass</structname> structure contains
7366 // only private data
7367 struct DragActionClass /* Version 1.4 */ {
7368 private ActionClass parent_class;
7369 extern (C) void function (DragAction* action, Actor* actor, float event_x, float event_y, ModifierType modifiers) drag_begin;
7370 extern (C) void function (DragAction* action, Actor* actor, float delta_x, float delta_y) drag_motion;
7371 extern (C) void function (DragAction* action, Actor* actor, float event_x, float event_y, ModifierType modifiers) drag_end;
7372 extern (C) void function () _clutter_drag_action1;
7373 extern (C) void function () _clutter_drag_action2;
7374 extern (C) void function () _clutter_drag_action3;
7375 extern (C) void function () _clutter_drag_action4;
7376 extern (C) void function () _clutter_drag_action5;
7379 struct DragActionPrivate {
7383 // The axis of the constraint that should be applied on the
7384 // dragging action
7385 enum DragAxis /* Version 1.4 */ {
7386 AXIS_NONE = 0,
7387 X_AXIS = 1,
7388 Y_AXIS = 2
7391 // The <structname>ClutterDropAction</structname> structure contains only
7392 // private data and should be accessed using the provided API.
7393 struct DropAction /* : Action */ /* Version 1.8 */ {
7394 alias parent_instance this;
7395 alias parent_instance super_;
7396 alias parent_instance action;
7397 Action parent_instance;
7398 private DropActionPrivate* priv;
7401 // VERSION: 1.8
7402 // Creates a new #ClutterDropAction.
7404 // Use clutter_actor_add_action() to add the action to a #ClutterActor.
7405 // RETURNS: the newly created #ClutterDropAction
7406 static DropAction* new_()() {
7407 return clutter_drop_action_new();
7410 // VERSION: 1.8
7411 // The ::can-drop signal is emitted when the dragged actor is dropped
7412 // on @actor. The return value of the ::can-drop signal will determine
7413 // whether or not the #ClutterDropAction::drop signal is going to be
7414 // emitted on @action.
7416 // The default implementation of #ClutterDropAction returns %TRUE for
7417 // this signal.
7418 // RETURNS: %TRUE if the drop is accepted, and %FALSE otherwise
7419 // <actor>: the #ClutterActor attached to the @action
7420 // <returns>: %TRUE if the drop is accepted, and %FALSE otherwise
7421 extern (C) alias static c_int function (DropAction* this_, Actor* actor, float returns, float since, void* user_data=null) signal_can_drop;
7423 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7424 return super_.signal_connect!name(cb, data, cf);
7427 ulong signal_connect(string name:"can-drop", CB:signal_can_drop)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7428 return signal_connect_data!()(&this, cast(char*)"can-drop",
7429 cast(GObject2.Callback)cb, data, null, cf);
7432 // VERSION: 1.8
7433 // The ::drop signal is emitted when the dragged actor is dropped
7434 // on @actor. This signal is only emitted if at least an handler of
7435 // #ClutterDropAction::can-drop returns %TRUE.
7436 extern (C) alias static void function (DropAction* this_, Actor* object, float p0, float p1, void* user_data=null) signal_drop;
7437 ulong signal_connect(string name:"drop", CB:signal_drop)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7438 return signal_connect_data!()(&this, cast(char*)"drop",
7439 cast(GObject2.Callback)cb, data, null, cf);
7442 // VERSION: 1.8
7443 // The ::over-in signal is emitted when the dragged actor crosses
7444 // into @actor.
7445 // <actor>: the #ClutterActor attached to the @action
7446 extern (C) alias static void function (DropAction* this_, Actor* actor, void* user_data=null) signal_over_in;
7447 ulong signal_connect(string name:"over-in", CB:signal_over_in)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7448 return signal_connect_data!()(&this, cast(char*)"over-in",
7449 cast(GObject2.Callback)cb, data, null, cf);
7452 // VERSION: 1.8
7453 // The ::over-out signal is emitted when the dragged actor crosses
7454 // outside @actor.
7455 // <actor>: the #ClutterActor attached to the @action
7456 extern (C) alias static void function (DropAction* this_, Actor* actor, void* user_data=null) signal_over_out;
7457 ulong signal_connect(string name:"over-out", CB:signal_over_out)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7458 return signal_connect_data!()(&this, cast(char*)"over-out",
7459 cast(GObject2.Callback)cb, data, null, cf);
7464 // The <structname>ClutterDropActionClass</structname> structure contains
7465 // only private data.
7466 struct DropActionClass /* Version 1.8 */ {
7467 private ActionClass parent_class;
7468 extern (C) int function (DropAction* action, Actor* actor, float event_x, float event_y) can_drop;
7469 extern (C) void function (DropAction* action, Actor* actor) over_in;
7470 extern (C) void function (DropAction* action, Actor* actor) over_out;
7471 extern (C) void function (DropAction* action, Actor* actor, float event_x, float event_y) drop;
7472 extern (C) void function () _clutter_drop_action1;
7473 extern (C) void function () _clutter_drop_action2;
7474 extern (C) void function () _clutter_drop_action3;
7475 extern (C) void function () _clutter_drop_action4;
7476 extern (C) void function () _clutter_drop_action5;
7477 extern (C) void function () _clutter_drop_action6;
7478 extern (C) void function () _clutter_drop_action7;
7479 extern (C) void function () _clutter_drop_action8;
7482 struct DropActionPrivate {
7485 enum int Dstroke = 464;
7486 enum int E = 69;
7487 enum int ENG = 957;
7488 enum int ETH = 208;
7489 enum int Eabovedot = 972;
7490 enum int Eacute = 201;
7491 enum int Ebelowdot = 16785080;
7492 enum int Ecaron = 460;
7493 enum int Ecircumflex = 202;
7494 enum int Ecircumflexacute = 16785086;
7495 enum int Ecircumflexbelowdot = 16785094;
7496 enum int Ecircumflexgrave = 16785088;
7497 enum int Ecircumflexhook = 16785090;
7498 enum int Ecircumflextilde = 16785092;
7499 enum int EcuSign = 16785568;
7500 enum int Ediaeresis = 203;
7502 // The #ClutterEffect structure contains only private data and should
7503 // be accessed using the provided API
7504 struct Effect /* : ActorMeta */ /* Version 1.4 */ {
7505 alias parent_instance this;
7506 alias parent_instance super_;
7507 alias parent_instance actormeta;
7508 ActorMeta parent_instance;
7511 // VERSION: 1.8
7512 // Queues a repaint of the effect. The effect can detect when the ‘paint’
7513 // method is called as a result of this function because it will not
7514 // have the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag set. In that case the
7515 // effect is free to assume that the actor has not changed its
7516 // appearance since the last time it was painted so it doesn't need to
7517 // call clutter_actor_continue_paint() if it can draw a cached
7518 // image. This is mostly intended for effects that are using a
7519 // %CoglOffscreen to redirect the actor (such as
7520 // %ClutterOffscreenEffect). In that case the effect can save a bit of
7521 // rendering time by painting the cached texture without causing the
7522 // entire actor to be painted.
7524 // This function can be used by effects that have their own animatable
7525 // parameters. For example, an effect which adds a varying degree of a
7526 // red tint to an actor by redirecting it through a CoglOffscreen
7527 // might have a property to specify the level of tint. When this value
7528 // changes, the underlying actor doesn't need to be redrawn so the
7529 // effect can call clutter_effect_queue_repaint() to make sure the
7530 // effect is repainted.
7532 // Note however that modifying the position of the parent of an actor
7533 // may change the appearance of the actor because its transformation
7534 // matrix would change. In this case a redraw wouldn't be queued on
7535 // the actor itself so the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY would still
7536 // not be set. The effect can detect this case by keeping track of the
7537 // last modelview matrix that was used to render the actor and
7538 // veryifying that it remains the same in the next paint.
7540 // Any other effects that are layered on top of the passed in effect
7541 // will still be passed the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag. If
7542 // anything queues a redraw on the actor without specifying an effect
7543 // or with an effect that is lower in the chain of effects than this
7544 // one then that will override this call. In that case this effect
7545 // will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
7546 // flag set.
7547 void queue_repaint()() {
7548 clutter_effect_queue_repaint(&this);
7552 // The #ClutterEffectClass structure contains only private data
7553 struct EffectClass /* Version 1.4 */ {
7554 private ActorMetaClass parent_class;
7555 extern (C) int function (Effect* effect) pre_paint;
7556 extern (C) void function (Effect* effect) post_paint;
7557 extern (C) int function (Effect* effect, PaintVolume* volume) get_paint_volume;
7558 extern (C) void function (Effect* effect, EffectPaintFlags flags) paint;
7559 extern (C) void function (Effect* effect, EffectPaintFlags flags) pick;
7560 extern (C) void function () _clutter_effect4;
7561 extern (C) void function () _clutter_effect5;
7562 extern (C) void function () _clutter_effect6;
7565 // Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.
7566 enum EffectPaintFlags {
7567 ACTOR_DIRTY = 1
7569 enum int Egrave = 200;
7570 enum int Ehook = 16785082;
7571 enum int Eisu_Shift = 65327;
7572 enum int Eisu_toggle = 65328;
7573 enum int Eject = 269025068;
7574 enum int Emacron = 938;
7575 enum int End = 65367;
7576 enum int Eogonek = 458;
7577 enum int Escape = 65307;
7578 enum int Eth = 208;
7579 enum int Etilde = 16785084;
7580 enum int EuroSign = 8364;
7581 // Generic event wrapper.
7582 union Event /* Version 0.2 */ {
7583 private EventType type_;
7584 private AnyEvent any;
7585 private ButtonEvent button;
7586 private KeyEvent key;
7587 private MotionEvent motion;
7588 private ScrollEvent scroll;
7589 private StageStateEvent stage_state;
7590 private CrossingEvent crossing;
7593 // Creates a new #ClutterEvent of the specified type.
7594 // RETURNS: A newly allocated #ClutterEvent.
7595 // <type>: The type of event.
7596 static Event* /*new*/ new_()(EventType type) {
7597 return clutter_event_new(type);
7600 // Copies @event.
7601 // RETURNS: A newly allocated #ClutterEvent
7602 Event* /*new*/ copy()() {
7603 return clutter_event_copy(&this);
7605 // Frees all resources used by @event.
7606 void free()() {
7607 clutter_event_free(&this);
7610 // VERSION: 1.6
7611 // Retrieves the array of axes values attached to the event.
7612 // RETURNS: an array of axis values
7613 // <n_axes>: return location for the number of axes returned
7614 double* get_axes()(/*out*/ uint* n_axes) {
7615 return clutter_event_get_axes(&this, n_axes);
7618 // VERSION: 1.0
7619 // Retrieves the button number of @event
7620 // RETURNS: the button number
7621 uint get_button()() {
7622 return clutter_event_get_button(&this);
7625 // VERSION: 1.0
7626 // Retrieves the number of clicks of @event
7627 // RETURNS: the click count
7628 uint get_click_count()() {
7629 return clutter_event_get_click_count(&this);
7632 // VERSION: 0.4
7633 // Retrieves the coordinates of @event and puts them into @x and @y.
7634 // <x>: return location for the X coordinate, or %NULL
7635 // <y>: return location for the Y coordinate, or %NULL
7636 void get_coords()(/*out*/ float* x, /*out*/ float* y) {
7637 clutter_event_get_coords(&this, x, y);
7640 // VERSION: 1.0
7641 // Retrieves the #ClutterInputDevice for the event.
7643 // The #ClutterInputDevice structure is completely opaque and should
7644 // be cast to the platform-specific implementation.
7646 // returned device is owned by the #ClutterEvent and it should not
7647 // be unreferenced
7648 // RETURNS: the #ClutterInputDevice or %NULL. The
7649 InputDevice* get_device()() {
7650 return clutter_event_get_device(&this);
7653 // Retrieves the events device id if set.
7655 // no specific device set.
7656 // RETURNS: A unique identifier for the device or -1 if the event has
7657 int get_device_id()() {
7658 return clutter_event_get_device_id(&this);
7661 // VERSION: 1.0
7662 // Retrieves the type of the device for @event
7664 // any is set
7665 // RETURNS: the #ClutterInputDeviceType for the device, if
7666 InputDeviceType get_device_type()() {
7667 return clutter_event_get_device_type(&this);
7670 // VERSION: 1.0
7671 // Retrieves the #ClutterEventFlags of @event
7672 // RETURNS: the event flags
7673 EventFlags get_flags()() {
7674 return clutter_event_get_flags(&this);
7677 // VERSION: 1.0
7678 // Retrieves the keycode of the key that caused @event
7679 // RETURNS: The keycode representing the key
7680 ushort get_key_code()() {
7681 return clutter_event_get_key_code(&this);
7684 // VERSION: 1.0
7685 // Retrieves the key symbol of @event
7686 // RETURNS: the key symbol representing the key
7687 uint get_key_symbol()() {
7688 return clutter_event_get_key_symbol(&this);
7691 // Retrieves the unicode value for the key that caused @keyev.
7692 // RETURNS: The unicode value representing the key
7693 uint get_key_unicode()() {
7694 return clutter_event_get_key_unicode(&this);
7697 // VERSION: 1.0
7698 // Retrieves the related actor of a crossing event.
7699 // RETURNS: the related #ClutterActor, or %NULL
7700 Actor* get_related()() {
7701 return clutter_event_get_related(&this);
7704 // VERSION: 1.0
7705 // Retrieves the direction of the scrolling of @event
7706 // RETURNS: the scrolling direction
7707 ScrollDirection get_scroll_direction()() {
7708 return clutter_event_get_scroll_direction(&this);
7711 // VERSION: 0.6
7712 // Retrieves the source #ClutterActor the event originated from, or
7713 // NULL if the event has no source.
7714 // RETURNS: a #ClutterActor
7715 Actor* get_source()() {
7716 return clutter_event_get_source(&this);
7719 // VERSION: 1.6
7720 // Retrieves the hardware device that originated the event.
7722 // If you need the virtual device, use clutter_event_get_device().
7724 // If no hardware device originated this event, this function will
7725 // return the same device as clutter_event_get_device().
7727 // or %NULL
7728 // RETURNS: a pointer to a #ClutterInputDevice
7729 InputDevice* get_source_device()() {
7730 return clutter_event_get_source_device(&this);
7733 // VERSION: 0.8
7734 // Retrieves the source #ClutterStage the event originated for, or
7735 // %NULL if the event has no stage.
7736 // RETURNS: a #ClutterStage
7737 Stage* get_stage()() {
7738 return clutter_event_get_stage(&this);
7741 // VERSION: 0.4
7742 // Retrieves the modifier state of the event.
7743 // RETURNS: the modifier state parameter, or 0
7744 ModifierType get_state()() {
7745 return clutter_event_get_state(&this);
7748 // VERSION: 0.4
7749 // Retrieves the time of the event.
7750 // RETURNS: the time of the event, or %CLUTTER_CURRENT_TIME
7751 uint get_time()() {
7752 return clutter_event_get_time(&this);
7755 // VERSION: 0.6
7756 // Puts a copy of the event on the back of the event queue. The event will
7757 // have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set
7758 // event signals will be emitted for this source and capture/bubbling for
7759 // its ancestors. If the source is not set it will be generated by picking
7760 // or use the actor that currently has keyboard focus
7761 void put()() {
7762 clutter_event_put(&this);
7765 // VERSION: 1.8
7766 // Sets the button number of @event
7767 // <button>: the button number
7768 void set_button()(uint button) {
7769 clutter_event_set_button(&this, button);
7772 // VERSION: 1.8
7773 // Sets the coordinates of the @event.
7774 // <x>: the X coordinate of the event
7775 // <y>: the Y coordinate of the event
7776 void set_coords()(float x, float y) {
7777 clutter_event_set_coords(&this, x, y);
7780 // VERSION: 1.6
7781 // Sets the device for @event.
7782 // <device>: a #ClutterInputDevice, or %NULL
7783 void set_device()(InputDevice* device=null) {
7784 clutter_event_set_device(&this, device);
7787 // VERSION: 1.8
7788 // Sets the #ClutterEventFlags of @event
7789 // <flags>: a binary OR of #ClutterEventFlags values
7790 void set_flags()(EventFlags flags) {
7791 clutter_event_set_flags(&this, flags);
7794 // VERSION: 1.8
7795 // Sets the keycode of the @event.
7796 // <key_code>: the keycode representing the key
7797 void set_key_code()(ushort key_code) {
7798 clutter_event_set_key_code(&this, key_code);
7801 // VERSION: 1.8
7802 // Sets the key symbol of @event.
7803 // <key_sym>: the key symbol representing the key
7804 void set_key_symbol()(uint key_sym) {
7805 clutter_event_set_key_symbol(&this, key_sym);
7808 // VERSION: 1.8
7809 // Sets the Unicode value of @event.
7810 // <key_unicode>: the Unicode value representing the key
7811 void set_key_unicode()(uint key_unicode) {
7812 clutter_event_set_key_unicode(&this, key_unicode);
7815 // VERSION: 1.8
7816 // Sets the related actor of a crossing event
7817 // <actor>: a #ClutterActor or %NULL
7818 void set_related()(Actor* actor=null) {
7819 clutter_event_set_related(&this, actor);
7822 // VERSION: 1.8
7823 // Sets the direction of the scrolling of @event
7824 // <direction>: the scrolling direction
7825 void set_scroll_direction()(ScrollDirection direction) {
7826 clutter_event_set_scroll_direction(&this, direction);
7829 // VERSION: 1.8
7830 // Sets the source #ClutterActor of @event.
7831 // <actor>: a #ClutterActor, or %NULL
7832 void set_source()(Actor* actor=null) {
7833 clutter_event_set_source(&this, actor);
7836 // VERSION: 1.8
7837 // Sets the source #ClutterInputDevice for @event.
7839 // The #ClutterEvent must have been created using clutter_event_new().
7840 // <device>: a #ClutterInputDevice
7841 void set_source_device()(InputDevice* device=null) {
7842 clutter_event_set_source_device(&this, device);
7845 // VERSION: 1.8
7846 // Sets the source #ClutterStage of the event.
7847 // <stage>: a #ClutterStage, or %NULL
7848 void set_stage()(Stage* stage=null) {
7849 clutter_event_set_stage(&this, stage);
7852 // VERSION: 1.8
7853 // Sets the modifier state of the event.
7854 // <state>: the modifier state to set
7855 void set_state()(ModifierType state) {
7856 clutter_event_set_state(&this, state);
7859 // VERSION: 1.8
7860 // Sets the time of the event.
7861 // <time_>: the time of the event
7862 void set_time()(uint time_) {
7863 clutter_event_set_time(&this, time_);
7866 // Retrieves the type of the event.
7867 // RETURNS: a #ClutterEventType
7868 EventType type()() {
7869 return clutter_event_type(&this);
7872 // VERSION: 0.4
7873 // Pops an event off the event queue. Applications should not need to call
7874 // this.
7875 // RETURNS: A #ClutterEvent or NULL if queue empty
7876 static Event* /*new*/ get()() {
7877 return clutter_event_get();
7880 // VERSION: 0.4
7881 // Returns a pointer to the first event from the event queue but
7882 // does not remove it.
7883 // RETURNS: A #ClutterEvent or NULL if queue empty.
7884 static Event* peek()() {
7885 return clutter_event_peek();
7888 // --- mixin/Clutter_Event.d --->
7890 void toString(FT)(scope void delegate(const(char)[]) sink, FT fmt) {
7891 import std.format;
7892 with (EventType)
7893 switch (type_) {
7894 // <KeyEvent> contains a dchar, which causes:
7895 //Error: static assert "Cannot put a dchar into a void delegate(const(char)[])"
7896 //case KEY_PRESS, KEY_RELEASE: formatValue(sink, key, fmt); return;
7897 case MOTION: formatValue(sink, motion, fmt); return;
7898 case ENTER, LEAVE: formatValue(sink, crossing, fmt); return;
7899 case BUTTON_PRESS, BUTTON_RELEASE:
7900 formatValue(sink, button, fmt); return;
7901 case SCROLL: formatValue(sink, scroll, fmt); return;
7902 case STAGE_STATE: formatValue(sink, stage_state, fmt); return;
7903 any: case DELETE, DESTROY_NOTIFY, CLIENT_MESSAGE:
7904 formatValue(sink, any, fmt); return;
7905 default: sink("/*FIXME*/"); goto any;
7909 // <--- mixin/Clutter_Event.d ---
7912 // Flags for the #ClutterEvent
7913 enum EventFlags /* Version 0.6 */ {
7914 NONE = 0,
7915 FLAG_SYNTHETIC = 1
7917 // Types of events.
7918 enum EventType /* Version 0.4 */ {
7919 NOTHING = 0,
7920 KEY_PRESS = 1,
7921 KEY_RELEASE = 2,
7922 MOTION = 3,
7923 ENTER = 4,
7924 LEAVE = 5,
7925 BUTTON_PRESS = 6,
7926 BUTTON_RELEASE = 7,
7927 SCROLL = 8,
7928 STAGE_STATE = 9,
7929 DESTROY_NOTIFY = 10,
7930 CLIENT_MESSAGE = 11,
7931 DELETE = 12
7933 enum int Excel = 269025116;
7934 enum int Execute = 65378;
7935 enum int Explorer = 269025117;
7936 enum int F = 70;
7937 enum int F1 = 65470;
7938 enum int F10 = 65479;
7939 enum int F11 = 65480;
7940 enum int F12 = 65481;
7941 enum int F13 = 65482;
7942 enum int F14 = 65483;
7943 enum int F15 = 65484;
7944 enum int F16 = 65485;
7945 enum int F17 = 65486;
7946 enum int F18 = 65487;
7947 enum int F19 = 65488;
7948 enum int F2 = 65471;
7949 enum int F20 = 65489;
7950 enum int F21 = 65490;
7951 enum int F22 = 65491;
7952 enum int F23 = 65492;
7953 enum int F24 = 65493;
7954 enum int F25 = 65494;
7955 enum int F26 = 65495;
7956 enum int F27 = 65496;
7957 enum int F28 = 65497;
7958 enum int F29 = 65498;
7959 enum int F3 = 65472;
7960 enum int F30 = 65499;
7961 enum int F31 = 65500;
7962 enum int F32 = 65501;
7963 enum int F33 = 65502;
7964 enum int F34 = 65503;
7965 enum int F35 = 65504;
7966 enum int F4 = 65473;
7967 enum int F5 = 65474;
7968 enum int F6 = 65475;
7969 enum int F7 = 65476;
7970 enum int F8 = 65477;
7971 enum int F9 = 65478;
7972 enum int FFrancSign = 16785571;
7973 enum FLAVOUR = "glx";
7974 enum int Fabovedot = 16784926;
7975 enum int Farsi_0 = 16778992;
7976 enum int Farsi_1 = 16778993;
7977 enum int Farsi_2 = 16778994;
7978 enum int Farsi_3 = 16778995;
7979 enum int Farsi_4 = 16778996;
7980 enum int Farsi_5 = 16778997;
7981 enum int Farsi_6 = 16778998;
7982 enum int Farsi_7 = 16778999;
7983 enum int Farsi_8 = 16779000;
7984 enum int Farsi_9 = 16779001;
7985 enum int Farsi_yeh = 16778956;
7986 enum int Favorites = 269025072;
7988 // Runtime flags indicating specific features available via Clutter window
7989 // sysytem and graphics backend.
7990 enum FeatureFlags /* Version 0.4 */ {
7991 TEXTURE_NPOT = 4,
7992 SYNC_TO_VBLANK = 8,
7993 TEXTURE_YUV = 16,
7994 TEXTURE_READ_PIXELS = 32,
7995 STAGE_STATIC = 64,
7996 STAGE_USER_RESIZE = 128,
7997 STAGE_CURSOR = 256,
7998 SHADERS_GLSL = 512,
7999 OFFSCREEN = 1024,
8000 STAGE_MULTIPLE = 2048,
8001 SWAP_EVENTS = 4096
8003 enum int Finance = 269025084;
8004 enum int Find = 65384;
8005 enum int First_Virtual_Screen = 65232;
8007 // The #ClutterFixedLayout structure contains only private data and
8008 // it should be accessed using the provided API
8009 struct FixedLayout /* : LayoutManager */ /* Version 1.2 */ {
8010 alias parent_instance this;
8011 alias parent_instance super_;
8012 alias parent_instance layoutmanager;
8013 LayoutManager parent_instance;
8016 // VERSION: 1.2
8017 // Creates a new #ClutterFixedLayout
8018 // RETURNS: the newly created #ClutterFixedLayout
8019 static FixedLayout* new_()() {
8020 return clutter_fixed_layout_new();
8025 // The #ClutterFixedLayoutClass structure contains only private data
8026 // and it should be accessed using the provided API
8027 struct FixedLayoutClass /* Version 1.2 */ {
8028 private LayoutManagerClass parent_class;
8032 // The #ClutterFlowLayout structure contains only private data
8033 // and should be accessed using the provided API
8034 struct FlowLayout /* : LayoutManager */ /* Version 1.2 */ {
8035 alias parent_instance this;
8036 alias parent_instance super_;
8037 alias parent_instance layoutmanager;
8038 LayoutManager parent_instance;
8039 private FlowLayoutPrivate* priv;
8042 // VERSION: 1.2
8043 // Creates a new #ClutterFlowLayout with the given @orientation
8044 // RETURNS: the newly created #ClutterFlowLayout
8045 // <orientation>: the orientation of the flow layout
8046 static FlowLayout* new_()(FlowOrientation orientation) {
8047 return clutter_flow_layout_new(orientation);
8050 // VERSION: 1.2
8051 // Retrieves the spacing between columns
8053 // in pixels
8054 // RETURNS: the spacing between columns of the #ClutterFlowLayout,
8055 float get_column_spacing()() {
8056 return clutter_flow_layout_get_column_spacing(&this);
8059 // VERSION: 1.2
8060 // Retrieves the minimum and maximum column widths
8061 // <min_width>: return location for the minimum column width, or %NULL
8062 // <max_width>: return location for the maximum column width, or %NULL
8063 void get_column_width()(/*out*/ float* min_width, /*out*/ float* max_width) {
8064 clutter_flow_layout_get_column_width(&this, min_width, max_width);
8067 // VERSION: 1.2
8068 // Retrieves whether the @layout is homogeneous
8069 // RETURNS: %TRUE if the #ClutterFlowLayout is homogeneous
8070 int get_homogeneous()() {
8071 return clutter_flow_layout_get_homogeneous(&this);
8074 // VERSION: 1.2
8075 // Retrieves the orientation of the @layout
8076 // RETURNS: the orientation of the #ClutterFlowLayout
8077 FlowOrientation get_orientation()() {
8078 return clutter_flow_layout_get_orientation(&this);
8081 // VERSION: 1.2
8082 // Retrieves the minimum and maximum row heights
8083 // <min_height>: return location for the minimum row height, or %NULL
8084 // <max_height>: return location for the maximum row height, or %NULL
8085 void get_row_height()(/*out*/ float* min_height, /*out*/ float* max_height) {
8086 clutter_flow_layout_get_row_height(&this, min_height, max_height);
8089 // VERSION: 1.2
8090 // Retrieves the spacing between rows
8092 // in pixels
8093 // RETURNS: the spacing between rows of the #ClutterFlowLayout,
8094 float get_row_spacing()() {
8095 return clutter_flow_layout_get_row_spacing(&this);
8098 // VERSION: 1.2
8099 // Sets the space between columns, in pixels
8100 // <spacing>: the space between columns
8101 void set_column_spacing()(float spacing) {
8102 clutter_flow_layout_set_column_spacing(&this, spacing);
8105 // VERSION: 1.2
8106 // Sets the minimum and maximum widths that a column can have
8107 // <min_width>: minimum width of a column
8108 // <max_width>: maximum width of a column
8109 void set_column_width()(float min_width, float max_width) {
8110 clutter_flow_layout_set_column_width(&this, min_width, max_width);
8113 // VERSION: 1.2
8114 // Sets whether the @layout should allocate the same space for
8115 // each child
8116 // <homogeneous>: whether the layout should be homogeneous or not
8117 void set_homogeneous()(int homogeneous) {
8118 clutter_flow_layout_set_homogeneous(&this, homogeneous);
8121 // VERSION: 1.2
8122 // Sets the orientation of the flow layout
8124 // The orientation controls the direction used to allocate
8125 // the children: either horizontally or vertically. The
8126 // orientation also controls the direction of the overflowing
8127 // <orientation>: the orientation of the layout
8128 void set_orientation()(FlowOrientation orientation) {
8129 clutter_flow_layout_set_orientation(&this, orientation);
8132 // VERSION: 1.2
8133 // Sets the minimum and maximum heights that a row can have
8134 // <min_height>: the minimum height of a row
8135 // <max_height>: the maximum height of a row
8136 void set_row_height()(float min_height, float max_height) {
8137 clutter_flow_layout_set_row_height(&this, min_height, max_height);
8140 // VERSION: 1.2
8141 // Sets the spacing between rows, in pixels
8142 // <spacing>: the space between rows
8143 void set_row_spacing()(float spacing) {
8144 clutter_flow_layout_set_row_spacing(&this, spacing);
8149 // The #ClutterFlowLayoutClass structure contains only private data
8150 // and should be accessed using the provided API
8151 struct FlowLayoutClass /* Version 1.2 */ {
8152 private LayoutManagerClass parent_class;
8155 struct FlowLayoutPrivate {
8159 // The direction of the arrangement of the children inside
8160 // a #ClutterFlowLayout
8161 enum FlowOrientation /* Version 1.2 */ {
8162 HORIZONTAL = 0,
8163 VERTICAL = 1
8165 // Fog settings used to create the depth cueing effect.
8166 struct Fog /* Version 0.6 */ {
8167 float z_near, z_far;
8171 // Runtime flags to change the font quality. To be used with
8172 // clutter_set_font_flags().
8173 enum FontFlags /* Version 1.0 */ {
8174 MIPMAPPING = 1,
8175 HINTING = 2
8177 enum int Forward = 269025063;
8178 enum int FrameBack = 269025181;
8179 enum int FrameForward = 269025182;
8180 enum int G = 71;
8181 enum int Gabovedot = 725;
8182 enum int Game = 269025118;
8183 enum int Gbreve = 683;
8184 enum int Gcaron = 16777702;
8185 enum int Gcedilla = 939;
8186 enum int Gcircumflex = 728;
8187 // The rectangle containing an actor's bounding box, measured in pixels.
8188 struct Geometry {
8189 int x, y;
8190 uint width, height;
8193 // VERSION: 1.4
8194 // Determines if @geometry0 and geometry1 intersect returning %TRUE if
8195 // they do else %FALSE.
8197 // %FALSE.
8198 // RETURNS: %TRUE of @geometry0 and geometry1 intersect else
8199 // <geometry1>: The second geometry to test
8200 int intersects()(Geometry* geometry1) {
8201 return clutter_geometry_intersects(&this, geometry1);
8204 // VERSION: 1.4
8205 // Find the union of two rectangles represented as #ClutterGeometry.
8206 // <geometry_b>: another #ClutterGeometry
8207 // <result>: location to store the result
8208 void union_()(Geometry* geometry_b, /*out*/ Geometry* result) {
8209 clutter_geometry_union(&this, geometry_b, result);
8213 enum int Georgian_an = 16781520;
8214 enum int Georgian_ban = 16781521;
8215 enum int Georgian_can = 16781546;
8216 enum int Georgian_char = 16781549;
8217 enum int Georgian_chin = 16781545;
8218 enum int Georgian_cil = 16781548;
8219 enum int Georgian_don = 16781523;
8220 enum int Georgian_en = 16781524;
8221 enum int Georgian_fi = 16781558;
8222 enum int Georgian_gan = 16781522;
8223 enum int Georgian_ghan = 16781542;
8224 enum int Georgian_hae = 16781552;
8225 enum int Georgian_har = 16781556;
8226 enum int Georgian_he = 16781553;
8227 enum int Georgian_hie = 16781554;
8228 enum int Georgian_hoe = 16781557;
8229 enum int Georgian_in = 16781528;
8230 enum int Georgian_jhan = 16781551;
8231 enum int Georgian_jil = 16781547;
8232 enum int Georgian_kan = 16781529;
8233 enum int Georgian_khar = 16781541;
8234 enum int Georgian_las = 16781530;
8235 enum int Georgian_man = 16781531;
8236 enum int Georgian_nar = 16781532;
8237 enum int Georgian_on = 16781533;
8238 enum int Georgian_par = 16781534;
8239 enum int Georgian_phar = 16781540;
8240 enum int Georgian_qar = 16781543;
8241 enum int Georgian_rae = 16781536;
8242 enum int Georgian_san = 16781537;
8243 enum int Georgian_shin = 16781544;
8244 enum int Georgian_tan = 16781527;
8245 enum int Georgian_tar = 16781538;
8246 enum int Georgian_un = 16781539;
8247 enum int Georgian_vin = 16781525;
8248 enum int Georgian_we = 16781555;
8249 enum int Georgian_xan = 16781550;
8250 enum int Georgian_zen = 16781526;
8251 enum int Georgian_zhar = 16781535;
8253 // The <structname>ClutterGestureAction</structname> structure contains
8254 // only private data and should be accessed using the provided API
8255 struct GestureAction /* : Action */ /* Version 1.8 */ {
8256 alias parent_instance this;
8257 alias parent_instance super_;
8258 alias parent_instance action;
8259 Action parent_instance;
8260 private GestureActionPrivate* priv;
8263 // VERSION: 1.8
8264 // Creates a new #ClutterGestureAction instance.
8265 // RETURNS: the newly created #ClutterGestureAction
8266 static GestureAction* new_()() {
8267 return clutter_gesture_action_new();
8270 // VERSION: 1.8
8271 // Retrieves the coordinates, in stage space, of the latest motion
8272 // event during the dragging
8273 // <device>: currently unused, set to 0
8274 // <motion_x>: return location for the latest motion event's X coordinate
8275 // <motion_y>: return location for the latest motion event's Y coordinate
8276 void get_motion_coords()(uint device, /*out*/ float* motion_x, /*out*/ float* motion_y) {
8277 clutter_gesture_action_get_motion_coords(&this, device, motion_x, motion_y);
8280 // VERSION: 1.8
8281 // Retrieves the coordinates, in stage space, of the press event
8282 // that started the dragging for an specific pointer device
8283 // <device>: currently unused, set to 0
8284 // <press_x>: return location for the press event's X coordinate
8285 // <press_y>: return location for the press event's Y coordinate
8286 void get_press_coords()(uint device, /*out*/ float* press_x, /*out*/ float* press_y) {
8287 clutter_gesture_action_get_press_coords(&this, device, press_x, press_y);
8290 // VERSION: 1.8
8291 // Retrieves the coordinates, in stage space, of the point where the pointer
8292 // device was last released.
8293 // <device>: currently unused, set to 0
8294 // <release_x>: return location for the X coordinate of the last release
8295 // <release_y>: return location for the Y coordinate of the last release
8296 void get_release_coords()(uint device, /*out*/ float* release_x, /*out*/ float* release_y) {
8297 clutter_gesture_action_get_release_coords(&this, device, release_x, release_y);
8300 // VERSION: 1.8
8301 // The ::gesture_begin signal is emitted when the #ClutterActor to which
8302 // a #ClutterGestureAction has been applied starts receiving a gesture.
8304 // the gesture should be ignored.
8305 // RETURNS: %TRUE if the gesture should start, and %FALSE if
8306 // <actor>: the #ClutterActor attached to the @action
8307 extern (C) alias static c_int function (GestureAction* this_, Actor* actor, void* user_data=null) signal_gesture_begin;
8309 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8310 return super_.signal_connect!name(cb, data, cf);
8313 ulong signal_connect(string name:"gesture-begin", CB:signal_gesture_begin)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8314 return signal_connect_data!()(&this, cast(char*)"gesture-begin",
8315 cast(GObject2.Callback)cb, data, null, cf);
8318 // VERSION: 1.8
8319 // The ::gesture-cancel signal is emitted when the ongoing gesture gets
8320 // cancelled from the #ClutterGestureAction::gesture-progress signal handler.
8322 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
8323 // signal has been emitted first.
8324 // <actor>: the #ClutterActor attached to the @action
8325 extern (C) alias static void function (GestureAction* this_, Actor* actor, void* user_data=null) signal_gesture_cancel;
8326 ulong signal_connect(string name:"gesture-cancel", CB:signal_gesture_cancel)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8327 return signal_connect_data!()(&this, cast(char*)"gesture-cancel",
8328 cast(GObject2.Callback)cb, data, null, cf);
8331 // VERSION: 1.8
8332 // The ::gesture-end signal is emitted at the end of the gesture gesture,
8333 // when the pointer's button is released
8335 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
8336 // signal has been emitted first.
8337 // <actor>: the #ClutterActor attached to the @action
8338 extern (C) alias static void function (GestureAction* this_, Actor* actor, void* user_data=null) signal_gesture_end;
8339 ulong signal_connect(string name:"gesture-end", CB:signal_gesture_end)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8340 return signal_connect_data!()(&this, cast(char*)"gesture-end",
8341 cast(GObject2.Callback)cb, data, null, cf);
8344 // VERSION: 1.8
8345 // The ::gesture-progress signal is emitted for each motion event after
8346 // the #ClutterGestureAction::gesture-begin signal has been emitted.
8348 // the gesture should be cancelled.
8349 // RETURNS: %TRUE if the gesture should continue, and %FALSE if
8350 // <actor>: the #ClutterActor attached to the @action
8351 extern (C) alias static c_int function (GestureAction* this_, Actor* actor, void* user_data=null) signal_gesture_progress;
8352 ulong signal_connect(string name:"gesture-progress", CB:signal_gesture_progress)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8353 return signal_connect_data!()(&this, cast(char*)"gesture-progress",
8354 cast(GObject2.Callback)cb, data, null, cf);
8359 // The <structname>ClutterGestureClass</structname> structure contains only
8360 // private data.
8361 struct GestureActionClass /* Version 1.8 */ {
8362 private ActionClass parent_class;
8363 extern (C) int function (GestureAction* action, Actor* actor) gesture_begin;
8364 extern (C) int function (GestureAction* action, Actor* actor) gesture_progress;
8365 extern (C) void function (GestureAction* action, Actor* actor) gesture_end;
8366 extern (C) void function (GestureAction* action, Actor* actor) gesture_cancel;
8367 extern (C) void function () _clutter_gesture_action1;
8368 extern (C) void function () _clutter_gesture_action2;
8369 extern (C) void function () _clutter_gesture_action3;
8370 extern (C) void function () _clutter_gesture_action4;
8371 extern (C) void function () _clutter_gesture_action5;
8372 extern (C) void function () _clutter_gesture_action6;
8373 extern (C) void function () _clutter_gesture_action7;
8376 struct GestureActionPrivate {
8379 enum int Go = 269025119;
8381 // Gravity of the scaling operations. When a gravity different than
8382 // %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
8383 // of the specified portion at the same coordinates.
8384 enum Gravity /* Version 0.2 */ {
8385 NONE = 0,
8386 NORTH = 1,
8387 NORTH_EAST = 2,
8388 EAST = 3,
8389 SOUTH_EAST = 4,
8390 SOUTH = 5,
8391 SOUTH_WEST = 6,
8392 WEST = 7,
8393 NORTH_WEST = 8,
8394 CENTER = 9
8396 enum int Greek_ALPHA = 1985;
8397 enum int Greek_ALPHAaccent = 1953;
8398 enum int Greek_BETA = 1986;
8399 enum int Greek_CHI = 2007;
8400 enum int Greek_DELTA = 1988;
8401 enum int Greek_EPSILON = 1989;
8402 enum int Greek_EPSILONaccent = 1954;
8403 enum int Greek_ETA = 1991;
8404 enum int Greek_ETAaccent = 1955;
8405 enum int Greek_GAMMA = 1987;
8406 enum int Greek_IOTA = 1993;
8407 enum int Greek_IOTAaccent = 1956;
8408 enum int Greek_IOTAdiaeresis = 1957;
8409 enum int Greek_IOTAdieresis = 1957;
8410 enum int Greek_KAPPA = 1994;
8411 enum int Greek_LAMBDA = 1995;
8412 enum int Greek_LAMDA = 1995;
8413 enum int Greek_MU = 1996;
8414 enum int Greek_NU = 1997;
8415 enum int Greek_OMEGA = 2009;
8416 enum int Greek_OMEGAaccent = 1963;
8417 enum int Greek_OMICRON = 1999;
8418 enum int Greek_OMICRONaccent = 1959;
8419 enum int Greek_PHI = 2006;
8420 enum int Greek_PI = 2000;
8421 enum int Greek_PSI = 2008;
8422 enum int Greek_RHO = 2001;
8423 enum int Greek_SIGMA = 2002;
8424 enum int Greek_TAU = 2004;
8425 enum int Greek_THETA = 1992;
8426 enum int Greek_UPSILON = 2005;
8427 enum int Greek_UPSILONaccent = 1960;
8428 enum int Greek_UPSILONdieresis = 1961;
8429 enum int Greek_XI = 1998;
8430 enum int Greek_ZETA = 1990;
8431 enum int Greek_accentdieresis = 1966;
8432 enum int Greek_alpha = 2017;
8433 enum int Greek_alphaaccent = 1969;
8434 enum int Greek_beta = 2018;
8435 enum int Greek_chi = 2039;
8436 enum int Greek_delta = 2020;
8437 enum int Greek_epsilon = 2021;
8438 enum int Greek_epsilonaccent = 1970;
8439 enum int Greek_eta = 2023;
8440 enum int Greek_etaaccent = 1971;
8441 enum int Greek_finalsmallsigma = 2035;
8442 enum int Greek_gamma = 2019;
8443 enum int Greek_horizbar = 1967;
8444 enum int Greek_iota = 2025;
8445 enum int Greek_iotaaccent = 1972;
8446 enum int Greek_iotaaccentdieresis = 1974;
8447 enum int Greek_iotadieresis = 1973;
8448 enum int Greek_kappa = 2026;
8449 enum int Greek_lambda = 2027;
8450 enum int Greek_lamda = 2027;
8451 enum int Greek_mu = 2028;
8452 enum int Greek_nu = 2029;
8453 enum int Greek_omega = 2041;
8454 enum int Greek_omegaaccent = 1979;
8455 enum int Greek_omicron = 2031;
8456 enum int Greek_omicronaccent = 1975;
8457 enum int Greek_phi = 2038;
8458 enum int Greek_pi = 2032;
8459 enum int Greek_psi = 2040;
8460 enum int Greek_rho = 2033;
8461 enum int Greek_sigma = 2034;
8462 enum int Greek_switch = 65406;
8463 enum int Greek_tau = 2036;
8464 enum int Greek_theta = 2024;
8465 enum int Greek_upsilon = 2037;
8466 enum int Greek_upsilonaccent = 1976;
8467 enum int Greek_upsilonaccentdieresis = 1978;
8468 enum int Greek_upsilondieresis = 1977;
8469 enum int Greek_xi = 2030;
8470 enum int Greek_zeta = 2022;
8471 enum int Green = 269025188;
8473 // The #ClutterGroup structure contains only private data
8474 // and should be accessed using the provided API
8475 struct Group /* : Actor */ /* Version 0.1 */ {
8476 mixin Atk.ImplementorIface.__interface__;
8477 mixin Animatable.__interface__;
8478 mixin Container.__interface__;
8479 mixin Scriptable.__interface__;
8480 alias parent_instance this;
8481 alias parent_instance super_;
8482 alias parent_instance actor;
8483 Actor parent_instance;
8484 private GroupPrivate* priv;
8487 // Create a new #ClutterGroup.
8488 // RETURNS: the newly created #ClutterGroup actor
8489 static Group* new_()() {
8490 return clutter_group_new();
8493 // VERSION: 0.2
8494 // Gets the number of actors held in the group.
8495 // RETURNS: The number of child actors held in the group.
8496 int get_n_children()() {
8497 return clutter_group_get_n_children(&this);
8500 // VERSION: 0.2
8501 // Gets a groups child held at @index_ in stack.
8503 // @index_ is invalid.
8504 // RETURNS: A Clutter actor, or %NULL if
8505 // <index_>: the position of the requested actor.
8506 Actor* get_nth_child()(int index_) {
8507 return clutter_group_get_nth_child(&this, index_);
8509 // Removes all children actors from the #ClutterGroup.
8510 void remove_all()() {
8511 clutter_group_remove_all(&this);
8515 // The #ClutterGroupClass structure contains only private data
8516 struct GroupClass /* Version 0.1 */ {
8517 private ActorClass parent_class;
8518 extern (C) void function () _clutter_reserved1;
8519 extern (C) void function () _clutter_reserved2;
8520 extern (C) void function () _clutter_reserved3;
8521 extern (C) void function () _clutter_reserved4;
8522 extern (C) void function () _clutter_reserved5;
8523 extern (C) void function () _clutter_reserved6;
8526 struct GroupPrivate {
8529 enum int H = 72;
8530 enum int Hangul = 65329;
8531 enum int Hangul_A = 3775;
8532 enum int Hangul_AE = 3776;
8533 enum int Hangul_AraeA = 3830;
8534 enum int Hangul_AraeAE = 3831;
8535 enum int Hangul_Banja = 65337;
8536 enum int Hangul_Cieuc = 3770;
8537 enum int Hangul_Codeinput = 65335;
8538 enum int Hangul_Dikeud = 3751;
8539 enum int Hangul_E = 3780;
8540 enum int Hangul_EO = 3779;
8541 enum int Hangul_EU = 3793;
8542 enum int Hangul_End = 65331;
8543 enum int Hangul_Hanja = 65332;
8544 enum int Hangul_Hieuh = 3774;
8545 enum int Hangul_I = 3795;
8546 enum int Hangul_Ieung = 3767;
8547 enum int Hangul_J_Cieuc = 3818;
8548 enum int Hangul_J_Dikeud = 3802;
8549 enum int Hangul_J_Hieuh = 3822;
8550 enum int Hangul_J_Ieung = 3816;
8551 enum int Hangul_J_Jieuj = 3817;
8552 enum int Hangul_J_Khieuq = 3819;
8553 enum int Hangul_J_Kiyeog = 3796;
8554 enum int Hangul_J_KiyeogSios = 3798;
8555 enum int Hangul_J_KkogjiDalrinIeung = 3833;
8556 enum int Hangul_J_Mieum = 3811;
8557 enum int Hangul_J_Nieun = 3799;
8558 enum int Hangul_J_NieunHieuh = 3801;
8559 enum int Hangul_J_NieunJieuj = 3800;
8560 enum int Hangul_J_PanSios = 3832;
8561 enum int Hangul_J_Phieuf = 3821;
8562 enum int Hangul_J_Pieub = 3812;
8563 enum int Hangul_J_PieubSios = 3813;
8564 enum int Hangul_J_Rieul = 3803;
8565 enum int Hangul_J_RieulHieuh = 3810;
8566 enum int Hangul_J_RieulKiyeog = 3804;
8567 enum int Hangul_J_RieulMieum = 3805;
8568 enum int Hangul_J_RieulPhieuf = 3809;
8569 enum int Hangul_J_RieulPieub = 3806;
8570 enum int Hangul_J_RieulSios = 3807;
8571 enum int Hangul_J_RieulTieut = 3808;
8572 enum int Hangul_J_Sios = 3814;
8573 enum int Hangul_J_SsangKiyeog = 3797;
8574 enum int Hangul_J_SsangSios = 3815;
8575 enum int Hangul_J_Tieut = 3820;
8576 enum int Hangul_J_YeorinHieuh = 3834;
8577 enum int Hangul_Jamo = 65333;
8578 enum int Hangul_Jeonja = 65336;
8579 enum int Hangul_Jieuj = 3768;
8580 enum int Hangul_Khieuq = 3771;
8581 enum int Hangul_Kiyeog = 3745;
8582 enum int Hangul_KiyeogSios = 3747;
8583 enum int Hangul_KkogjiDalrinIeung = 3827;
8584 enum int Hangul_Mieum = 3761;
8585 enum int Hangul_MultipleCandidate = 65341;
8586 enum int Hangul_Nieun = 3748;
8587 enum int Hangul_NieunHieuh = 3750;
8588 enum int Hangul_NieunJieuj = 3749;
8589 enum int Hangul_O = 3783;
8590 enum int Hangul_OE = 3786;
8591 enum int Hangul_PanSios = 3826;
8592 enum int Hangul_Phieuf = 3773;
8593 enum int Hangul_Pieub = 3762;
8594 enum int Hangul_PieubSios = 3764;
8595 enum int Hangul_PostHanja = 65339;
8596 enum int Hangul_PreHanja = 65338;
8597 enum int Hangul_PreviousCandidate = 65342;
8598 enum int Hangul_Rieul = 3753;
8599 enum int Hangul_RieulHieuh = 3760;
8600 enum int Hangul_RieulKiyeog = 3754;
8601 enum int Hangul_RieulMieum = 3755;
8602 enum int Hangul_RieulPhieuf = 3759;
8603 enum int Hangul_RieulPieub = 3756;
8604 enum int Hangul_RieulSios = 3757;
8605 enum int Hangul_RieulTieut = 3758;
8606 enum int Hangul_RieulYeorinHieuh = 3823;
8607 enum int Hangul_Romaja = 65334;
8608 enum int Hangul_SingleCandidate = 65340;
8609 enum int Hangul_Sios = 3765;
8610 enum int Hangul_Special = 65343;
8611 enum int Hangul_SsangDikeud = 3752;
8612 enum int Hangul_SsangJieuj = 3769;
8613 enum int Hangul_SsangKiyeog = 3746;
8614 enum int Hangul_SsangPieub = 3763;
8615 enum int Hangul_SsangSios = 3766;
8616 enum int Hangul_Start = 65330;
8617 enum int Hangul_SunkyeongeumMieum = 3824;
8618 enum int Hangul_SunkyeongeumPhieuf = 3828;
8619 enum int Hangul_SunkyeongeumPieub = 3825;
8620 enum int Hangul_Tieut = 3772;
8621 enum int Hangul_U = 3788;
8622 enum int Hangul_WA = 3784;
8623 enum int Hangul_WAE = 3785;
8624 enum int Hangul_WE = 3790;
8625 enum int Hangul_WEO = 3789;
8626 enum int Hangul_WI = 3791;
8627 enum int Hangul_YA = 3777;
8628 enum int Hangul_YAE = 3778;
8629 enum int Hangul_YE = 3782;
8630 enum int Hangul_YEO = 3781;
8631 enum int Hangul_YI = 3794;
8632 enum int Hangul_YO = 3787;
8633 enum int Hangul_YU = 3792;
8634 enum int Hangul_YeorinHieuh = 3829;
8635 enum int Hangul_switch = 65406;
8636 enum int Hankaku = 65321;
8637 enum int Hcircumflex = 678;
8638 enum int Hebrew_switch = 65406;
8639 enum int Help = 65386;
8640 enum int Henkan = 65315;
8641 enum int Henkan_Mode = 65315;
8642 enum int Hibernate = 269025192;
8643 enum int Hiragana = 65317;
8644 enum int Hiragana_Katakana = 65319;
8645 enum int History = 269025079;
8646 enum int Home = 65360;
8647 enum int HomePage = 269025048;
8648 enum int HotLinks = 269025082;
8649 enum int Hstroke = 673;
8650 enum int Hyper_L = 65517;
8651 enum int Hyper_R = 65518;
8652 enum int I = 73;
8653 enum int ISO_Center_Object = 65075;
8654 enum int ISO_Continuous_Underline = 65072;
8655 enum int ISO_Discontinuous_Underline = 65073;
8656 enum int ISO_Emphasize = 65074;
8657 enum int ISO_Enter = 65076;
8658 enum int ISO_Fast_Cursor_Down = 65071;
8659 enum int ISO_Fast_Cursor_Left = 65068;
8660 enum int ISO_Fast_Cursor_Right = 65069;
8661 enum int ISO_Fast_Cursor_Up = 65070;
8662 enum int ISO_First_Group = 65036;
8663 enum int ISO_First_Group_Lock = 65037;
8664 enum int ISO_Group_Latch = 65030;
8665 enum int ISO_Group_Lock = 65031;
8666 enum int ISO_Group_Shift = 65406;
8667 enum int ISO_Last_Group = 65038;
8668 enum int ISO_Last_Group_Lock = 65039;
8669 enum int ISO_Left_Tab = 65056;
8670 enum int ISO_Level2_Latch = 65026;
8671 enum int ISO_Level3_Latch = 65028;
8672 enum int ISO_Level3_Lock = 65029;
8673 enum int ISO_Level3_Shift = 65027;
8674 enum int ISO_Level5_Latch = 65042;
8675 enum int ISO_Level5_Lock = 65043;
8676 enum int ISO_Level5_Shift = 65041;
8677 enum int ISO_Lock = 65025;
8678 enum int ISO_Move_Line_Down = 65058;
8679 enum int ISO_Move_Line_Up = 65057;
8680 enum int ISO_Next_Group = 65032;
8681 enum int ISO_Next_Group_Lock = 65033;
8682 enum int ISO_Partial_Line_Down = 65060;
8683 enum int ISO_Partial_Line_Up = 65059;
8684 enum int ISO_Partial_Space_Left = 65061;
8685 enum int ISO_Partial_Space_Right = 65062;
8686 enum int ISO_Prev_Group = 65034;
8687 enum int ISO_Prev_Group_Lock = 65035;
8688 enum int ISO_Release_Both_Margins = 65067;
8689 enum int ISO_Release_Margin_Left = 65065;
8690 enum int ISO_Release_Margin_Right = 65066;
8691 enum int ISO_Set_Margin_Left = 65063;
8692 enum int ISO_Set_Margin_Right = 65064;
8693 enum int Iabovedot = 681;
8694 enum int Iacute = 205;
8695 enum int Ibelowdot = 16785098;
8696 enum int Ibreve = 16777516;
8697 enum int Icircumflex = 206;
8698 enum int Idiaeresis = 207;
8699 enum int Igrave = 204;
8700 enum int Ihook = 16785096;
8701 enum int Imacron = 975;
8702 // Error conditions returned by clutter_init() and clutter_init_with_args().
8703 enum InitError /* Version 0.2 */ {
8704 SUCCESS = 1,
8705 ERROR_UNKNOWN = 0,
8706 ERROR_THREADS = -1,
8707 ERROR_BACKEND = -2,
8708 ERROR_INTERNAL = -3
8710 // The type of axes Clutter recognizes on a #ClutterInputDevice
8711 enum InputAxis /* Version 1.6 */ {
8712 IGNORE = 0,
8713 X = 1,
8714 Y = 2,
8715 PRESSURE = 3,
8716 XTILT = 4,
8717 YTILT = 5,
8718 WHEEL = 6
8721 // Generic representation of an input device. The actual contents of this
8722 // structure depend on the backend used.
8723 struct InputDevice /* : GObject.Object */ {
8724 alias method_parent this;
8725 alias method_parent super_;
8726 alias method_parent object;
8727 GObject2.Object method_parent;
8730 // VERSION: 1.6
8731 // Retrieves a pointer to the #ClutterInputDevice that has been
8732 // associated to @device.
8734 // If the #ClutterInputDevice:device-mode property of @device is
8735 // set to %CLUTTER_INPUT_MODE_MASTER, this function will return
8736 // %NULL.
8737 // RETURNS: a #ClutterInputDevice, or %NULL
8738 InputDevice* get_associated_device()() {
8739 return clutter_input_device_get_associated_device(&this);
8742 // VERSION: 1.6
8743 // Retrieves the type of axis on @device at the given index.
8744 // RETURNS: the axis type
8745 // <index_>: the index of the axis
8746 InputAxis get_axis()(uint index_) {
8747 return clutter_input_device_get_axis(&this, index_);
8750 // VERSION: 1.6
8751 // Extracts the value of the given @axis of a #ClutterInputDevice from
8752 // an array of axis values.
8754 // An example of typical usage for this function is:
8756 // |[
8757 // ClutterInputDevice *device = clutter_event_get_device (event);
8758 // gdouble *axes = clutter_event_get_axes (event, NULL);
8759 // gdouble pressure_value = 0;
8761 // clutter_input_device_get_axis_value (device, axes,
8762 // CLUTTER_INPUT_AXIS_PRESSURE,
8763 // &amp;pressure_value);
8764 // ]|
8765 // RETURNS: %TRUE if the value was set, and %FALSE otherwise
8766 // <axes>: an array of axes values, typically coming from clutter_event_get_axes()
8767 // <axis>: the axis to extract
8768 // <value>: return location for the axis value
8769 int get_axis_value()(double* axes, InputAxis axis, /*out*/ double* value) {
8770 return clutter_input_device_get_axis_value(&this, axes, axis, value);
8773 // VERSION: 1.2
8774 // Retrieves the latest coordinates of the pointer of @device
8775 // <x>: return location for the X coordinate
8776 // <y>: return location for the Y coordinate
8777 void get_device_coords()(/*out*/ int* x, /*out*/ int* y) {
8778 clutter_input_device_get_device_coords(&this, x, y);
8781 // VERSION: 1.0
8782 // Retrieves the unique identifier of @device
8783 // RETURNS: the identifier of the device
8784 int get_device_id()() {
8785 return clutter_input_device_get_device_id(&this);
8788 // VERSION: 1.6
8789 // Retrieves the #ClutterInputMode of @device.
8790 // RETURNS: the device mode
8791 InputMode get_device_mode()() {
8792 return clutter_input_device_get_device_mode(&this);
8795 // VERSION: 1.2
8796 // Retrieves the name of the @device
8798 // is owned by the #ClutterInputDevice and should never be modified
8799 // or freed
8800 // RETURNS: the name of the device, or %NULL. The returned string
8801 char* get_device_name()() {
8802 return clutter_input_device_get_device_name(&this);
8805 // VERSION: 1.0
8806 // Retrieves the type of @device
8807 // RETURNS: the type of the device
8808 InputDeviceType get_device_type()() {
8809 return clutter_input_device_get_device_type(&this);
8812 // VERSION: 1.6
8813 // Retrieves whether @device is enabled.
8814 // RETURNS: %TRUE if the device is enabled
8815 int get_enabled()() {
8816 return clutter_input_device_get_enabled(&this);
8819 // VERSION: 1.6
8820 // Retrieves whether @device has a pointer that follows the
8821 // device motion.
8822 // RETURNS: %TRUE if the device has a cursor
8823 int get_has_cursor()() {
8824 return clutter_input_device_get_has_cursor(&this);
8827 // VERSION: 1.6
8828 // Retrieves the key set using clutter_input_device_set_key()
8829 // RETURNS: %TRUE if a key was set at the given index
8830 // <index_>: the index of the key
8831 // <keyval>: return location for the keyval at @index_
8832 // <modifiers>: return location for the modifiers at @index_
8833 int get_key()(uint index_, /*out*/ uint* keyval, /*out*/ ModifierType* modifiers) {
8834 return clutter_input_device_get_key(&this, index_, keyval, modifiers);
8837 // VERSION: 1.6
8838 // Retrieves the number of axes available on @device.
8839 // RETURNS: the number of axes on the device
8840 uint get_n_axes()() {
8841 return clutter_input_device_get_n_axes(&this);
8844 // VERSION: 1.6
8845 // Retrieves the number of keys registered for @device.
8846 // RETURNS: the number of registered keys
8847 uint get_n_keys()() {
8848 return clutter_input_device_get_n_keys(&this);
8851 // VERSION: 1.2
8852 // Retrieves the #ClutterActor underneath the pointer of @device
8853 // RETURNS: a pointer to the #ClutterActor or %NULL
8854 Actor* get_pointer_actor()() {
8855 return clutter_input_device_get_pointer_actor(&this);
8858 // VERSION: 1.2
8859 // Retrieves the #ClutterStage underneath the pointer of @device
8860 // RETURNS: a pointer to the #ClutterStage or %NULL
8861 Stage* get_pointer_stage()() {
8862 return clutter_input_device_get_pointer_stage(&this);
8865 // VERSION: 1.6
8866 // Retrieves the slave devices attached to @device.
8868 // list of #ClutterInputDevice, or %NULL. The contents of the list are
8869 // owned by the device. Use g_list_free() when done
8870 // RETURNS: a
8871 GLib2.List* /*new container*/ get_slave_devices()() {
8872 return clutter_input_device_get_slave_devices(&this);
8875 // VERSION: 1.6
8876 // Enables or disables a #ClutterInputDevice.
8878 // Only devices with a #ClutterInputDevice:device-mode property set
8879 // to %CLUTTER_INPUT_MODE_SLAVE or %CLUTTER_INPUT_MODE_FLOATING can
8880 // be disabled.
8881 // <enabled>: %TRUE to enable the @device
8882 void set_enabled()(int enabled) {
8883 clutter_input_device_set_enabled(&this, enabled);
8886 // VERSION: 1.6
8887 // Sets the keyval and modifiers at the given @index_ for @device.
8889 // Clutter will use the keyval and modifiers set when filling out
8890 // an event coming from the same input device.
8891 // <index_>: the index of the key
8892 // <keyval>: the keyval
8893 // <modifiers>: a bitmask of modifiers
8894 void set_key()(uint index_, uint keyval, ModifierType modifiers) {
8895 clutter_input_device_set_key(&this, index_, keyval, modifiers);
8898 // VERSION: 1.2
8899 // Forcibly updates the state of the @device using a #ClutterEvent
8901 // This function should never be used by applications: it is meant
8902 // for integration with embedding toolkits, like clutter-gtk
8904 // Embedding toolkits that disable the event collection inside Clutter
8905 // need to use this function to update the state of input devices depending
8906 // on a #ClutterEvent that they are going to submit to the event handling code
8907 // in Clutter though clutter_do_event(). Since the input devices hold the state
8908 // that is going to be used to fill in fields like the #ClutterButtonEvent
8909 // click count, or to emit synthesized events like %CLUTTER_ENTER and
8910 // %CLUTTER_LEAVE, it is necessary for embedding toolkits to also be
8911 // responsible of updating the input device state.
8913 // For instance, this might be the code to translate an embedding toolkit
8914 // native motion notification into a Clutter #ClutterMotionEvent and ask
8915 // Clutter to process it:
8917 // |[
8918 // ClutterEvent c_event;
8920 // translate_native_event_to_clutter (native_event, &amp;c_event);
8922 // clutter_do_event (&amp;c_event);
8923 // ]|
8925 // Before letting clutter_do_event() process the event, it is necessary to call
8926 // clutter_input_device_update_from_event():
8928 // |[
8929 // ClutterEvent c_event;
8930 // ClutterDeviceManager *manager;
8931 // ClutterInputDevice *device;
8933 // translate_native_event_to_clutter (native_event, &amp;c_event);
8935 // /&ast; get the device manager &ast;/
8936 // manager = clutter_device_manager_get_default ();
8938 // /&ast; use the default Core Pointer that Clutter
8939 // &ast; backends register by default
8940 // &ast;/
8941 // device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE);
8943 // /&ast; update the state of the input device &ast;/
8944 // clutter_input_device_update_from_event (device, &amp;c_event, FALSE);
8946 // clutter_do_event (&amp;c_event);
8947 // ]|
8949 // The @update_stage boolean argument should be used when the input device
8950 // enters and leaves a #ClutterStage; it will use the #ClutterStage field
8951 // of the passed @event to update the stage associated to the input device.
8952 // <event>: a #ClutterEvent
8953 // <update_stage>: whether to update the #ClutterStage of the @device using the stage of the event
8954 void update_from_event()(Event* event, int update_stage) {
8955 clutter_input_device_update_from_event(&this, event, update_stage);
8959 struct InputDeviceClass {
8963 // The types of input devices available.
8965 // The #ClutterInputDeviceType enumeration can be extended at later
8966 // date; not every platform supports every input device type.
8967 enum InputDeviceType /* Version 1.0 */ {
8968 POINTER_DEVICE = 0,
8969 KEYBOARD_DEVICE = 1,
8970 EXTENSION_DEVICE = 2,
8971 JOYSTICK_DEVICE = 3,
8972 TABLET_DEVICE = 4,
8973 TOUCHPAD_DEVICE = 5,
8974 TOUCHSCREEN_DEVICE = 6,
8975 PEN_DEVICE = 7,
8976 ERASER_DEVICE = 8,
8977 CURSOR_DEVICE = 9,
8978 N_DEVICE_TYPES = 10
8980 // The mode for input devices available.
8981 enum InputMode /* Version 1.6 */ {
8982 MASTER = 0,
8983 SLAVE = 1,
8984 FLOATING = 2
8986 enum int Insert = 65379;
8987 // The mode of interpolation between key frames
8988 enum Interpolation /* Version 1.2 */ {
8989 LINEAR = 0,
8990 CUBIC = 1
8993 // The #ClutterInterval structure contains only private data and should
8994 // be accessed using the provided functions.
8995 struct Interval /* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
8996 alias parent_instance this;
8997 alias parent_instance super_;
8998 alias parent_instance initiallyunowned;
8999 GObject2.InitiallyUnowned parent_instance;
9000 private IntervalPrivate* priv;
9003 // Unintrospectable constructor: new() / clutter_interval_new()
9004 // VERSION: 1.0
9005 // Creates a new #ClutterInterval holding values of type @gtype.
9007 // This function avoids using a #GValue for the initial and final values
9008 // of the interval:
9010 // |[
9011 // interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0);
9012 // interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE);
9013 // interval = clutter_interval_new (G_TYPE_INT, 0, 360);
9014 // ]|
9015 // RETURNS: the newly created #ClutterInterval
9016 // <gtype>: the type of the values in the interval
9017 alias clutter_interval_new new_; // Variadic
9019 // VERSION: 1.0
9020 // Creates a new #ClutterInterval of type @gtype, between @initial
9021 // and @final.
9023 // This function is useful for language bindings.
9024 // RETURNS: the newly created #ClutterInterval
9025 // <gtype>: the type of the values in the interval
9026 // <initial>: a #GValue holding the initial value of the interval
9027 // <final>: a #GValue holding the final value of the interval
9028 static Interval* new_with_values()(Type gtype, GObject2.Value* initial, GObject2.Value* final_) {
9029 return clutter_interval_new_with_values(gtype, initial, final_);
9032 // Unintrospectable function: register_progress_func() / clutter_interval_register_progress_func()
9033 // VERSION: 1.0
9034 // Sets the progress function for a given @value_type, like:
9036 // |[
9037 // clutter_interval_register_progress_func (MY_TYPE_FOO,
9038 // my_foo_progress);
9039 // ]|
9041 // Whenever a #ClutterInterval instance using the default
9042 // #ClutterInterval::compute_value implementation is set as an
9043 // interval between two #GValue of type @value_type, it will call
9044 // @func to establish the value depending on the given progress,
9045 // for instance:
9047 // |[
9048 // static gboolean
9049 // my_int_progress (const GValue *a,
9050 // const GValue *b,
9051 // gdouble progress,
9052 // GValue *retval)
9053 // {
9054 // gint ia = g_value_get_int (a);
9055 // gint ib = g_value_get_int (b);
9056 // gint res = factor * (ib - ia) + ia;
9058 // g_value_set_int (retval, res);
9060 // return TRUE;
9061 // }
9063 // clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress);
9064 // ]|
9066 // To unset a previously set progress function of a #GType, pass %NULL
9067 // for @func.
9068 // <value_type>: a #GType
9069 // <func>: a #ClutterProgressFunc, or %NULL to unset a previously set progress function
9070 static void register_progress_func()(Type value_type, ProgressFunc func) {
9071 clutter_interval_register_progress_func(value_type, func);
9074 // VERSION: 1.0
9075 // Creates a copy of @interval.
9076 // RETURNS: the newly created #ClutterInterval
9077 Interval* /*new*/ clone()() {
9078 return clutter_interval_clone(&this);
9081 // VERSION: 1.4
9082 // Computes the value between the @interval boundaries given the
9083 // progress @factor
9085 // Unlike clutter_interval_compute_value(), this function will
9086 // return a const pointer to the computed value
9088 // You should use this function if you immediately pass the computed
9089 // value to another function that makes a copy of it, like
9090 // g_object_set_property()
9092 // or %NULL if the computation was not successfull
9093 // RETURNS: a pointer to the computed value,
9094 // <factor>: the progress factor, between 0 and 1
9095 GObject2.Value* compute()(double factor) {
9096 return clutter_interval_compute(&this, factor);
9099 // VERSION: 1.0
9100 // Computes the value between the @interval boundaries given the
9101 // progress @factor and copies it into @value.
9102 // RETURNS: %TRUE if the operation was successful
9103 // <factor>: the progress factor, between 0 and 1
9104 // <value>: return location for an initialized #GValue
9105 int compute_value()(double factor, /*out*/ GObject2.Value* value) {
9106 return clutter_interval_compute_value(&this, factor, value);
9109 // VERSION: 1.0
9110 // Retrieves the final value of @interval and copies
9111 // it into @value.
9113 // The passed #GValue must be initialized to the value held by
9114 // the #ClutterInterval.
9115 // <value>: a #GValue
9116 void get_final_value()(/*out*/ GObject2.Value* value) {
9117 clutter_interval_get_final_value(&this, value);
9120 // VERSION: 1.0
9121 // Retrieves the initial value of @interval and copies
9122 // it into @value.
9124 // The passed #GValue must be initialized to the value held by
9125 // the #ClutterInterval.
9126 // <value>: a #GValue
9127 void get_initial_value()(/*out*/ GObject2.Value* value) {
9128 clutter_interval_get_initial_value(&this, value);
9131 // Unintrospectable method: get_interval() / clutter_interval_get_interval()
9132 // VERSION: 1.0
9133 // Variable arguments wrapper for clutter_interval_get_initial_value()
9134 // and clutter_interval_get_final_value() that avoids using the
9135 // #GValue arguments:
9137 // |[
9138 // gint a = 0, b = 0;
9139 // clutter_interval_get_interval (interval, &a, &b);
9140 // ]|
9142 // This function is meant for the convenience of the C API; bindings
9143 // should reimplement this function using the #GValue-based API.
9144 /+ Not available -- variadic methods unsupported - use the C function directly.
9145 alias clutter_interval_get_interval get_interval; // Variadic
9148 // VERSION: 1.0
9149 // Retrieves the #GType of the values inside @interval.
9150 // RETURNS: the type of the value, or G_TYPE_INVALID
9151 Type get_value_type()() {
9152 return clutter_interval_get_value_type(&this);
9155 // VERSION: 1.0
9156 // Gets the pointer to the final value of @interval
9158 // The value is owned by the #ClutterInterval and it should not be
9159 // modified or freed
9160 // RETURNS: the final value of the interval.
9161 GObject2.Value* peek_final_value()() {
9162 return clutter_interval_peek_final_value(&this);
9165 // VERSION: 1.0
9166 // Gets the pointer to the initial value of @interval
9168 // The value is owned by the #ClutterInterval and it should not be
9169 // modified or freed
9170 // RETURNS: the initial value of the interval.
9171 GObject2.Value* peek_initial_value()() {
9172 return clutter_interval_peek_initial_value(&this);
9175 // VERSION: 1.0
9176 // Sets the final value of @interval to @value. The value is
9177 // copied inside the #ClutterInterval.
9178 // <value>: a #GValue
9179 void set_final_value()(GObject2.Value* value) {
9180 clutter_interval_set_final_value(&this, value);
9183 // VERSION: 1.0
9184 // Sets the initial value of @interval to @value. The value is copied
9185 // inside the #ClutterInterval.
9186 // <value>: a #GValue
9187 void set_initial_value()(GObject2.Value* value) {
9188 clutter_interval_set_initial_value(&this, value);
9191 // Unintrospectable method: set_interval() / clutter_interval_set_interval()
9192 // VERSION: 1.0
9193 // Variable arguments wrapper for clutter_interval_set_initial_value()
9194 // and clutter_interval_set_final_value() that avoids using the
9195 // #GValue arguments:
9197 // |[
9198 // clutter_interval_set_interval (interval, 0, 50);
9199 // clutter_interval_set_interval (interval, 1.0, 0.0);
9200 // clutter_interval_set_interval (interval, FALSE, TRUE);
9201 // ]|
9203 // This function is meant for the convenience of the C API; bindings
9204 // should reimplement this function using the #GValue-based API.
9205 /+ Not available -- variadic methods unsupported - use the C function directly.
9206 alias clutter_interval_set_interval set_interval; // Variadic
9209 // VERSION: 1.0
9210 // Validates the initial and final values of @interval against
9211 // a #GParamSpec.
9212 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
9213 // <pspec>: a #GParamSpec
9214 int validate()(GObject2.ParamSpec* pspec) {
9215 return clutter_interval_validate(&this, pspec);
9219 // The #ClutterIntervalClass contains only private data.
9220 struct IntervalClass /* Version 1.0 */ {
9221 private GObject2.InitiallyUnownedClass parent_class;
9223 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
9224 // <pspec>: a #GParamSpec
9225 extern (C) int function (Interval* interval, GObject2.ParamSpec* pspec) validate;
9227 // RETURNS: %TRUE if the operation was successful
9228 // <factor>: the progress factor, between 0 and 1
9229 // <value>: return location for an initialized #GValue
9230 extern (C) int function (Interval* interval, double factor, /*out*/ GObject2.Value* value) compute_value;
9231 extern (C) void function () _clutter_reserved1;
9232 extern (C) void function () _clutter_reserved2;
9233 extern (C) void function () _clutter_reserved3;
9234 extern (C) void function () _clutter_reserved4;
9235 extern (C) void function () _clutter_reserved5;
9236 extern (C) void function () _clutter_reserved6;
9239 struct IntervalPrivate {
9242 enum int Iogonek = 967;
9243 enum int Itilde = 933;
9244 enum int J = 74;
9245 enum int Jcircumflex = 684;
9246 enum int K = 75;
9247 enum int KEY_0 = 48;
9248 enum int KEY_1 = 49;
9249 enum int KEY_2 = 50;
9250 enum int KEY_3 = 51;
9251 enum int KEY_3270_AltCursor = 64784;
9252 enum int KEY_3270_Attn = 64782;
9253 enum int KEY_3270_BackTab = 64773;
9254 enum int KEY_3270_ChangeScreen = 64793;
9255 enum int KEY_3270_Copy = 64789;
9256 enum int KEY_3270_CursorBlink = 64783;
9257 enum int KEY_3270_CursorSelect = 64796;
9258 enum int KEY_3270_DeleteWord = 64794;
9259 enum int KEY_3270_Duplicate = 64769;
9260 enum int KEY_3270_Enter = 64798;
9261 enum int KEY_3270_EraseEOF = 64774;
9262 enum int KEY_3270_EraseInput = 64775;
9263 enum int KEY_3270_ExSelect = 64795;
9264 enum int KEY_3270_FieldMark = 64770;
9265 enum int KEY_3270_Ident = 64787;
9266 enum int KEY_3270_Jump = 64786;
9267 enum int KEY_3270_KeyClick = 64785;
9268 enum int KEY_3270_Left2 = 64772;
9269 enum int KEY_3270_PA1 = 64778;
9270 enum int KEY_3270_PA2 = 64779;
9271 enum int KEY_3270_PA3 = 64780;
9272 enum int KEY_3270_Play = 64790;
9273 enum int KEY_3270_PrintScreen = 64797;
9274 enum int KEY_3270_Quit = 64777;
9275 enum int KEY_3270_Record = 64792;
9276 enum int KEY_3270_Reset = 64776;
9277 enum int KEY_3270_Right2 = 64771;
9278 enum int KEY_3270_Rule = 64788;
9279 enum int KEY_3270_Setup = 64791;
9280 enum int KEY_3270_Test = 64781;
9281 enum int KEY_4 = 52;
9282 enum int KEY_5 = 53;
9283 enum int KEY_6 = 54;
9284 enum int KEY_7 = 55;
9285 enum int KEY_8 = 56;
9286 enum int KEY_9 = 57;
9287 enum int KEY_A = 65;
9288 enum int KEY_AE = 198;
9289 enum int KEY_Aacute = 193;
9290 enum int KEY_Abelowdot = 16785056;
9291 enum int KEY_Abreve = 451;
9292 enum int KEY_Abreveacute = 16785070;
9293 enum int KEY_Abrevebelowdot = 16785078;
9294 enum int KEY_Abrevegrave = 16785072;
9295 enum int KEY_Abrevehook = 16785074;
9296 enum int KEY_Abrevetilde = 16785076;
9297 enum int KEY_AccessX_Enable = 65136;
9298 enum int KEY_AccessX_Feedback_Enable = 65137;
9299 enum int KEY_Acircumflex = 194;
9300 enum int KEY_Acircumflexacute = 16785060;
9301 enum int KEY_Acircumflexbelowdot = 16785068;
9302 enum int KEY_Acircumflexgrave = 16785062;
9303 enum int KEY_Acircumflexhook = 16785064;
9304 enum int KEY_Acircumflextilde = 16785066;
9305 enum int KEY_AddFavorite = 269025081;
9306 enum int KEY_Adiaeresis = 196;
9307 enum int KEY_Agrave = 192;
9308 enum int KEY_Ahook = 16785058;
9309 enum int KEY_Alt_L = 65513;
9310 enum int KEY_Alt_R = 65514;
9311 enum int KEY_Amacron = 960;
9312 enum int KEY_Aogonek = 417;
9313 enum int KEY_ApplicationLeft = 269025104;
9314 enum int KEY_ApplicationRight = 269025105;
9315 enum int KEY_Arabic_0 = 16778848;
9316 enum int KEY_Arabic_1 = 16778849;
9317 enum int KEY_Arabic_2 = 16778850;
9318 enum int KEY_Arabic_3 = 16778851;
9319 enum int KEY_Arabic_4 = 16778852;
9320 enum int KEY_Arabic_5 = 16778853;
9321 enum int KEY_Arabic_6 = 16778854;
9322 enum int KEY_Arabic_7 = 16778855;
9323 enum int KEY_Arabic_8 = 16778856;
9324 enum int KEY_Arabic_9 = 16778857;
9325 enum int KEY_Arabic_ain = 1497;
9326 enum int KEY_Arabic_alef = 1479;
9327 enum int KEY_Arabic_alefmaksura = 1513;
9328 enum int KEY_Arabic_beh = 1480;
9329 enum int KEY_Arabic_comma = 1452;
9330 enum int KEY_Arabic_dad = 1494;
9331 enum int KEY_Arabic_dal = 1487;
9332 enum int KEY_Arabic_damma = 1519;
9333 enum int KEY_Arabic_dammatan = 1516;
9334 enum int KEY_Arabic_ddal = 16778888;
9335 enum int KEY_Arabic_farsi_yeh = 16778956;
9336 enum int KEY_Arabic_fatha = 1518;
9337 enum int KEY_Arabic_fathatan = 1515;
9338 enum int KEY_Arabic_feh = 1505;
9339 enum int KEY_Arabic_fullstop = 16778964;
9340 enum int KEY_Arabic_gaf = 16778927;
9341 enum int KEY_Arabic_ghain = 1498;
9342 enum int KEY_Arabic_ha = 1511;
9343 enum int KEY_Arabic_hah = 1485;
9344 enum int KEY_Arabic_hamza = 1473;
9345 enum int KEY_Arabic_hamza_above = 16778836;
9346 enum int KEY_Arabic_hamza_below = 16778837;
9347 enum int KEY_Arabic_hamzaonalef = 1475;
9348 enum int KEY_Arabic_hamzaonwaw = 1476;
9349 enum int KEY_Arabic_hamzaonyeh = 1478;
9350 enum int KEY_Arabic_hamzaunderalef = 1477;
9351 enum int KEY_Arabic_heh = 1511;
9352 enum int KEY_Arabic_heh_doachashmee = 16778942;
9353 enum int KEY_Arabic_heh_goal = 16778945;
9354 enum int KEY_Arabic_jeem = 1484;
9355 enum int KEY_Arabic_jeh = 16778904;
9356 enum int KEY_Arabic_kaf = 1507;
9357 enum int KEY_Arabic_kasra = 1520;
9358 enum int KEY_Arabic_kasratan = 1517;
9359 enum int KEY_Arabic_keheh = 16778921;
9360 enum int KEY_Arabic_khah = 1486;
9361 enum int KEY_Arabic_lam = 1508;
9362 enum int KEY_Arabic_madda_above = 16778835;
9363 enum int KEY_Arabic_maddaonalef = 1474;
9364 enum int KEY_Arabic_meem = 1509;
9365 enum int KEY_Arabic_noon = 1510;
9366 enum int KEY_Arabic_noon_ghunna = 16778938;
9367 enum int KEY_Arabic_peh = 16778878;
9368 enum int KEY_Arabic_percent = 16778858;
9369 enum int KEY_Arabic_qaf = 1506;
9370 enum int KEY_Arabic_question_mark = 1471;
9371 enum int KEY_Arabic_ra = 1489;
9372 enum int KEY_Arabic_rreh = 16778897;
9373 enum int KEY_Arabic_sad = 1493;
9374 enum int KEY_Arabic_seen = 1491;
9375 enum int KEY_Arabic_semicolon = 1467;
9376 enum int KEY_Arabic_shadda = 1521;
9377 enum int KEY_Arabic_sheen = 1492;
9378 enum int KEY_Arabic_sukun = 1522;
9379 enum int KEY_Arabic_superscript_alef = 16778864;
9380 enum int KEY_Arabic_switch = 65406;
9381 enum int KEY_Arabic_tah = 1495;
9382 enum int KEY_Arabic_tatweel = 1504;
9383 enum int KEY_Arabic_tcheh = 16778886;
9384 enum int KEY_Arabic_teh = 1482;
9385 enum int KEY_Arabic_tehmarbuta = 1481;
9386 enum int KEY_Arabic_thal = 1488;
9387 enum int KEY_Arabic_theh = 1483;
9388 enum int KEY_Arabic_tteh = 16778873;
9389 enum int KEY_Arabic_veh = 16778916;
9390 enum int KEY_Arabic_waw = 1512;
9391 enum int KEY_Arabic_yeh = 1514;
9392 enum int KEY_Arabic_yeh_baree = 16778962;
9393 enum int KEY_Arabic_zah = 1496;
9394 enum int KEY_Arabic_zain = 1490;
9395 enum int KEY_Aring = 197;
9396 enum int KEY_Armenian_AT = 16778552;
9397 enum int KEY_Armenian_AYB = 16778545;
9398 enum int KEY_Armenian_BEN = 16778546;
9399 enum int KEY_Armenian_CHA = 16778569;
9400 enum int KEY_Armenian_DA = 16778548;
9401 enum int KEY_Armenian_DZA = 16778561;
9402 enum int KEY_Armenian_E = 16778551;
9403 enum int KEY_Armenian_FE = 16778582;
9404 enum int KEY_Armenian_GHAT = 16778562;
9405 enum int KEY_Armenian_GIM = 16778547;
9406 enum int KEY_Armenian_HI = 16778565;
9407 enum int KEY_Armenian_HO = 16778560;
9408 enum int KEY_Armenian_INI = 16778555;
9409 enum int KEY_Armenian_JE = 16778571;
9410 enum int KEY_Armenian_KE = 16778580;
9411 enum int KEY_Armenian_KEN = 16778559;
9412 enum int KEY_Armenian_KHE = 16778557;
9413 enum int KEY_Armenian_LYUN = 16778556;
9414 enum int KEY_Armenian_MEN = 16778564;
9415 enum int KEY_Armenian_NU = 16778566;
9416 enum int KEY_Armenian_O = 16778581;
9417 enum int KEY_Armenian_PE = 16778570;
9418 enum int KEY_Armenian_PYUR = 16778579;
9419 enum int KEY_Armenian_RA = 16778572;
9420 enum int KEY_Armenian_RE = 16778576;
9421 enum int KEY_Armenian_SE = 16778573;
9422 enum int KEY_Armenian_SHA = 16778567;
9423 enum int KEY_Armenian_TCHE = 16778563;
9424 enum int KEY_Armenian_TO = 16778553;
9425 enum int KEY_Armenian_TSA = 16778558;
9426 enum int KEY_Armenian_TSO = 16778577;
9427 enum int KEY_Armenian_TYUN = 16778575;
9428 enum int KEY_Armenian_VEV = 16778574;
9429 enum int KEY_Armenian_VO = 16778568;
9430 enum int KEY_Armenian_VYUN = 16778578;
9431 enum int KEY_Armenian_YECH = 16778549;
9432 enum int KEY_Armenian_ZA = 16778550;
9433 enum int KEY_Armenian_ZHE = 16778554;
9434 enum int KEY_Armenian_accent = 16778587;
9435 enum int KEY_Armenian_amanak = 16778588;
9436 enum int KEY_Armenian_apostrophe = 16778586;
9437 enum int KEY_Armenian_at = 16778600;
9438 enum int KEY_Armenian_ayb = 16778593;
9439 enum int KEY_Armenian_ben = 16778594;
9440 enum int KEY_Armenian_but = 16778589;
9441 enum int KEY_Armenian_cha = 16778617;
9442 enum int KEY_Armenian_da = 16778596;
9443 enum int KEY_Armenian_dza = 16778609;
9444 enum int KEY_Armenian_e = 16778599;
9445 enum int KEY_Armenian_exclam = 16778588;
9446 enum int KEY_Armenian_fe = 16778630;
9447 enum int KEY_Armenian_full_stop = 16778633;
9448 enum int KEY_Armenian_ghat = 16778610;
9449 enum int KEY_Armenian_gim = 16778595;
9450 enum int KEY_Armenian_hi = 16778613;
9451 enum int KEY_Armenian_ho = 16778608;
9452 enum int KEY_Armenian_hyphen = 16778634;
9453 enum int KEY_Armenian_ini = 16778603;
9454 enum int KEY_Armenian_je = 16778619;
9455 enum int KEY_Armenian_ke = 16778628;
9456 enum int KEY_Armenian_ken = 16778607;
9457 enum int KEY_Armenian_khe = 16778605;
9458 enum int KEY_Armenian_ligature_ew = 16778631;
9459 enum int KEY_Armenian_lyun = 16778604;
9460 enum int KEY_Armenian_men = 16778612;
9461 enum int KEY_Armenian_nu = 16778614;
9462 enum int KEY_Armenian_o = 16778629;
9463 enum int KEY_Armenian_paruyk = 16778590;
9464 enum int KEY_Armenian_pe = 16778618;
9465 enum int KEY_Armenian_pyur = 16778627;
9466 enum int KEY_Armenian_question = 16778590;
9467 enum int KEY_Armenian_ra = 16778620;
9468 enum int KEY_Armenian_re = 16778624;
9469 enum int KEY_Armenian_se = 16778621;
9470 enum int KEY_Armenian_separation_mark = 16778589;
9471 enum int KEY_Armenian_sha = 16778615;
9472 enum int KEY_Armenian_shesht = 16778587;
9473 enum int KEY_Armenian_tche = 16778611;
9474 enum int KEY_Armenian_to = 16778601;
9475 enum int KEY_Armenian_tsa = 16778606;
9476 enum int KEY_Armenian_tso = 16778625;
9477 enum int KEY_Armenian_tyun = 16778623;
9478 enum int KEY_Armenian_verjaket = 16778633;
9479 enum int KEY_Armenian_vev = 16778622;
9480 enum int KEY_Armenian_vo = 16778616;
9481 enum int KEY_Armenian_vyun = 16778626;
9482 enum int KEY_Armenian_yech = 16778597;
9483 enum int KEY_Armenian_yentamna = 16778634;
9484 enum int KEY_Armenian_za = 16778598;
9485 enum int KEY_Armenian_zhe = 16778602;
9486 enum int KEY_Atilde = 195;
9487 enum int KEY_AudibleBell_Enable = 65146;
9488 enum int KEY_AudioCycleTrack = 269025179;
9489 enum int KEY_AudioForward = 269025175;
9490 enum int KEY_AudioLowerVolume = 269025041;
9491 enum int KEY_AudioMedia = 269025074;
9492 enum int KEY_AudioMute = 269025042;
9493 enum int KEY_AudioNext = 269025047;
9494 enum int KEY_AudioPause = 269025073;
9495 enum int KEY_AudioPlay = 269025044;
9496 enum int KEY_AudioPrev = 269025046;
9497 enum int KEY_AudioRaiseVolume = 269025043;
9498 enum int KEY_AudioRandomPlay = 269025177;
9499 enum int KEY_AudioRecord = 269025052;
9500 enum int KEY_AudioRepeat = 269025176;
9501 enum int KEY_AudioRewind = 269025086;
9502 enum int KEY_AudioStop = 269025045;
9503 enum int KEY_Away = 269025165;
9504 enum int KEY_B = 66;
9505 enum int KEY_Babovedot = 16784898;
9506 enum int KEY_Back = 269025062;
9507 enum int KEY_BackForward = 269025087;
9508 enum int KEY_BackSpace = 65288;
9509 enum int KEY_Battery = 269025171;
9510 enum int KEY_Begin = 65368;
9511 enum int KEY_Blue = 269025190;
9512 enum int KEY_Bluetooth = 269025172;
9513 enum int KEY_Book = 269025106;
9514 enum int KEY_BounceKeys_Enable = 65140;
9515 enum int KEY_Break = 65387;
9516 enum int KEY_BrightnessAdjust = 269025083;
9517 enum int KEY_Byelorussian_SHORTU = 1726;
9518 enum int KEY_Byelorussian_shortu = 1710;
9519 enum int KEY_C = 67;
9520 enum int KEY_CD = 269025107;
9521 enum int KEY_Cabovedot = 709;
9522 enum int KEY_Cacute = 454;
9523 enum int KEY_Calculator = 269025053;
9524 enum int KEY_Calendar = 269025056;
9525 enum int KEY_Cancel = 65385;
9526 enum int KEY_Caps_Lock = 65509;
9527 enum int KEY_Ccaron = 456;
9528 enum int KEY_Ccedilla = 199;
9529 enum int KEY_Ccircumflex = 710;
9530 enum int KEY_Clear = 65291;
9531 enum int KEY_ClearGrab = 269024801;
9532 enum int KEY_Close = 269025110;
9533 enum int KEY_Codeinput = 65335;
9534 enum int KEY_ColonSign = 16785569;
9535 enum int KEY_Community = 269025085;
9536 enum int KEY_ContrastAdjust = 269025058;
9537 enum int KEY_Control_L = 65507;
9538 enum int KEY_Control_R = 65508;
9539 enum int KEY_Copy = 269025111;
9540 enum int KEY_CruzeiroSign = 16785570;
9541 enum int KEY_Cut = 269025112;
9542 enum int KEY_CycleAngle = 269025180;
9543 enum int KEY_Cyrillic_A = 1761;
9544 enum int KEY_Cyrillic_BE = 1762;
9545 enum int KEY_Cyrillic_CHE = 1790;
9546 enum int KEY_Cyrillic_CHE_descender = 16778422;
9547 enum int KEY_Cyrillic_CHE_vertstroke = 16778424;
9548 enum int KEY_Cyrillic_DE = 1764;
9549 enum int KEY_Cyrillic_DZHE = 1727;
9550 enum int KEY_Cyrillic_E = 1788;
9551 enum int KEY_Cyrillic_EF = 1766;
9552 enum int KEY_Cyrillic_EL = 1772;
9553 enum int KEY_Cyrillic_EM = 1773;
9554 enum int KEY_Cyrillic_EN = 1774;
9555 enum int KEY_Cyrillic_EN_descender = 16778402;
9556 enum int KEY_Cyrillic_ER = 1778;
9557 enum int KEY_Cyrillic_ES = 1779;
9558 enum int KEY_Cyrillic_GHE = 1767;
9559 enum int KEY_Cyrillic_GHE_bar = 16778386;
9560 enum int KEY_Cyrillic_HA = 1768;
9561 enum int KEY_Cyrillic_HARDSIGN = 1791;
9562 enum int KEY_Cyrillic_HA_descender = 16778418;
9563 enum int KEY_Cyrillic_I = 1769;
9564 enum int KEY_Cyrillic_IE = 1765;
9565 enum int KEY_Cyrillic_IO = 1715;
9566 enum int KEY_Cyrillic_I_macron = 16778466;
9567 enum int KEY_Cyrillic_JE = 1720;
9568 enum int KEY_Cyrillic_KA = 1771;
9569 enum int KEY_Cyrillic_KA_descender = 16778394;
9570 enum int KEY_Cyrillic_KA_vertstroke = 16778396;
9571 enum int KEY_Cyrillic_LJE = 1721;
9572 enum int KEY_Cyrillic_NJE = 1722;
9573 enum int KEY_Cyrillic_O = 1775;
9574 enum int KEY_Cyrillic_O_bar = 16778472;
9575 enum int KEY_Cyrillic_PE = 1776;
9576 enum int KEY_Cyrillic_SCHWA = 16778456;
9577 enum int KEY_Cyrillic_SHA = 1787;
9578 enum int KEY_Cyrillic_SHCHA = 1789;
9579 enum int KEY_Cyrillic_SHHA = 16778426;
9580 enum int KEY_Cyrillic_SHORTI = 1770;
9581 enum int KEY_Cyrillic_SOFTSIGN = 1784;
9582 enum int KEY_Cyrillic_TE = 1780;
9583 enum int KEY_Cyrillic_TSE = 1763;
9584 enum int KEY_Cyrillic_U = 1781;
9585 enum int KEY_Cyrillic_U_macron = 16778478;
9586 enum int KEY_Cyrillic_U_straight = 16778414;
9587 enum int KEY_Cyrillic_U_straight_bar = 16778416;
9588 enum int KEY_Cyrillic_VE = 1783;
9589 enum int KEY_Cyrillic_YA = 1777;
9590 enum int KEY_Cyrillic_YERU = 1785;
9591 enum int KEY_Cyrillic_YU = 1760;
9592 enum int KEY_Cyrillic_ZE = 1786;
9593 enum int KEY_Cyrillic_ZHE = 1782;
9594 enum int KEY_Cyrillic_ZHE_descender = 16778390;
9595 enum int KEY_Cyrillic_a = 1729;
9596 enum int KEY_Cyrillic_be = 1730;
9597 enum int KEY_Cyrillic_che = 1758;
9598 enum int KEY_Cyrillic_che_descender = 16778423;
9599 enum int KEY_Cyrillic_che_vertstroke = 16778425;
9600 enum int KEY_Cyrillic_de = 1732;
9601 enum int KEY_Cyrillic_dzhe = 1711;
9602 enum int KEY_Cyrillic_e = 1756;
9603 enum int KEY_Cyrillic_ef = 1734;
9604 enum int KEY_Cyrillic_el = 1740;
9605 enum int KEY_Cyrillic_em = 1741;
9606 enum int KEY_Cyrillic_en = 1742;
9607 enum int KEY_Cyrillic_en_descender = 16778403;
9608 enum int KEY_Cyrillic_er = 1746;
9609 enum int KEY_Cyrillic_es = 1747;
9610 enum int KEY_Cyrillic_ghe = 1735;
9611 enum int KEY_Cyrillic_ghe_bar = 16778387;
9612 enum int KEY_Cyrillic_ha = 1736;
9613 enum int KEY_Cyrillic_ha_descender = 16778419;
9614 enum int KEY_Cyrillic_hardsign = 1759;
9615 enum int KEY_Cyrillic_i = 1737;
9616 enum int KEY_Cyrillic_i_macron = 16778467;
9617 enum int KEY_Cyrillic_ie = 1733;
9618 enum int KEY_Cyrillic_io = 1699;
9619 enum int KEY_Cyrillic_je = 1704;
9620 enum int KEY_Cyrillic_ka = 1739;
9621 enum int KEY_Cyrillic_ka_descender = 16778395;
9622 enum int KEY_Cyrillic_ka_vertstroke = 16778397;
9623 enum int KEY_Cyrillic_lje = 1705;
9624 enum int KEY_Cyrillic_nje = 1706;
9625 enum int KEY_Cyrillic_o = 1743;
9626 enum int KEY_Cyrillic_o_bar = 16778473;
9627 enum int KEY_Cyrillic_pe = 1744;
9628 enum int KEY_Cyrillic_schwa = 16778457;
9629 enum int KEY_Cyrillic_sha = 1755;
9630 enum int KEY_Cyrillic_shcha = 1757;
9631 enum int KEY_Cyrillic_shha = 16778427;
9632 enum int KEY_Cyrillic_shorti = 1738;
9633 enum int KEY_Cyrillic_softsign = 1752;
9634 enum int KEY_Cyrillic_te = 1748;
9635 enum int KEY_Cyrillic_tse = 1731;
9636 enum int KEY_Cyrillic_u = 1749;
9637 enum int KEY_Cyrillic_u_macron = 16778479;
9638 enum int KEY_Cyrillic_u_straight = 16778415;
9639 enum int KEY_Cyrillic_u_straight_bar = 16778417;
9640 enum int KEY_Cyrillic_ve = 1751;
9641 enum int KEY_Cyrillic_ya = 1745;
9642 enum int KEY_Cyrillic_yeru = 1753;
9643 enum int KEY_Cyrillic_yu = 1728;
9644 enum int KEY_Cyrillic_ze = 1754;
9645 enum int KEY_Cyrillic_zhe = 1750;
9646 enum int KEY_Cyrillic_zhe_descender = 16778391;
9647 enum int KEY_D = 68;
9648 enum int KEY_DOS = 269025114;
9649 enum int KEY_Dabovedot = 16784906;
9650 enum int KEY_Dcaron = 463;
9651 enum int KEY_Delete = 65535;
9652 enum int KEY_Display = 269025113;
9653 enum int KEY_Documents = 269025115;
9654 enum int KEY_DongSign = 16785579;
9655 enum int KEY_Down = 65364;
9656 enum int KEY_Dstroke = 464;
9657 enum int KEY_E = 69;
9658 enum int KEY_ENG = 957;
9659 enum int KEY_ETH = 208;
9660 enum int KEY_Eabovedot = 972;
9661 enum int KEY_Eacute = 201;
9662 enum int KEY_Ebelowdot = 16785080;
9663 enum int KEY_Ecaron = 460;
9664 enum int KEY_Ecircumflex = 202;
9665 enum int KEY_Ecircumflexacute = 16785086;
9666 enum int KEY_Ecircumflexbelowdot = 16785094;
9667 enum int KEY_Ecircumflexgrave = 16785088;
9668 enum int KEY_Ecircumflexhook = 16785090;
9669 enum int KEY_Ecircumflextilde = 16785092;
9670 enum int KEY_EcuSign = 16785568;
9671 enum int KEY_Ediaeresis = 203;
9672 enum int KEY_Egrave = 200;
9673 enum int KEY_Ehook = 16785082;
9674 enum int KEY_Eisu_Shift = 65327;
9675 enum int KEY_Eisu_toggle = 65328;
9676 enum int KEY_Eject = 269025068;
9677 enum int KEY_Emacron = 938;
9678 enum int KEY_End = 65367;
9679 enum int KEY_Eogonek = 458;
9680 enum int KEY_Escape = 65307;
9681 enum int KEY_Eth = 208;
9682 enum int KEY_Etilde = 16785084;
9683 enum int KEY_EuroSign = 8364;
9684 enum int KEY_Excel = 269025116;
9685 enum int KEY_Execute = 65378;
9686 enum int KEY_Explorer = 269025117;
9687 enum int KEY_F = 70;
9688 enum int KEY_F1 = 65470;
9689 enum int KEY_F10 = 65479;
9690 enum int KEY_F11 = 65480;
9691 enum int KEY_F12 = 65481;
9692 enum int KEY_F13 = 65482;
9693 enum int KEY_F14 = 65483;
9694 enum int KEY_F15 = 65484;
9695 enum int KEY_F16 = 65485;
9696 enum int KEY_F17 = 65486;
9697 enum int KEY_F18 = 65487;
9698 enum int KEY_F19 = 65488;
9699 enum int KEY_F2 = 65471;
9700 enum int KEY_F20 = 65489;
9701 enum int KEY_F21 = 65490;
9702 enum int KEY_F22 = 65491;
9703 enum int KEY_F23 = 65492;
9704 enum int KEY_F24 = 65493;
9705 enum int KEY_F25 = 65494;
9706 enum int KEY_F26 = 65495;
9707 enum int KEY_F27 = 65496;
9708 enum int KEY_F28 = 65497;
9709 enum int KEY_F29 = 65498;
9710 enum int KEY_F3 = 65472;
9711 enum int KEY_F30 = 65499;
9712 enum int KEY_F31 = 65500;
9713 enum int KEY_F32 = 65501;
9714 enum int KEY_F33 = 65502;
9715 enum int KEY_F34 = 65503;
9716 enum int KEY_F35 = 65504;
9717 enum int KEY_F4 = 65473;
9718 enum int KEY_F5 = 65474;
9719 enum int KEY_F6 = 65475;
9720 enum int KEY_F7 = 65476;
9721 enum int KEY_F8 = 65477;
9722 enum int KEY_F9 = 65478;
9723 enum int KEY_FFrancSign = 16785571;
9724 enum int KEY_Fabovedot = 16784926;
9725 enum int KEY_Farsi_0 = 16778992;
9726 enum int KEY_Farsi_1 = 16778993;
9727 enum int KEY_Farsi_2 = 16778994;
9728 enum int KEY_Farsi_3 = 16778995;
9729 enum int KEY_Farsi_4 = 16778996;
9730 enum int KEY_Farsi_5 = 16778997;
9731 enum int KEY_Farsi_6 = 16778998;
9732 enum int KEY_Farsi_7 = 16778999;
9733 enum int KEY_Farsi_8 = 16779000;
9734 enum int KEY_Farsi_9 = 16779001;
9735 enum int KEY_Farsi_yeh = 16778956;
9736 enum int KEY_Favorites = 269025072;
9737 enum int KEY_Finance = 269025084;
9738 enum int KEY_Find = 65384;
9739 enum int KEY_First_Virtual_Screen = 65232;
9740 enum int KEY_Forward = 269025063;
9741 enum int KEY_FrameBack = 269025181;
9742 enum int KEY_FrameForward = 269025182;
9743 enum int KEY_G = 71;
9744 enum int KEY_Gabovedot = 725;
9745 enum int KEY_Game = 269025118;
9746 enum int KEY_Gbreve = 683;
9747 enum int KEY_Gcaron = 16777702;
9748 enum int KEY_Gcedilla = 939;
9749 enum int KEY_Gcircumflex = 728;
9750 enum int KEY_Georgian_an = 16781520;
9751 enum int KEY_Georgian_ban = 16781521;
9752 enum int KEY_Georgian_can = 16781546;
9753 enum int KEY_Georgian_char = 16781549;
9754 enum int KEY_Georgian_chin = 16781545;
9755 enum int KEY_Georgian_cil = 16781548;
9756 enum int KEY_Georgian_don = 16781523;
9757 enum int KEY_Georgian_en = 16781524;
9758 enum int KEY_Georgian_fi = 16781558;
9759 enum int KEY_Georgian_gan = 16781522;
9760 enum int KEY_Georgian_ghan = 16781542;
9761 enum int KEY_Georgian_hae = 16781552;
9762 enum int KEY_Georgian_har = 16781556;
9763 enum int KEY_Georgian_he = 16781553;
9764 enum int KEY_Georgian_hie = 16781554;
9765 enum int KEY_Georgian_hoe = 16781557;
9766 enum int KEY_Georgian_in = 16781528;
9767 enum int KEY_Georgian_jhan = 16781551;
9768 enum int KEY_Georgian_jil = 16781547;
9769 enum int KEY_Georgian_kan = 16781529;
9770 enum int KEY_Georgian_khar = 16781541;
9771 enum int KEY_Georgian_las = 16781530;
9772 enum int KEY_Georgian_man = 16781531;
9773 enum int KEY_Georgian_nar = 16781532;
9774 enum int KEY_Georgian_on = 16781533;
9775 enum int KEY_Georgian_par = 16781534;
9776 enum int KEY_Georgian_phar = 16781540;
9777 enum int KEY_Georgian_qar = 16781543;
9778 enum int KEY_Georgian_rae = 16781536;
9779 enum int KEY_Georgian_san = 16781537;
9780 enum int KEY_Georgian_shin = 16781544;
9781 enum int KEY_Georgian_tan = 16781527;
9782 enum int KEY_Georgian_tar = 16781538;
9783 enum int KEY_Georgian_un = 16781539;
9784 enum int KEY_Georgian_vin = 16781525;
9785 enum int KEY_Georgian_we = 16781555;
9786 enum int KEY_Georgian_xan = 16781550;
9787 enum int KEY_Georgian_zen = 16781526;
9788 enum int KEY_Georgian_zhar = 16781535;
9789 enum int KEY_Go = 269025119;
9790 enum int KEY_Greek_ALPHA = 1985;
9791 enum int KEY_Greek_ALPHAaccent = 1953;
9792 enum int KEY_Greek_BETA = 1986;
9793 enum int KEY_Greek_CHI = 2007;
9794 enum int KEY_Greek_DELTA = 1988;
9795 enum int KEY_Greek_EPSILON = 1989;
9796 enum int KEY_Greek_EPSILONaccent = 1954;
9797 enum int KEY_Greek_ETA = 1991;
9798 enum int KEY_Greek_ETAaccent = 1955;
9799 enum int KEY_Greek_GAMMA = 1987;
9800 enum int KEY_Greek_IOTA = 1993;
9801 enum int KEY_Greek_IOTAaccent = 1956;
9802 enum int KEY_Greek_IOTAdiaeresis = 1957;
9803 enum int KEY_Greek_IOTAdieresis = 1957;
9804 enum int KEY_Greek_KAPPA = 1994;
9805 enum int KEY_Greek_LAMBDA = 1995;
9806 enum int KEY_Greek_LAMDA = 1995;
9807 enum int KEY_Greek_MU = 1996;
9808 enum int KEY_Greek_NU = 1997;
9809 enum int KEY_Greek_OMEGA = 2009;
9810 enum int KEY_Greek_OMEGAaccent = 1963;
9811 enum int KEY_Greek_OMICRON = 1999;
9812 enum int KEY_Greek_OMICRONaccent = 1959;
9813 enum int KEY_Greek_PHI = 2006;
9814 enum int KEY_Greek_PI = 2000;
9815 enum int KEY_Greek_PSI = 2008;
9816 enum int KEY_Greek_RHO = 2001;
9817 enum int KEY_Greek_SIGMA = 2002;
9818 enum int KEY_Greek_TAU = 2004;
9819 enum int KEY_Greek_THETA = 1992;
9820 enum int KEY_Greek_UPSILON = 2005;
9821 enum int KEY_Greek_UPSILONaccent = 1960;
9822 enum int KEY_Greek_UPSILONdieresis = 1961;
9823 enum int KEY_Greek_XI = 1998;
9824 enum int KEY_Greek_ZETA = 1990;
9825 enum int KEY_Greek_accentdieresis = 1966;
9826 enum int KEY_Greek_alpha = 2017;
9827 enum int KEY_Greek_alphaaccent = 1969;
9828 enum int KEY_Greek_beta = 2018;
9829 enum int KEY_Greek_chi = 2039;
9830 enum int KEY_Greek_delta = 2020;
9831 enum int KEY_Greek_epsilon = 2021;
9832 enum int KEY_Greek_epsilonaccent = 1970;
9833 enum int KEY_Greek_eta = 2023;
9834 enum int KEY_Greek_etaaccent = 1971;
9835 enum int KEY_Greek_finalsmallsigma = 2035;
9836 enum int KEY_Greek_gamma = 2019;
9837 enum int KEY_Greek_horizbar = 1967;
9838 enum int KEY_Greek_iota = 2025;
9839 enum int KEY_Greek_iotaaccent = 1972;
9840 enum int KEY_Greek_iotaaccentdieresis = 1974;
9841 enum int KEY_Greek_iotadieresis = 1973;
9842 enum int KEY_Greek_kappa = 2026;
9843 enum int KEY_Greek_lambda = 2027;
9844 enum int KEY_Greek_lamda = 2027;
9845 enum int KEY_Greek_mu = 2028;
9846 enum int KEY_Greek_nu = 2029;
9847 enum int KEY_Greek_omega = 2041;
9848 enum int KEY_Greek_omegaaccent = 1979;
9849 enum int KEY_Greek_omicron = 2031;
9850 enum int KEY_Greek_omicronaccent = 1975;
9851 enum int KEY_Greek_phi = 2038;
9852 enum int KEY_Greek_pi = 2032;
9853 enum int KEY_Greek_psi = 2040;
9854 enum int KEY_Greek_rho = 2033;
9855 enum int KEY_Greek_sigma = 2034;
9856 enum int KEY_Greek_switch = 65406;
9857 enum int KEY_Greek_tau = 2036;
9858 enum int KEY_Greek_theta = 2024;
9859 enum int KEY_Greek_upsilon = 2037;
9860 enum int KEY_Greek_upsilonaccent = 1976;
9861 enum int KEY_Greek_upsilonaccentdieresis = 1978;
9862 enum int KEY_Greek_upsilondieresis = 1977;
9863 enum int KEY_Greek_xi = 2030;
9864 enum int KEY_Greek_zeta = 2022;
9865 enum int KEY_Green = 269025188;
9866 enum int KEY_H = 72;
9867 enum int KEY_Hangul = 65329;
9868 enum int KEY_Hangul_A = 3775;
9869 enum int KEY_Hangul_AE = 3776;
9870 enum int KEY_Hangul_AraeA = 3830;
9871 enum int KEY_Hangul_AraeAE = 3831;
9872 enum int KEY_Hangul_Banja = 65337;
9873 enum int KEY_Hangul_Cieuc = 3770;
9874 enum int KEY_Hangul_Codeinput = 65335;
9875 enum int KEY_Hangul_Dikeud = 3751;
9876 enum int KEY_Hangul_E = 3780;
9877 enum int KEY_Hangul_EO = 3779;
9878 enum int KEY_Hangul_EU = 3793;
9879 enum int KEY_Hangul_End = 65331;
9880 enum int KEY_Hangul_Hanja = 65332;
9881 enum int KEY_Hangul_Hieuh = 3774;
9882 enum int KEY_Hangul_I = 3795;
9883 enum int KEY_Hangul_Ieung = 3767;
9884 enum int KEY_Hangul_J_Cieuc = 3818;
9885 enum int KEY_Hangul_J_Dikeud = 3802;
9886 enum int KEY_Hangul_J_Hieuh = 3822;
9887 enum int KEY_Hangul_J_Ieung = 3816;
9888 enum int KEY_Hangul_J_Jieuj = 3817;
9889 enum int KEY_Hangul_J_Khieuq = 3819;
9890 enum int KEY_Hangul_J_Kiyeog = 3796;
9891 enum int KEY_Hangul_J_KiyeogSios = 3798;
9892 enum int KEY_Hangul_J_KkogjiDalrinIeung = 3833;
9893 enum int KEY_Hangul_J_Mieum = 3811;
9894 enum int KEY_Hangul_J_Nieun = 3799;
9895 enum int KEY_Hangul_J_NieunHieuh = 3801;
9896 enum int KEY_Hangul_J_NieunJieuj = 3800;
9897 enum int KEY_Hangul_J_PanSios = 3832;
9898 enum int KEY_Hangul_J_Phieuf = 3821;
9899 enum int KEY_Hangul_J_Pieub = 3812;
9900 enum int KEY_Hangul_J_PieubSios = 3813;
9901 enum int KEY_Hangul_J_Rieul = 3803;
9902 enum int KEY_Hangul_J_RieulHieuh = 3810;
9903 enum int KEY_Hangul_J_RieulKiyeog = 3804;
9904 enum int KEY_Hangul_J_RieulMieum = 3805;
9905 enum int KEY_Hangul_J_RieulPhieuf = 3809;
9906 enum int KEY_Hangul_J_RieulPieub = 3806;
9907 enum int KEY_Hangul_J_RieulSios = 3807;
9908 enum int KEY_Hangul_J_RieulTieut = 3808;
9909 enum int KEY_Hangul_J_Sios = 3814;
9910 enum int KEY_Hangul_J_SsangKiyeog = 3797;
9911 enum int KEY_Hangul_J_SsangSios = 3815;
9912 enum int KEY_Hangul_J_Tieut = 3820;
9913 enum int KEY_Hangul_J_YeorinHieuh = 3834;
9914 enum int KEY_Hangul_Jamo = 65333;
9915 enum int KEY_Hangul_Jeonja = 65336;
9916 enum int KEY_Hangul_Jieuj = 3768;
9917 enum int KEY_Hangul_Khieuq = 3771;
9918 enum int KEY_Hangul_Kiyeog = 3745;
9919 enum int KEY_Hangul_KiyeogSios = 3747;
9920 enum int KEY_Hangul_KkogjiDalrinIeung = 3827;
9921 enum int KEY_Hangul_Mieum = 3761;
9922 enum int KEY_Hangul_MultipleCandidate = 65341;
9923 enum int KEY_Hangul_Nieun = 3748;
9924 enum int KEY_Hangul_NieunHieuh = 3750;
9925 enum int KEY_Hangul_NieunJieuj = 3749;
9926 enum int KEY_Hangul_O = 3783;
9927 enum int KEY_Hangul_OE = 3786;
9928 enum int KEY_Hangul_PanSios = 3826;
9929 enum int KEY_Hangul_Phieuf = 3773;
9930 enum int KEY_Hangul_Pieub = 3762;
9931 enum int KEY_Hangul_PieubSios = 3764;
9932 enum int KEY_Hangul_PostHanja = 65339;
9933 enum int KEY_Hangul_PreHanja = 65338;
9934 enum int KEY_Hangul_PreviousCandidate = 65342;
9935 enum int KEY_Hangul_Rieul = 3753;
9936 enum int KEY_Hangul_RieulHieuh = 3760;
9937 enum int KEY_Hangul_RieulKiyeog = 3754;
9938 enum int KEY_Hangul_RieulMieum = 3755;
9939 enum int KEY_Hangul_RieulPhieuf = 3759;
9940 enum int KEY_Hangul_RieulPieub = 3756;
9941 enum int KEY_Hangul_RieulSios = 3757;
9942 enum int KEY_Hangul_RieulTieut = 3758;
9943 enum int KEY_Hangul_RieulYeorinHieuh = 3823;
9944 enum int KEY_Hangul_Romaja = 65334;
9945 enum int KEY_Hangul_SingleCandidate = 65340;
9946 enum int KEY_Hangul_Sios = 3765;
9947 enum int KEY_Hangul_Special = 65343;
9948 enum int KEY_Hangul_SsangDikeud = 3752;
9949 enum int KEY_Hangul_SsangJieuj = 3769;
9950 enum int KEY_Hangul_SsangKiyeog = 3746;
9951 enum int KEY_Hangul_SsangPieub = 3763;
9952 enum int KEY_Hangul_SsangSios = 3766;
9953 enum int KEY_Hangul_Start = 65330;
9954 enum int KEY_Hangul_SunkyeongeumMieum = 3824;
9955 enum int KEY_Hangul_SunkyeongeumPhieuf = 3828;
9956 enum int KEY_Hangul_SunkyeongeumPieub = 3825;
9957 enum int KEY_Hangul_Tieut = 3772;
9958 enum int KEY_Hangul_U = 3788;
9959 enum int KEY_Hangul_WA = 3784;
9960 enum int KEY_Hangul_WAE = 3785;
9961 enum int KEY_Hangul_WE = 3790;
9962 enum int KEY_Hangul_WEO = 3789;
9963 enum int KEY_Hangul_WI = 3791;
9964 enum int KEY_Hangul_YA = 3777;
9965 enum int KEY_Hangul_YAE = 3778;
9966 enum int KEY_Hangul_YE = 3782;
9967 enum int KEY_Hangul_YEO = 3781;
9968 enum int KEY_Hangul_YI = 3794;
9969 enum int KEY_Hangul_YO = 3787;
9970 enum int KEY_Hangul_YU = 3792;
9971 enum int KEY_Hangul_YeorinHieuh = 3829;
9972 enum int KEY_Hangul_switch = 65406;
9973 enum int KEY_Hankaku = 65321;
9974 enum int KEY_Hcircumflex = 678;
9975 enum int KEY_Hebrew_switch = 65406;
9976 enum int KEY_Help = 65386;
9977 enum int KEY_Henkan = 65315;
9978 enum int KEY_Henkan_Mode = 65315;
9979 enum int KEY_Hibernate = 269025192;
9980 enum int KEY_Hiragana = 65317;
9981 enum int KEY_Hiragana_Katakana = 65319;
9982 enum int KEY_History = 269025079;
9983 enum int KEY_Home = 65360;
9984 enum int KEY_HomePage = 269025048;
9985 enum int KEY_HotLinks = 269025082;
9986 enum int KEY_Hstroke = 673;
9987 enum int KEY_Hyper_L = 65517;
9988 enum int KEY_Hyper_R = 65518;
9989 enum int KEY_I = 73;
9990 enum int KEY_ISO_Center_Object = 65075;
9991 enum int KEY_ISO_Continuous_Underline = 65072;
9992 enum int KEY_ISO_Discontinuous_Underline = 65073;
9993 enum int KEY_ISO_Emphasize = 65074;
9994 enum int KEY_ISO_Enter = 65076;
9995 enum int KEY_ISO_Fast_Cursor_Down = 65071;
9996 enum int KEY_ISO_Fast_Cursor_Left = 65068;
9997 enum int KEY_ISO_Fast_Cursor_Right = 65069;
9998 enum int KEY_ISO_Fast_Cursor_Up = 65070;
9999 enum int KEY_ISO_First_Group = 65036;
10000 enum int KEY_ISO_First_Group_Lock = 65037;
10001 enum int KEY_ISO_Group_Latch = 65030;
10002 enum int KEY_ISO_Group_Lock = 65031;
10003 enum int KEY_ISO_Group_Shift = 65406;
10004 enum int KEY_ISO_Last_Group = 65038;
10005 enum int KEY_ISO_Last_Group_Lock = 65039;
10006 enum int KEY_ISO_Left_Tab = 65056;
10007 enum int KEY_ISO_Level2_Latch = 65026;
10008 enum int KEY_ISO_Level3_Latch = 65028;
10009 enum int KEY_ISO_Level3_Lock = 65029;
10010 enum int KEY_ISO_Level3_Shift = 65027;
10011 enum int KEY_ISO_Level5_Latch = 65042;
10012 enum int KEY_ISO_Level5_Lock = 65043;
10013 enum int KEY_ISO_Level5_Shift = 65041;
10014 enum int KEY_ISO_Lock = 65025;
10015 enum int KEY_ISO_Move_Line_Down = 65058;
10016 enum int KEY_ISO_Move_Line_Up = 65057;
10017 enum int KEY_ISO_Next_Group = 65032;
10018 enum int KEY_ISO_Next_Group_Lock = 65033;
10019 enum int KEY_ISO_Partial_Line_Down = 65060;
10020 enum int KEY_ISO_Partial_Line_Up = 65059;
10021 enum int KEY_ISO_Partial_Space_Left = 65061;
10022 enum int KEY_ISO_Partial_Space_Right = 65062;
10023 enum int KEY_ISO_Prev_Group = 65034;
10024 enum int KEY_ISO_Prev_Group_Lock = 65035;
10025 enum int KEY_ISO_Release_Both_Margins = 65067;
10026 enum int KEY_ISO_Release_Margin_Left = 65065;
10027 enum int KEY_ISO_Release_Margin_Right = 65066;
10028 enum int KEY_ISO_Set_Margin_Left = 65063;
10029 enum int KEY_ISO_Set_Margin_Right = 65064;
10030 enum int KEY_Iabovedot = 681;
10031 enum int KEY_Iacute = 205;
10032 enum int KEY_Ibelowdot = 16785098;
10033 enum int KEY_Ibreve = 16777516;
10034 enum int KEY_Icircumflex = 206;
10035 enum int KEY_Idiaeresis = 207;
10036 enum int KEY_Igrave = 204;
10037 enum int KEY_Ihook = 16785096;
10038 enum int KEY_Imacron = 975;
10039 enum int KEY_Insert = 65379;
10040 enum int KEY_Iogonek = 967;
10041 enum int KEY_Itilde = 933;
10042 enum int KEY_J = 74;
10043 enum int KEY_Jcircumflex = 684;
10044 enum int KEY_K = 75;
10045 enum int KEY_KP_0 = 65456;
10046 enum int KEY_KP_1 = 65457;
10047 enum int KEY_KP_2 = 65458;
10048 enum int KEY_KP_3 = 65459;
10049 enum int KEY_KP_4 = 65460;
10050 enum int KEY_KP_5 = 65461;
10051 enum int KEY_KP_6 = 65462;
10052 enum int KEY_KP_7 = 65463;
10053 enum int KEY_KP_8 = 65464;
10054 enum int KEY_KP_9 = 65465;
10055 enum int KEY_KP_Add = 65451;
10056 enum int KEY_KP_Begin = 65437;
10057 enum int KEY_KP_Decimal = 65454;
10058 enum int KEY_KP_Delete = 65439;
10059 enum int KEY_KP_Divide = 65455;
10060 enum int KEY_KP_Down = 65433;
10061 enum int KEY_KP_End = 65436;
10062 enum int KEY_KP_Enter = 65421;
10063 enum int KEY_KP_Equal = 65469;
10064 enum int KEY_KP_F1 = 65425;
10065 enum int KEY_KP_F2 = 65426;
10066 enum int KEY_KP_F3 = 65427;
10067 enum int KEY_KP_F4 = 65428;
10068 enum int KEY_KP_Home = 65429;
10069 enum int KEY_KP_Insert = 65438;
10070 enum int KEY_KP_Left = 65430;
10071 enum int KEY_KP_Multiply = 65450;
10072 enum int KEY_KP_Next = 65435;
10073 enum int KEY_KP_Page_Down = 65435;
10074 enum int KEY_KP_Page_Up = 65434;
10075 enum int KEY_KP_Prior = 65434;
10076 enum int KEY_KP_Right = 65432;
10077 enum int KEY_KP_Separator = 65452;
10078 enum int KEY_KP_Space = 65408;
10079 enum int KEY_KP_Subtract = 65453;
10080 enum int KEY_KP_Tab = 65417;
10081 enum int KEY_KP_Up = 65431;
10082 enum int KEY_Kana_Lock = 65325;
10083 enum int KEY_Kana_Shift = 65326;
10084 enum int KEY_Kanji = 65313;
10085 enum int KEY_Kanji_Bangou = 65335;
10086 enum int KEY_Katakana = 65318;
10087 enum int KEY_KbdBrightnessDown = 269025030;
10088 enum int KEY_KbdBrightnessUp = 269025029;
10089 enum int KEY_KbdLightOnOff = 269025028;
10090 enum int KEY_Kcedilla = 979;
10091 enum int KEY_Korean_Won = 3839;
10092 enum int KEY_L = 76;
10093 enum int KEY_L1 = 65480;
10094 enum int KEY_L10 = 65489;
10095 enum int KEY_L2 = 65481;
10096 enum int KEY_L3 = 65482;
10097 enum int KEY_L4 = 65483;
10098 enum int KEY_L5 = 65484;
10099 enum int KEY_L6 = 65485;
10100 enum int KEY_L7 = 65486;
10101 enum int KEY_L8 = 65487;
10102 enum int KEY_L9 = 65488;
10103 enum int KEY_Lacute = 453;
10104 enum int KEY_Last_Virtual_Screen = 65236;
10105 enum int KEY_Launch0 = 269025088;
10106 enum int KEY_Launch1 = 269025089;
10107 enum int KEY_Launch2 = 269025090;
10108 enum int KEY_Launch3 = 269025091;
10109 enum int KEY_Launch4 = 269025092;
10110 enum int KEY_Launch5 = 269025093;
10111 enum int KEY_Launch6 = 269025094;
10112 enum int KEY_Launch7 = 269025095;
10113 enum int KEY_Launch8 = 269025096;
10114 enum int KEY_Launch9 = 269025097;
10115 enum int KEY_LaunchA = 269025098;
10116 enum int KEY_LaunchB = 269025099;
10117 enum int KEY_LaunchC = 269025100;
10118 enum int KEY_LaunchD = 269025101;
10119 enum int KEY_LaunchE = 269025102;
10120 enum int KEY_LaunchF = 269025103;
10121 enum int KEY_Lbelowdot = 16784950;
10122 enum int KEY_Lcaron = 421;
10123 enum int KEY_Lcedilla = 934;
10124 enum int KEY_Left = 65361;
10125 enum int KEY_LightBulb = 269025077;
10126 enum int KEY_Linefeed = 65290;
10127 enum int KEY_LiraSign = 16785572;
10128 enum int KEY_LogOff = 269025121;
10129 enum int KEY_Lstroke = 419;
10130 enum int KEY_M = 77;
10131 enum int KEY_Mabovedot = 16784960;
10132 enum int KEY_Macedonia_DSE = 1717;
10133 enum int KEY_Macedonia_GJE = 1714;
10134 enum int KEY_Macedonia_KJE = 1724;
10135 enum int KEY_Macedonia_dse = 1701;
10136 enum int KEY_Macedonia_gje = 1698;
10137 enum int KEY_Macedonia_kje = 1708;
10138 enum int KEY_Mae_Koho = 65342;
10139 enum int KEY_Mail = 269025049;
10140 enum int KEY_MailForward = 269025168;
10141 enum int KEY_Market = 269025122;
10142 enum int KEY_Massyo = 65324;
10143 enum int KEY_Meeting = 269025123;
10144 enum int KEY_Memo = 269025054;
10145 enum int KEY_Menu = 65383;
10146 enum int KEY_MenuKB = 269025125;
10147 enum int KEY_MenuPB = 269025126;
10148 enum int KEY_Messenger = 269025166;
10149 enum int KEY_Meta_L = 65511;
10150 enum int KEY_Meta_R = 65512;
10151 enum int KEY_MillSign = 16785573;
10152 enum int KEY_ModeLock = 269025025;
10153 enum int KEY_Mode_switch = 65406;
10154 enum int KEY_MonBrightnessDown = 269025027;
10155 enum int KEY_MonBrightnessUp = 269025026;
10156 enum int KEY_MouseKeys_Accel_Enable = 65143;
10157 enum int KEY_MouseKeys_Enable = 65142;
10158 enum int KEY_Muhenkan = 65314;
10159 enum int KEY_Multi_key = 65312;
10160 enum int KEY_MultipleCandidate = 65341;
10161 enum int KEY_Music = 269025170;
10162 enum int KEY_MyComputer = 269025075;
10163 enum int KEY_MySites = 269025127;
10164 enum int KEY_N = 78;
10165 enum int KEY_Nacute = 465;
10166 enum int KEY_NairaSign = 16785574;
10167 enum int KEY_Ncaron = 466;
10168 enum int KEY_Ncedilla = 977;
10169 enum int KEY_New = 269025128;
10170 enum int KEY_NewSheqelSign = 16785578;
10171 enum int KEY_News = 269025129;
10172 enum int KEY_Next = 65366;
10173 enum int KEY_Next_VMode = 269024802;
10174 enum int KEY_Next_Virtual_Screen = 65234;
10175 enum int KEY_Ntilde = 209;
10176 enum int KEY_Num_Lock = 65407;
10177 enum int KEY_O = 79;
10178 enum int KEY_OE = 5052;
10179 enum int KEY_Oacute = 211;
10180 enum int KEY_Obarred = 16777631;
10181 enum int KEY_Obelowdot = 16785100;
10182 enum int KEY_Ocaron = 16777681;
10183 enum int KEY_Ocircumflex = 212;
10184 enum int KEY_Ocircumflexacute = 16785104;
10185 enum int KEY_Ocircumflexbelowdot = 16785112;
10186 enum int KEY_Ocircumflexgrave = 16785106;
10187 enum int KEY_Ocircumflexhook = 16785108;
10188 enum int KEY_Ocircumflextilde = 16785110;
10189 enum int KEY_Odiaeresis = 214;
10190 enum int KEY_Odoubleacute = 469;
10191 enum int KEY_OfficeHome = 269025130;
10192 enum int KEY_Ograve = 210;
10193 enum int KEY_Ohook = 16785102;
10194 enum int KEY_Ohorn = 16777632;
10195 enum int KEY_Ohornacute = 16785114;
10196 enum int KEY_Ohornbelowdot = 16785122;
10197 enum int KEY_Ohorngrave = 16785116;
10198 enum int KEY_Ohornhook = 16785118;
10199 enum int KEY_Ohorntilde = 16785120;
10200 enum int KEY_Omacron = 978;
10201 enum int KEY_Ooblique = 216;
10202 enum int KEY_Open = 269025131;
10203 enum int KEY_OpenURL = 269025080;
10204 enum int KEY_Option = 269025132;
10205 enum int KEY_Oslash = 216;
10206 enum int KEY_Otilde = 213;
10207 enum int KEY_Overlay1_Enable = 65144;
10208 enum int KEY_Overlay2_Enable = 65145;
10209 enum int KEY_P = 80;
10210 enum int KEY_Pabovedot = 16784982;
10211 enum int KEY_Page_Down = 65366;
10212 enum int KEY_Page_Up = 65365;
10213 enum int KEY_Paste = 269025133;
10214 enum int KEY_Pause = 65299;
10215 enum int KEY_PesetaSign = 16785575;
10216 enum int KEY_Phone = 269025134;
10217 enum int KEY_Pictures = 269025169;
10218 enum int KEY_Pointer_Accelerate = 65274;
10219 enum int KEY_Pointer_Button1 = 65257;
10220 enum int KEY_Pointer_Button2 = 65258;
10221 enum int KEY_Pointer_Button3 = 65259;
10222 enum int KEY_Pointer_Button4 = 65260;
10223 enum int KEY_Pointer_Button5 = 65261;
10224 enum int KEY_Pointer_Button_Dflt = 65256;
10225 enum int KEY_Pointer_DblClick1 = 65263;
10226 enum int KEY_Pointer_DblClick2 = 65264;
10227 enum int KEY_Pointer_DblClick3 = 65265;
10228 enum int KEY_Pointer_DblClick4 = 65266;
10229 enum int KEY_Pointer_DblClick5 = 65267;
10230 enum int KEY_Pointer_DblClick_Dflt = 65262;
10231 enum int KEY_Pointer_DfltBtnNext = 65275;
10232 enum int KEY_Pointer_DfltBtnPrev = 65276;
10233 enum int KEY_Pointer_Down = 65251;
10234 enum int KEY_Pointer_DownLeft = 65254;
10235 enum int KEY_Pointer_DownRight = 65255;
10236 enum int KEY_Pointer_Drag1 = 65269;
10237 enum int KEY_Pointer_Drag2 = 65270;
10238 enum int KEY_Pointer_Drag3 = 65271;
10239 enum int KEY_Pointer_Drag4 = 65272;
10240 enum int KEY_Pointer_Drag5 = 65277;
10241 enum int KEY_Pointer_Drag_Dflt = 65268;
10242 enum int KEY_Pointer_EnableKeys = 65273;
10243 enum int KEY_Pointer_Left = 65248;
10244 enum int KEY_Pointer_Right = 65249;
10245 enum int KEY_Pointer_Up = 65250;
10246 enum int KEY_Pointer_UpLeft = 65252;
10247 enum int KEY_Pointer_UpRight = 65253;
10248 enum int KEY_PowerDown = 269025057;
10249 enum int KEY_PowerOff = 269025066;
10250 enum int KEY_Prev_VMode = 269024803;
10251 enum int KEY_Prev_Virtual_Screen = 65233;
10252 enum int KEY_PreviousCandidate = 65342;
10253 enum int KEY_Print = 65377;
10254 enum int KEY_Prior = 65365;
10255 enum int KEY_Q = 81;
10256 enum int KEY_R = 82;
10257 enum int KEY_R1 = 65490;
10258 enum int KEY_R10 = 65499;
10259 enum int KEY_R11 = 65500;
10260 enum int KEY_R12 = 65501;
10261 enum int KEY_R13 = 65502;
10262 enum int KEY_R14 = 65503;
10263 enum int KEY_R15 = 65504;
10264 enum int KEY_R2 = 65491;
10265 enum int KEY_R3 = 65492;
10266 enum int KEY_R4 = 65493;
10267 enum int KEY_R5 = 65494;
10268 enum int KEY_R6 = 65495;
10269 enum int KEY_R7 = 65496;
10270 enum int KEY_R8 = 65497;
10271 enum int KEY_R9 = 65498;
10272 enum int KEY_Racute = 448;
10273 enum int KEY_Rcaron = 472;
10274 enum int KEY_Rcedilla = 931;
10275 enum int KEY_Red = 269025187;
10276 enum int KEY_Redo = 65382;
10277 enum int KEY_Refresh = 269025065;
10278 enum int KEY_Reload = 269025139;
10279 enum int KEY_RepeatKeys_Enable = 65138;
10280 enum int KEY_Reply = 269025138;
10281 enum int KEY_Return = 65293;
10282 enum int KEY_Right = 65363;
10283 enum int KEY_RockerDown = 269025060;
10284 enum int KEY_RockerEnter = 269025061;
10285 enum int KEY_RockerUp = 269025059;
10286 enum int KEY_Romaji = 65316;
10287 enum int KEY_RotateWindows = 269025140;
10288 enum int KEY_RotationKB = 269025142;
10289 enum int KEY_RotationPB = 269025141;
10290 enum int KEY_RupeeSign = 16785576;
10291 enum int KEY_S = 83;
10292 enum int KEY_SCHWA = 16777615;
10293 enum int KEY_Sabovedot = 16784992;
10294 enum int KEY_Sacute = 422;
10295 enum int KEY_Save = 269025143;
10296 enum int KEY_Scaron = 425;
10297 enum int KEY_Scedilla = 426;
10298 enum int KEY_Scircumflex = 734;
10299 enum int KEY_ScreenSaver = 269025069;
10300 enum int KEY_ScrollClick = 269025146;
10301 enum int KEY_ScrollDown = 269025145;
10302 enum int KEY_ScrollUp = 269025144;
10303 enum int KEY_Scroll_Lock = 65300;
10304 enum int KEY_Search = 269025051;
10305 enum int KEY_Select = 65376;
10306 enum int KEY_SelectButton = 269025184;
10307 enum int KEY_Send = 269025147;
10308 enum int KEY_Serbian_DJE = 1713;
10309 enum int KEY_Serbian_DZE = 1727;
10310 enum int KEY_Serbian_JE = 1720;
10311 enum int KEY_Serbian_LJE = 1721;
10312 enum int KEY_Serbian_NJE = 1722;
10313 enum int KEY_Serbian_TSHE = 1723;
10314 enum int KEY_Serbian_dje = 1697;
10315 enum int KEY_Serbian_dze = 1711;
10316 enum int KEY_Serbian_je = 1704;
10317 enum int KEY_Serbian_lje = 1705;
10318 enum int KEY_Serbian_nje = 1706;
10319 enum int KEY_Serbian_tshe = 1707;
10320 enum int KEY_Shift_L = 65505;
10321 enum int KEY_Shift_Lock = 65510;
10322 enum int KEY_Shift_R = 65506;
10323 enum int KEY_Shop = 269025078;
10324 enum int KEY_SingleCandidate = 65340;
10325 enum int KEY_Sinh_a = 16780677;
10326 enum int KEY_Sinh_aa = 16780678;
10327 enum int KEY_Sinh_aa2 = 16780751;
10328 enum int KEY_Sinh_ae = 16780679;
10329 enum int KEY_Sinh_ae2 = 16780752;
10330 enum int KEY_Sinh_aee = 16780680;
10331 enum int KEY_Sinh_aee2 = 16780753;
10332 enum int KEY_Sinh_ai = 16780691;
10333 enum int KEY_Sinh_ai2 = 16780763;
10334 enum int KEY_Sinh_al = 16780746;
10335 enum int KEY_Sinh_au = 16780694;
10336 enum int KEY_Sinh_au2 = 16780766;
10337 enum int KEY_Sinh_ba = 16780726;
10338 enum int KEY_Sinh_bha = 16780727;
10339 enum int KEY_Sinh_ca = 16780704;
10340 enum int KEY_Sinh_cha = 16780705;
10341 enum int KEY_Sinh_dda = 16780713;
10342 enum int KEY_Sinh_ddha = 16780714;
10343 enum int KEY_Sinh_dha = 16780719;
10344 enum int KEY_Sinh_dhha = 16780720;
10345 enum int KEY_Sinh_e = 16780689;
10346 enum int KEY_Sinh_e2 = 16780761;
10347 enum int KEY_Sinh_ee = 16780690;
10348 enum int KEY_Sinh_ee2 = 16780762;
10349 enum int KEY_Sinh_fa = 16780742;
10350 enum int KEY_Sinh_ga = 16780700;
10351 enum int KEY_Sinh_gha = 16780701;
10352 enum int KEY_Sinh_h2 = 16780675;
10353 enum int KEY_Sinh_ha = 16780740;
10354 enum int KEY_Sinh_i = 16780681;
10355 enum int KEY_Sinh_i2 = 16780754;
10356 enum int KEY_Sinh_ii = 16780682;
10357 enum int KEY_Sinh_ii2 = 16780755;
10358 enum int KEY_Sinh_ja = 16780706;
10359 enum int KEY_Sinh_jha = 16780707;
10360 enum int KEY_Sinh_jnya = 16780709;
10361 enum int KEY_Sinh_ka = 16780698;
10362 enum int KEY_Sinh_kha = 16780699;
10363 enum int KEY_Sinh_kunddaliya = 16780788;
10364 enum int KEY_Sinh_la = 16780733;
10365 enum int KEY_Sinh_lla = 16780741;
10366 enum int KEY_Sinh_lu = 16780687;
10367 enum int KEY_Sinh_lu2 = 16780767;
10368 enum int KEY_Sinh_luu = 16780688;
10369 enum int KEY_Sinh_luu2 = 16780787;
10370 enum int KEY_Sinh_ma = 16780728;
10371 enum int KEY_Sinh_mba = 16780729;
10372 enum int KEY_Sinh_na = 16780721;
10373 enum int KEY_Sinh_ndda = 16780716;
10374 enum int KEY_Sinh_ndha = 16780723;
10375 enum int KEY_Sinh_ng = 16780674;
10376 enum int KEY_Sinh_ng2 = 16780702;
10377 enum int KEY_Sinh_nga = 16780703;
10378 enum int KEY_Sinh_nja = 16780710;
10379 enum int KEY_Sinh_nna = 16780715;
10380 enum int KEY_Sinh_nya = 16780708;
10381 enum int KEY_Sinh_o = 16780692;
10382 enum int KEY_Sinh_o2 = 16780764;
10383 enum int KEY_Sinh_oo = 16780693;
10384 enum int KEY_Sinh_oo2 = 16780765;
10385 enum int KEY_Sinh_pa = 16780724;
10386 enum int KEY_Sinh_pha = 16780725;
10387 enum int KEY_Sinh_ra = 16780731;
10388 enum int KEY_Sinh_ri = 16780685;
10389 enum int KEY_Sinh_rii = 16780686;
10390 enum int KEY_Sinh_ru2 = 16780760;
10391 enum int KEY_Sinh_ruu2 = 16780786;
10392 enum int KEY_Sinh_sa = 16780739;
10393 enum int KEY_Sinh_sha = 16780737;
10394 enum int KEY_Sinh_ssha = 16780738;
10395 enum int KEY_Sinh_tha = 16780717;
10396 enum int KEY_Sinh_thha = 16780718;
10397 enum int KEY_Sinh_tta = 16780711;
10398 enum int KEY_Sinh_ttha = 16780712;
10399 enum int KEY_Sinh_u = 16780683;
10400 enum int KEY_Sinh_u2 = 16780756;
10401 enum int KEY_Sinh_uu = 16780684;
10402 enum int KEY_Sinh_uu2 = 16780758;
10403 enum int KEY_Sinh_va = 16780736;
10404 enum int KEY_Sinh_ya = 16780730;
10405 enum int KEY_Sleep = 269025071;
10406 enum int KEY_SlowKeys_Enable = 65139;
10407 enum int KEY_Spell = 269025148;
10408 enum int KEY_SplitScreen = 269025149;
10409 enum int KEY_Standby = 269025040;
10410 enum int KEY_Start = 269025050;
10411 enum int KEY_StickyKeys_Enable = 65141;
10412 enum int KEY_Stop = 269025064;
10413 enum int KEY_Subtitle = 269025178;
10414 enum int KEY_Super_L = 65515;
10415 enum int KEY_Super_R = 65516;
10416 enum int KEY_Support = 269025150;
10417 enum int KEY_Suspend = 269025191;
10418 enum int KEY_Switch_VT_1 = 269024769;
10419 enum int KEY_Switch_VT_10 = 269024778;
10420 enum int KEY_Switch_VT_11 = 269024779;
10421 enum int KEY_Switch_VT_12 = 269024780;
10422 enum int KEY_Switch_VT_2 = 269024770;
10423 enum int KEY_Switch_VT_3 = 269024771;
10424 enum int KEY_Switch_VT_4 = 269024772;
10425 enum int KEY_Switch_VT_5 = 269024773;
10426 enum int KEY_Switch_VT_6 = 269024774;
10427 enum int KEY_Switch_VT_7 = 269024775;
10428 enum int KEY_Switch_VT_8 = 269024776;
10429 enum int KEY_Switch_VT_9 = 269024777;
10430 enum int KEY_Sys_Req = 65301;
10431 enum int KEY_T = 84;
10432 enum int KEY_THORN = 222;
10433 enum int KEY_Tab = 65289;
10434 enum int KEY_Tabovedot = 16785002;
10435 enum int KEY_TaskPane = 269025151;
10436 enum int KEY_Tcaron = 427;
10437 enum int KEY_Tcedilla = 478;
10438 enum int KEY_Terminal = 269025152;
10439 enum int KEY_Terminate_Server = 65237;
10440 enum int KEY_Thai_baht = 3551;
10441 enum int KEY_Thai_bobaimai = 3514;
10442 enum int KEY_Thai_chochan = 3496;
10443 enum int KEY_Thai_chochang = 3498;
10444 enum int KEY_Thai_choching = 3497;
10445 enum int KEY_Thai_chochoe = 3500;
10446 enum int KEY_Thai_dochada = 3502;
10447 enum int KEY_Thai_dodek = 3508;
10448 enum int KEY_Thai_fofa = 3517;
10449 enum int KEY_Thai_fofan = 3519;
10450 enum int KEY_Thai_hohip = 3531;
10451 enum int KEY_Thai_honokhuk = 3534;
10452 enum int KEY_Thai_khokhai = 3490;
10453 enum int KEY_Thai_khokhon = 3493;
10454 enum int KEY_Thai_khokhuat = 3491;
10455 enum int KEY_Thai_khokhwai = 3492;
10456 enum int KEY_Thai_khorakhang = 3494;
10457 enum int KEY_Thai_kokai = 3489;
10458 enum int KEY_Thai_lakkhangyao = 3557;
10459 enum int KEY_Thai_lekchet = 3575;
10460 enum int KEY_Thai_lekha = 3573;
10461 enum int KEY_Thai_lekhok = 3574;
10462 enum int KEY_Thai_lekkao = 3577;
10463 enum int KEY_Thai_leknung = 3569;
10464 enum int KEY_Thai_lekpaet = 3576;
10465 enum int KEY_Thai_leksam = 3571;
10466 enum int KEY_Thai_leksi = 3572;
10467 enum int KEY_Thai_leksong = 3570;
10468 enum int KEY_Thai_leksun = 3568;
10469 enum int KEY_Thai_lochula = 3532;
10470 enum int KEY_Thai_loling = 3525;
10471 enum int KEY_Thai_lu = 3526;
10472 enum int KEY_Thai_maichattawa = 3563;
10473 enum int KEY_Thai_maiek = 3560;
10474 enum int KEY_Thai_maihanakat = 3537;
10475 enum int KEY_Thai_maihanakat_maitho = 3550;
10476 enum int KEY_Thai_maitaikhu = 3559;
10477 enum int KEY_Thai_maitho = 3561;
10478 enum int KEY_Thai_maitri = 3562;
10479 enum int KEY_Thai_maiyamok = 3558;
10480 enum int KEY_Thai_moma = 3521;
10481 enum int KEY_Thai_ngongu = 3495;
10482 enum int KEY_Thai_nikhahit = 3565;
10483 enum int KEY_Thai_nonen = 3507;
10484 enum int KEY_Thai_nonu = 3513;
10485 enum int KEY_Thai_oang = 3533;
10486 enum int KEY_Thai_paiyannoi = 3535;
10487 enum int KEY_Thai_phinthu = 3546;
10488 enum int KEY_Thai_phophan = 3518;
10489 enum int KEY_Thai_phophung = 3516;
10490 enum int KEY_Thai_phosamphao = 3520;
10491 enum int KEY_Thai_popla = 3515;
10492 enum int KEY_Thai_rorua = 3523;
10493 enum int KEY_Thai_ru = 3524;
10494 enum int KEY_Thai_saraa = 3536;
10495 enum int KEY_Thai_saraaa = 3538;
10496 enum int KEY_Thai_saraae = 3553;
10497 enum int KEY_Thai_saraaimaimalai = 3556;
10498 enum int KEY_Thai_saraaimaimuan = 3555;
10499 enum int KEY_Thai_saraam = 3539;
10500 enum int KEY_Thai_sarae = 3552;
10501 enum int KEY_Thai_sarai = 3540;
10502 enum int KEY_Thai_saraii = 3541;
10503 enum int KEY_Thai_sarao = 3554;
10504 enum int KEY_Thai_sarau = 3544;
10505 enum int KEY_Thai_saraue = 3542;
10506 enum int KEY_Thai_sarauee = 3543;
10507 enum int KEY_Thai_sarauu = 3545;
10508 enum int KEY_Thai_sorusi = 3529;
10509 enum int KEY_Thai_sosala = 3528;
10510 enum int KEY_Thai_soso = 3499;
10511 enum int KEY_Thai_sosua = 3530;
10512 enum int KEY_Thai_thanthakhat = 3564;
10513 enum int KEY_Thai_thonangmontho = 3505;
10514 enum int KEY_Thai_thophuthao = 3506;
10515 enum int KEY_Thai_thothahan = 3511;
10516 enum int KEY_Thai_thothan = 3504;
10517 enum int KEY_Thai_thothong = 3512;
10518 enum int KEY_Thai_thothung = 3510;
10519 enum int KEY_Thai_topatak = 3503;
10520 enum int KEY_Thai_totao = 3509;
10521 enum int KEY_Thai_wowaen = 3527;
10522 enum int KEY_Thai_yoyak = 3522;
10523 enum int KEY_Thai_yoying = 3501;
10524 enum int KEY_Thorn = 222;
10525 enum int KEY_Time = 269025183;
10526 enum int KEY_ToDoList = 269025055;
10527 enum int KEY_Tools = 269025153;
10528 enum int KEY_TopMenu = 269025186;
10529 enum int KEY_TouchpadOff = 269025201;
10530 enum int KEY_TouchpadOn = 269025200;
10531 enum int KEY_TouchpadToggle = 269025193;
10532 enum int KEY_Touroku = 65323;
10533 enum int KEY_Travel = 269025154;
10534 enum int KEY_Tslash = 940;
10535 enum int KEY_U = 85;
10536 enum int KEY_UWB = 269025174;
10537 enum int KEY_Uacute = 218;
10538 enum int KEY_Ubelowdot = 16785124;
10539 enum int KEY_Ubreve = 733;
10540 enum int KEY_Ucircumflex = 219;
10541 enum int KEY_Udiaeresis = 220;
10542 enum int KEY_Udoubleacute = 475;
10543 enum int KEY_Ugrave = 217;
10544 enum int KEY_Uhook = 16785126;
10545 enum int KEY_Uhorn = 16777647;
10546 enum int KEY_Uhornacute = 16785128;
10547 enum int KEY_Uhornbelowdot = 16785136;
10548 enum int KEY_Uhorngrave = 16785130;
10549 enum int KEY_Uhornhook = 16785132;
10550 enum int KEY_Uhorntilde = 16785134;
10551 enum int KEY_Ukrainian_GHE_WITH_UPTURN = 1725;
10552 enum int KEY_Ukrainian_I = 1718;
10553 enum int KEY_Ukrainian_IE = 1716;
10554 enum int KEY_Ukrainian_YI = 1719;
10555 enum int KEY_Ukrainian_ghe_with_upturn = 1709;
10556 enum int KEY_Ukrainian_i = 1702;
10557 enum int KEY_Ukrainian_ie = 1700;
10558 enum int KEY_Ukrainian_yi = 1703;
10559 enum int KEY_Ukranian_I = 1718;
10560 enum int KEY_Ukranian_JE = 1716;
10561 enum int KEY_Ukranian_YI = 1719;
10562 enum int KEY_Ukranian_i = 1702;
10563 enum int KEY_Ukranian_je = 1700;
10564 enum int KEY_Ukranian_yi = 1703;
10565 enum int KEY_Umacron = 990;
10566 enum int KEY_Undo = 65381;
10567 enum int KEY_Ungrab = 269024800;
10568 enum int KEY_Uogonek = 985;
10569 enum int KEY_Up = 65362;
10570 enum int KEY_Uring = 473;
10571 enum int KEY_User1KB = 269025157;
10572 enum int KEY_User2KB = 269025158;
10573 enum int KEY_UserPB = 269025156;
10574 enum int KEY_Utilde = 989;
10575 enum int KEY_V = 86;
10576 enum int KEY_VendorHome = 269025076;
10577 enum int KEY_Video = 269025159;
10578 enum int KEY_View = 269025185;
10579 enum int KEY_VoidSymbol = 16777215;
10580 enum int KEY_W = 87;
10581 enum int KEY_WLAN = 269025173;
10582 enum int KEY_WWW = 269025070;
10583 enum int KEY_Wacute = 16785026;
10584 enum int KEY_WakeUp = 269025067;
10585 enum int KEY_Wcircumflex = 16777588;
10586 enum int KEY_Wdiaeresis = 16785028;
10587 enum int KEY_WebCam = 269025167;
10588 enum int KEY_Wgrave = 16785024;
10589 enum int KEY_WheelButton = 269025160;
10590 enum int KEY_WindowClear = 269025109;
10591 enum int KEY_WonSign = 16785577;
10592 enum int KEY_Word = 269025161;
10593 enum int KEY_X = 88;
10594 enum int KEY_Xabovedot = 16785034;
10595 enum int KEY_Xfer = 269025162;
10596 enum int KEY_Y = 89;
10597 enum int KEY_Yacute = 221;
10598 enum int KEY_Ybelowdot = 16785140;
10599 enum int KEY_Ycircumflex = 16777590;
10600 enum int KEY_Ydiaeresis = 5054;
10601 enum int KEY_Yellow = 269025189;
10602 enum int KEY_Ygrave = 16785138;
10603 enum int KEY_Yhook = 16785142;
10604 enum int KEY_Ytilde = 16785144;
10605 enum int KEY_Z = 90;
10606 enum int KEY_Zabovedot = 431;
10607 enum int KEY_Zacute = 428;
10608 enum int KEY_Zcaron = 430;
10609 enum int KEY_Zen_Koho = 65341;
10610 enum int KEY_Zenkaku = 65320;
10611 enum int KEY_Zenkaku_Hankaku = 65322;
10612 enum int KEY_ZoomIn = 269025163;
10613 enum int KEY_ZoomOut = 269025164;
10614 enum int KEY_Zstroke = 16777653;
10615 enum int KEY_a = 97;
10616 enum int KEY_aacute = 225;
10617 enum int KEY_abelowdot = 16785057;
10618 enum int KEY_abovedot = 511;
10619 enum int KEY_abreve = 483;
10620 enum int KEY_abreveacute = 16785071;
10621 enum int KEY_abrevebelowdot = 16785079;
10622 enum int KEY_abrevegrave = 16785073;
10623 enum int KEY_abrevehook = 16785075;
10624 enum int KEY_abrevetilde = 16785077;
10625 enum int KEY_acircumflex = 226;
10626 enum int KEY_acircumflexacute = 16785061;
10627 enum int KEY_acircumflexbelowdot = 16785069;
10628 enum int KEY_acircumflexgrave = 16785063;
10629 enum int KEY_acircumflexhook = 16785065;
10630 enum int KEY_acircumflextilde = 16785067;
10631 enum int KEY_acute = 180;
10632 enum int KEY_adiaeresis = 228;
10633 enum int KEY_ae = 230;
10634 enum int KEY_agrave = 224;
10635 enum int KEY_ahook = 16785059;
10636 enum int KEY_amacron = 992;
10637 enum int KEY_ampersand = 38;
10638 enum int KEY_aogonek = 433;
10639 enum int KEY_apostrophe = 39;
10640 enum int KEY_approxeq = 16785992;
10641 enum int KEY_approximate = 2248;
10642 enum int KEY_aring = 229;
10643 enum int KEY_asciicircum = 94;
10644 enum int KEY_asciitilde = 126;
10645 enum int KEY_asterisk = 42;
10646 enum int KEY_at = 64;
10647 enum int KEY_atilde = 227;
10648 enum int KEY_b = 98;
10649 enum int KEY_babovedot = 16784899;
10650 enum int KEY_backslash = 92;
10651 enum int KEY_ballotcross = 2804;
10652 enum int KEY_bar = 124;
10653 enum int KEY_because = 16785973;
10654 enum int KEY_blank = 2527;
10655 enum int KEY_botintegral = 2213;
10656 enum int KEY_botleftparens = 2220;
10657 enum int KEY_botleftsqbracket = 2216;
10658 enum int KEY_botleftsummation = 2226;
10659 enum int KEY_botrightparens = 2222;
10660 enum int KEY_botrightsqbracket = 2218;
10661 enum int KEY_botrightsummation = 2230;
10662 enum int KEY_bott = 2550;
10663 enum int KEY_botvertsummationconnector = 2228;
10664 enum int KEY_braceleft = 123;
10665 enum int KEY_braceright = 125;
10666 enum int KEY_bracketleft = 91;
10667 enum int KEY_bracketright = 93;
10668 enum int KEY_braille_blank = 16787456;
10669 enum int KEY_braille_dot_1 = 65521;
10670 enum int KEY_braille_dot_10 = 65530;
10671 enum int KEY_braille_dot_2 = 65522;
10672 enum int KEY_braille_dot_3 = 65523;
10673 enum int KEY_braille_dot_4 = 65524;
10674 enum int KEY_braille_dot_5 = 65525;
10675 enum int KEY_braille_dot_6 = 65526;
10676 enum int KEY_braille_dot_7 = 65527;
10677 enum int KEY_braille_dot_8 = 65528;
10678 enum int KEY_braille_dot_9 = 65529;
10679 enum int KEY_braille_dots_1 = 16787457;
10680 enum int KEY_braille_dots_12 = 16787459;
10681 enum int KEY_braille_dots_123 = 16787463;
10682 enum int KEY_braille_dots_1234 = 16787471;
10683 enum int KEY_braille_dots_12345 = 16787487;
10684 enum int KEY_braille_dots_123456 = 16787519;
10685 enum int KEY_braille_dots_1234567 = 16787583;
10686 enum int KEY_braille_dots_12345678 = 16787711;
10687 enum int KEY_braille_dots_1234568 = 16787647;
10688 enum int KEY_braille_dots_123457 = 16787551;
10689 enum int KEY_braille_dots_1234578 = 16787679;
10690 enum int KEY_braille_dots_123458 = 16787615;
10691 enum int KEY_braille_dots_12346 = 16787503;
10692 enum int KEY_braille_dots_123467 = 16787567;
10693 enum int KEY_braille_dots_1234678 = 16787695;
10694 enum int KEY_braille_dots_123468 = 16787631;
10695 enum int KEY_braille_dots_12347 = 16787535;
10696 enum int KEY_braille_dots_123478 = 16787663;
10697 enum int KEY_braille_dots_12348 = 16787599;
10698 enum int KEY_braille_dots_1235 = 16787479;
10699 enum int KEY_braille_dots_12356 = 16787511;
10700 enum int KEY_braille_dots_123567 = 16787575;
10701 enum int KEY_braille_dots_1235678 = 16787703;
10702 enum int KEY_braille_dots_123568 = 16787639;
10703 enum int KEY_braille_dots_12357 = 16787543;
10704 enum int KEY_braille_dots_123578 = 16787671;
10705 enum int KEY_braille_dots_12358 = 16787607;
10706 enum int KEY_braille_dots_1236 = 16787495;
10707 enum int KEY_braille_dots_12367 = 16787559;
10708 enum int KEY_braille_dots_123678 = 16787687;
10709 enum int KEY_braille_dots_12368 = 16787623;
10710 enum int KEY_braille_dots_1237 = 16787527;
10711 enum int KEY_braille_dots_12378 = 16787655;
10712 enum int KEY_braille_dots_1238 = 16787591;
10713 enum int KEY_braille_dots_124 = 16787467;
10714 enum int KEY_braille_dots_1245 = 16787483;
10715 enum int KEY_braille_dots_12456 = 16787515;
10716 enum int KEY_braille_dots_124567 = 16787579;
10717 enum int KEY_braille_dots_1245678 = 16787707;
10718 enum int KEY_braille_dots_124568 = 16787643;
10719 enum int KEY_braille_dots_12457 = 16787547;
10720 enum int KEY_braille_dots_124578 = 16787675;
10721 enum int KEY_braille_dots_12458 = 16787611;
10722 enum int KEY_braille_dots_1246 = 16787499;
10723 enum int KEY_braille_dots_12467 = 16787563;
10724 enum int KEY_braille_dots_124678 = 16787691;
10725 enum int KEY_braille_dots_12468 = 16787627;
10726 enum int KEY_braille_dots_1247 = 16787531;
10727 enum int KEY_braille_dots_12478 = 16787659;
10728 enum int KEY_braille_dots_1248 = 16787595;
10729 enum int KEY_braille_dots_125 = 16787475;
10730 enum int KEY_braille_dots_1256 = 16787507;
10731 enum int KEY_braille_dots_12567 = 16787571;
10732 enum int KEY_braille_dots_125678 = 16787699;
10733 enum int KEY_braille_dots_12568 = 16787635;
10734 enum int KEY_braille_dots_1257 = 16787539;
10735 enum int KEY_braille_dots_12578 = 16787667;
10736 enum int KEY_braille_dots_1258 = 16787603;
10737 enum int KEY_braille_dots_126 = 16787491;
10738 enum int KEY_braille_dots_1267 = 16787555;
10739 enum int KEY_braille_dots_12678 = 16787683;
10740 enum int KEY_braille_dots_1268 = 16787619;
10741 enum int KEY_braille_dots_127 = 16787523;
10742 enum int KEY_braille_dots_1278 = 16787651;
10743 enum int KEY_braille_dots_128 = 16787587;
10744 enum int KEY_braille_dots_13 = 16787461;
10745 enum int KEY_braille_dots_134 = 16787469;
10746 enum int KEY_braille_dots_1345 = 16787485;
10747 enum int KEY_braille_dots_13456 = 16787517;
10748 enum int KEY_braille_dots_134567 = 16787581;
10749 enum int KEY_braille_dots_1345678 = 16787709;
10750 enum int KEY_braille_dots_134568 = 16787645;
10751 enum int KEY_braille_dots_13457 = 16787549;
10752 enum int KEY_braille_dots_134578 = 16787677;
10753 enum int KEY_braille_dots_13458 = 16787613;
10754 enum int KEY_braille_dots_1346 = 16787501;
10755 enum int KEY_braille_dots_13467 = 16787565;
10756 enum int KEY_braille_dots_134678 = 16787693;
10757 enum int KEY_braille_dots_13468 = 16787629;
10758 enum int KEY_braille_dots_1347 = 16787533;
10759 enum int KEY_braille_dots_13478 = 16787661;
10760 enum int KEY_braille_dots_1348 = 16787597;
10761 enum int KEY_braille_dots_135 = 16787477;
10762 enum int KEY_braille_dots_1356 = 16787509;
10763 enum int KEY_braille_dots_13567 = 16787573;
10764 enum int KEY_braille_dots_135678 = 16787701;
10765 enum int KEY_braille_dots_13568 = 16787637;
10766 enum int KEY_braille_dots_1357 = 16787541;
10767 enum int KEY_braille_dots_13578 = 16787669;
10768 enum int KEY_braille_dots_1358 = 16787605;
10769 enum int KEY_braille_dots_136 = 16787493;
10770 enum int KEY_braille_dots_1367 = 16787557;
10771 enum int KEY_braille_dots_13678 = 16787685;
10772 enum int KEY_braille_dots_1368 = 16787621;
10773 enum int KEY_braille_dots_137 = 16787525;
10774 enum int KEY_braille_dots_1378 = 16787653;
10775 enum int KEY_braille_dots_138 = 16787589;
10776 enum int KEY_braille_dots_14 = 16787465;
10777 enum int KEY_braille_dots_145 = 16787481;
10778 enum int KEY_braille_dots_1456 = 16787513;
10779 enum int KEY_braille_dots_14567 = 16787577;
10780 enum int KEY_braille_dots_145678 = 16787705;
10781 enum int KEY_braille_dots_14568 = 16787641;
10782 enum int KEY_braille_dots_1457 = 16787545;
10783 enum int KEY_braille_dots_14578 = 16787673;
10784 enum int KEY_braille_dots_1458 = 16787609;
10785 enum int KEY_braille_dots_146 = 16787497;
10786 enum int KEY_braille_dots_1467 = 16787561;
10787 enum int KEY_braille_dots_14678 = 16787689;
10788 enum int KEY_braille_dots_1468 = 16787625;
10789 enum int KEY_braille_dots_147 = 16787529;
10790 enum int KEY_braille_dots_1478 = 16787657;
10791 enum int KEY_braille_dots_148 = 16787593;
10792 enum int KEY_braille_dots_15 = 16787473;
10793 enum int KEY_braille_dots_156 = 16787505;
10794 enum int KEY_braille_dots_1567 = 16787569;
10795 enum int KEY_braille_dots_15678 = 16787697;
10796 enum int KEY_braille_dots_1568 = 16787633;
10797 enum int KEY_braille_dots_157 = 16787537;
10798 enum int KEY_braille_dots_1578 = 16787665;
10799 enum int KEY_braille_dots_158 = 16787601;
10800 enum int KEY_braille_dots_16 = 16787489;
10801 enum int KEY_braille_dots_167 = 16787553;
10802 enum int KEY_braille_dots_1678 = 16787681;
10803 enum int KEY_braille_dots_168 = 16787617;
10804 enum int KEY_braille_dots_17 = 16787521;
10805 enum int KEY_braille_dots_178 = 16787649;
10806 enum int KEY_braille_dots_18 = 16787585;
10807 enum int KEY_braille_dots_2 = 16787458;
10808 enum int KEY_braille_dots_23 = 16787462;
10809 enum int KEY_braille_dots_234 = 16787470;
10810 enum int KEY_braille_dots_2345 = 16787486;
10811 enum int KEY_braille_dots_23456 = 16787518;
10812 enum int KEY_braille_dots_234567 = 16787582;
10813 enum int KEY_braille_dots_2345678 = 16787710;
10814 enum int KEY_braille_dots_234568 = 16787646;
10815 enum int KEY_braille_dots_23457 = 16787550;
10816 enum int KEY_braille_dots_234578 = 16787678;
10817 enum int KEY_braille_dots_23458 = 16787614;
10818 enum int KEY_braille_dots_2346 = 16787502;
10819 enum int KEY_braille_dots_23467 = 16787566;
10820 enum int KEY_braille_dots_234678 = 16787694;
10821 enum int KEY_braille_dots_23468 = 16787630;
10822 enum int KEY_braille_dots_2347 = 16787534;
10823 enum int KEY_braille_dots_23478 = 16787662;
10824 enum int KEY_braille_dots_2348 = 16787598;
10825 enum int KEY_braille_dots_235 = 16787478;
10826 enum int KEY_braille_dots_2356 = 16787510;
10827 enum int KEY_braille_dots_23567 = 16787574;
10828 enum int KEY_braille_dots_235678 = 16787702;
10829 enum int KEY_braille_dots_23568 = 16787638;
10830 enum int KEY_braille_dots_2357 = 16787542;
10831 enum int KEY_braille_dots_23578 = 16787670;
10832 enum int KEY_braille_dots_2358 = 16787606;
10833 enum int KEY_braille_dots_236 = 16787494;
10834 enum int KEY_braille_dots_2367 = 16787558;
10835 enum int KEY_braille_dots_23678 = 16787686;
10836 enum int KEY_braille_dots_2368 = 16787622;
10837 enum int KEY_braille_dots_237 = 16787526;
10838 enum int KEY_braille_dots_2378 = 16787654;
10839 enum int KEY_braille_dots_238 = 16787590;
10840 enum int KEY_braille_dots_24 = 16787466;
10841 enum int KEY_braille_dots_245 = 16787482;
10842 enum int KEY_braille_dots_2456 = 16787514;
10843 enum int KEY_braille_dots_24567 = 16787578;
10844 enum int KEY_braille_dots_245678 = 16787706;
10845 enum int KEY_braille_dots_24568 = 16787642;
10846 enum int KEY_braille_dots_2457 = 16787546;
10847 enum int KEY_braille_dots_24578 = 16787674;
10848 enum int KEY_braille_dots_2458 = 16787610;
10849 enum int KEY_braille_dots_246 = 16787498;
10850 enum int KEY_braille_dots_2467 = 16787562;
10851 enum int KEY_braille_dots_24678 = 16787690;
10852 enum int KEY_braille_dots_2468 = 16787626;
10853 enum int KEY_braille_dots_247 = 16787530;
10854 enum int KEY_braille_dots_2478 = 16787658;
10855 enum int KEY_braille_dots_248 = 16787594;
10856 enum int KEY_braille_dots_25 = 16787474;
10857 enum int KEY_braille_dots_256 = 16787506;
10858 enum int KEY_braille_dots_2567 = 16787570;
10859 enum int KEY_braille_dots_25678 = 16787698;
10860 enum int KEY_braille_dots_2568 = 16787634;
10861 enum int KEY_braille_dots_257 = 16787538;
10862 enum int KEY_braille_dots_2578 = 16787666;
10863 enum int KEY_braille_dots_258 = 16787602;
10864 enum int KEY_braille_dots_26 = 16787490;
10865 enum int KEY_braille_dots_267 = 16787554;
10866 enum int KEY_braille_dots_2678 = 16787682;
10867 enum int KEY_braille_dots_268 = 16787618;
10868 enum int KEY_braille_dots_27 = 16787522;
10869 enum int KEY_braille_dots_278 = 16787650;
10870 enum int KEY_braille_dots_28 = 16787586;
10871 enum int KEY_braille_dots_3 = 16787460;
10872 enum int KEY_braille_dots_34 = 16787468;
10873 enum int KEY_braille_dots_345 = 16787484;
10874 enum int KEY_braille_dots_3456 = 16787516;
10875 enum int KEY_braille_dots_34567 = 16787580;
10876 enum int KEY_braille_dots_345678 = 16787708;
10877 enum int KEY_braille_dots_34568 = 16787644;
10878 enum int KEY_braille_dots_3457 = 16787548;
10879 enum int KEY_braille_dots_34578 = 16787676;
10880 enum int KEY_braille_dots_3458 = 16787612;
10881 enum int KEY_braille_dots_346 = 16787500;
10882 enum int KEY_braille_dots_3467 = 16787564;
10883 enum int KEY_braille_dots_34678 = 16787692;
10884 enum int KEY_braille_dots_3468 = 16787628;
10885 enum int KEY_braille_dots_347 = 16787532;
10886 enum int KEY_braille_dots_3478 = 16787660;
10887 enum int KEY_braille_dots_348 = 16787596;
10888 enum int KEY_braille_dots_35 = 16787476;
10889 enum int KEY_braille_dots_356 = 16787508;
10890 enum int KEY_braille_dots_3567 = 16787572;
10891 enum int KEY_braille_dots_35678 = 16787700;
10892 enum int KEY_braille_dots_3568 = 16787636;
10893 enum int KEY_braille_dots_357 = 16787540;
10894 enum int KEY_braille_dots_3578 = 16787668;
10895 enum int KEY_braille_dots_358 = 16787604;
10896 enum int KEY_braille_dots_36 = 16787492;
10897 enum int KEY_braille_dots_367 = 16787556;
10898 enum int KEY_braille_dots_3678 = 16787684;
10899 enum int KEY_braille_dots_368 = 16787620;
10900 enum int KEY_braille_dots_37 = 16787524;
10901 enum int KEY_braille_dots_378 = 16787652;
10902 enum int KEY_braille_dots_38 = 16787588;
10903 enum int KEY_braille_dots_4 = 16787464;
10904 enum int KEY_braille_dots_45 = 16787480;
10905 enum int KEY_braille_dots_456 = 16787512;
10906 enum int KEY_braille_dots_4567 = 16787576;
10907 enum int KEY_braille_dots_45678 = 16787704;
10908 enum int KEY_braille_dots_4568 = 16787640;
10909 enum int KEY_braille_dots_457 = 16787544;
10910 enum int KEY_braille_dots_4578 = 16787672;
10911 enum int KEY_braille_dots_458 = 16787608;
10912 enum int KEY_braille_dots_46 = 16787496;
10913 enum int KEY_braille_dots_467 = 16787560;
10914 enum int KEY_braille_dots_4678 = 16787688;
10915 enum int KEY_braille_dots_468 = 16787624;
10916 enum int KEY_braille_dots_47 = 16787528;
10917 enum int KEY_braille_dots_478 = 16787656;
10918 enum int KEY_braille_dots_48 = 16787592;
10919 enum int KEY_braille_dots_5 = 16787472;
10920 enum int KEY_braille_dots_56 = 16787504;
10921 enum int KEY_braille_dots_567 = 16787568;
10922 enum int KEY_braille_dots_5678 = 16787696;
10923 enum int KEY_braille_dots_568 = 16787632;
10924 enum int KEY_braille_dots_57 = 16787536;
10925 enum int KEY_braille_dots_578 = 16787664;
10926 enum int KEY_braille_dots_58 = 16787600;
10927 enum int KEY_braille_dots_6 = 16787488;
10928 enum int KEY_braille_dots_67 = 16787552;
10929 enum int KEY_braille_dots_678 = 16787680;
10930 enum int KEY_braille_dots_68 = 16787616;
10931 enum int KEY_braille_dots_7 = 16787520;
10932 enum int KEY_braille_dots_78 = 16787648;
10933 enum int KEY_braille_dots_8 = 16787584;
10934 enum int KEY_breve = 418;
10935 enum int KEY_brokenbar = 166;
10936 enum int KEY_c = 99;
10937 enum int KEY_cabovedot = 741;
10938 enum int KEY_cacute = 486;
10939 enum int KEY_careof = 2744;
10940 enum int KEY_caret = 2812;
10941 enum int KEY_caron = 439;
10942 enum int KEY_ccaron = 488;
10943 enum int KEY_ccedilla = 231;
10944 enum int KEY_ccircumflex = 742;
10945 enum int KEY_cedilla = 184;
10946 enum int KEY_cent = 162;
10947 enum int KEY_checkerboard = 2529;
10948 enum int KEY_checkmark = 2803;
10949 enum int KEY_circle = 3023;
10950 enum int KEY_club = 2796;
10951 enum int KEY_colon = 58;
10952 enum int KEY_comma = 44;
10953 enum int KEY_containsas = 16785931;
10954 enum int KEY_copyright = 169;
10955 enum int KEY_cr = 2532;
10956 enum int KEY_crossinglines = 2542;
10957 enum int KEY_cuberoot = 16785947;
10958 enum int KEY_currency = 164;
10959 enum int KEY_cursor = 2815;
10960 enum int KEY_d = 100;
10961 enum int KEY_dabovedot = 16784907;
10962 enum int KEY_dagger = 2801;
10963 enum int KEY_dcaron = 495;
10964 enum int KEY_dead_A = 65153;
10965 enum int KEY_dead_E = 65155;
10966 enum int KEY_dead_I = 65157;
10967 enum int KEY_dead_O = 65159;
10968 enum int KEY_dead_U = 65161;
10969 enum int KEY_dead_a = 65152;
10970 enum int KEY_dead_abovecomma = 65124;
10971 enum int KEY_dead_abovedot = 65110;
10972 enum int KEY_dead_abovereversedcomma = 65125;
10973 enum int KEY_dead_abovering = 65112;
10974 enum int KEY_dead_acute = 65105;
10975 enum int KEY_dead_belowbreve = 65131;
10976 enum int KEY_dead_belowcircumflex = 65129;
10977 enum int KEY_dead_belowcomma = 65134;
10978 enum int KEY_dead_belowdiaeresis = 65132;
10979 enum int KEY_dead_belowdot = 65120;
10980 enum int KEY_dead_belowmacron = 65128;
10981 enum int KEY_dead_belowring = 65127;
10982 enum int KEY_dead_belowtilde = 65130;
10983 enum int KEY_dead_breve = 65109;
10984 enum int KEY_dead_capital_schwa = 65163;
10985 enum int KEY_dead_caron = 65114;
10986 enum int KEY_dead_cedilla = 65115;
10987 enum int KEY_dead_circumflex = 65106;
10988 enum int KEY_dead_currency = 65135;
10989 enum int KEY_dead_dasia = 65125;
10990 enum int KEY_dead_diaeresis = 65111;
10991 enum int KEY_dead_doubleacute = 65113;
10992 enum int KEY_dead_doublegrave = 65126;
10993 enum int KEY_dead_e = 65154;
10994 enum int KEY_dead_grave = 65104;
10995 enum int KEY_dead_hook = 65121;
10996 enum int KEY_dead_horn = 65122;
10997 enum int KEY_dead_i = 65156;
10998 enum int KEY_dead_invertedbreve = 65133;
10999 enum int KEY_dead_iota = 65117;
11000 enum int KEY_dead_macron = 65108;
11001 enum int KEY_dead_o = 65158;
11002 enum int KEY_dead_ogonek = 65116;
11003 enum int KEY_dead_perispomeni = 65107;
11004 enum int KEY_dead_psili = 65124;
11005 enum int KEY_dead_semivoiced_sound = 65119;
11006 enum int KEY_dead_small_schwa = 65162;
11007 enum int KEY_dead_stroke = 65123;
11008 enum int KEY_dead_tilde = 65107;
11009 enum int KEY_dead_u = 65160;
11010 enum int KEY_dead_voiced_sound = 65118;
11011 enum int KEY_decimalpoint = 2749;
11012 enum int KEY_degree = 176;
11013 enum int KEY_diaeresis = 168;
11014 enum int KEY_diamond = 2797;
11015 enum int KEY_digitspace = 2725;
11016 enum int KEY_dintegral = 16785964;
11017 enum int KEY_division = 247;
11018 enum int KEY_dollar = 36;
11019 enum int KEY_doubbaselinedot = 2735;
11020 enum int KEY_doubleacute = 445;
11021 enum int KEY_doubledagger = 2802;
11022 enum int KEY_doublelowquotemark = 2814;
11023 enum int KEY_downarrow = 2302;
11024 enum int KEY_downcaret = 2984;
11025 enum int KEY_downshoe = 3030;
11026 enum int KEY_downstile = 3012;
11027 enum int KEY_downtack = 3010;
11028 enum int KEY_dstroke = 496;
11029 enum int KEY_e = 101;
11030 enum int KEY_eabovedot = 1004;
11031 enum int KEY_eacute = 233;
11032 enum int KEY_ebelowdot = 16785081;
11033 enum int KEY_ecaron = 492;
11034 enum int KEY_ecircumflex = 234;
11035 enum int KEY_ecircumflexacute = 16785087;
11036 enum int KEY_ecircumflexbelowdot = 16785095;
11037 enum int KEY_ecircumflexgrave = 16785089;
11038 enum int KEY_ecircumflexhook = 16785091;
11039 enum int KEY_ecircumflextilde = 16785093;
11040 enum int KEY_ediaeresis = 235;
11041 enum int KEY_egrave = 232;
11042 enum int KEY_ehook = 16785083;
11043 enum int KEY_eightsubscript = 16785544;
11044 enum int KEY_eightsuperior = 16785528;
11045 enum int KEY_elementof = 16785928;
11046 enum int KEY_ellipsis = 2734;
11047 enum int KEY_em3space = 2723;
11048 enum int KEY_em4space = 2724;
11049 enum int KEY_emacron = 954;
11050 enum int KEY_emdash = 2729;
11051 enum int KEY_emfilledcircle = 2782;
11052 enum int KEY_emfilledrect = 2783;
11053 enum int KEY_emopencircle = 2766;
11054 enum int KEY_emopenrectangle = 2767;
11055 enum int KEY_emptyset = 16785925;
11056 enum int KEY_emspace = 2721;
11057 enum int KEY_endash = 2730;
11058 enum int KEY_enfilledcircbullet = 2790;
11059 enum int KEY_enfilledsqbullet = 2791;
11060 enum int KEY_eng = 959;
11061 enum int KEY_enopencircbullet = 2784;
11062 enum int KEY_enopensquarebullet = 2785;
11063 enum int KEY_enspace = 2722;
11064 enum int KEY_eogonek = 490;
11065 enum int KEY_equal = 61;
11066 enum int KEY_eth = 240;
11067 enum int KEY_etilde = 16785085;
11068 enum int KEY_exclam = 33;
11069 enum int KEY_exclamdown = 161;
11070 enum int KEY_f = 102;
11071 enum int KEY_fabovedot = 16784927;
11072 enum int KEY_femalesymbol = 2808;
11073 enum int KEY_ff = 2531;
11074 enum int KEY_figdash = 2747;
11075 enum int KEY_filledlefttribullet = 2780;
11076 enum int KEY_filledrectbullet = 2779;
11077 enum int KEY_filledrighttribullet = 2781;
11078 enum int KEY_filledtribulletdown = 2793;
11079 enum int KEY_filledtribulletup = 2792;
11080 enum int KEY_fiveeighths = 2757;
11081 enum int KEY_fivesixths = 2743;
11082 enum int KEY_fivesubscript = 16785541;
11083 enum int KEY_fivesuperior = 16785525;
11084 enum int KEY_fourfifths = 2741;
11085 enum int KEY_foursubscript = 16785540;
11086 enum int KEY_foursuperior = 16785524;
11087 enum int KEY_fourthroot = 16785948;
11088 enum int KEY_function = 2294;
11089 enum int KEY_g = 103;
11090 enum int KEY_gabovedot = 757;
11091 enum int KEY_gbreve = 699;
11092 enum int KEY_gcaron = 16777703;
11093 enum int KEY_gcedilla = 955;
11094 enum int KEY_gcircumflex = 760;
11095 enum int KEY_grave = 96;
11096 enum int KEY_greater = 62;
11097 enum int KEY_greaterthanequal = 2238;
11098 enum int KEY_guillemotleft = 171;
11099 enum int KEY_guillemotright = 187;
11100 enum int KEY_h = 104;
11101 enum int KEY_hairspace = 2728;
11102 enum int KEY_hcircumflex = 694;
11103 enum int KEY_heart = 2798;
11104 enum int KEY_hebrew_aleph = 3296;
11105 enum int KEY_hebrew_ayin = 3314;
11106 enum int KEY_hebrew_bet = 3297;
11107 enum int KEY_hebrew_beth = 3297;
11108 enum int KEY_hebrew_chet = 3303;
11109 enum int KEY_hebrew_dalet = 3299;
11110 enum int KEY_hebrew_daleth = 3299;
11111 enum int KEY_hebrew_doublelowline = 3295;
11112 enum int KEY_hebrew_finalkaph = 3306;
11113 enum int KEY_hebrew_finalmem = 3309;
11114 enum int KEY_hebrew_finalnun = 3311;
11115 enum int KEY_hebrew_finalpe = 3315;
11116 enum int KEY_hebrew_finalzade = 3317;
11117 enum int KEY_hebrew_finalzadi = 3317;
11118 enum int KEY_hebrew_gimel = 3298;
11119 enum int KEY_hebrew_gimmel = 3298;
11120 enum int KEY_hebrew_he = 3300;
11121 enum int KEY_hebrew_het = 3303;
11122 enum int KEY_hebrew_kaph = 3307;
11123 enum int KEY_hebrew_kuf = 3319;
11124 enum int KEY_hebrew_lamed = 3308;
11125 enum int KEY_hebrew_mem = 3310;
11126 enum int KEY_hebrew_nun = 3312;
11127 enum int KEY_hebrew_pe = 3316;
11128 enum int KEY_hebrew_qoph = 3319;
11129 enum int KEY_hebrew_resh = 3320;
11130 enum int KEY_hebrew_samech = 3313;
11131 enum int KEY_hebrew_samekh = 3313;
11132 enum int KEY_hebrew_shin = 3321;
11133 enum int KEY_hebrew_taf = 3322;
11134 enum int KEY_hebrew_taw = 3322;
11135 enum int KEY_hebrew_tet = 3304;
11136 enum int KEY_hebrew_teth = 3304;
11137 enum int KEY_hebrew_waw = 3301;
11138 enum int KEY_hebrew_yod = 3305;
11139 enum int KEY_hebrew_zade = 3318;
11140 enum int KEY_hebrew_zadi = 3318;
11141 enum int KEY_hebrew_zain = 3302;
11142 enum int KEY_hebrew_zayin = 3302;
11143 enum int KEY_hexagram = 2778;
11144 enum int KEY_horizconnector = 2211;
11145 enum int KEY_horizlinescan1 = 2543;
11146 enum int KEY_horizlinescan3 = 2544;
11147 enum int KEY_horizlinescan5 = 2545;
11148 enum int KEY_horizlinescan7 = 2546;
11149 enum int KEY_horizlinescan9 = 2547;
11150 enum int KEY_hstroke = 689;
11151 enum int KEY_ht = 2530;
11152 enum int KEY_hyphen = 173;
11153 enum int KEY_i = 105;
11154 enum int KEY_iTouch = 269025120;
11155 enum int KEY_iacute = 237;
11156 enum int KEY_ibelowdot = 16785099;
11157 enum int KEY_ibreve = 16777517;
11158 enum int KEY_icircumflex = 238;
11159 enum int KEY_identical = 2255;
11160 enum int KEY_idiaeresis = 239;
11161 enum int KEY_idotless = 697;
11162 enum int KEY_ifonlyif = 2253;
11163 enum int KEY_igrave = 236;
11164 enum int KEY_ihook = 16785097;
11165 enum int KEY_imacron = 1007;
11166 enum int KEY_implies = 2254;
11167 enum int KEY_includedin = 2266;
11168 enum int KEY_includes = 2267;
11169 enum int KEY_infinity = 2242;
11170 enum int KEY_integral = 2239;
11171 enum int KEY_intersection = 2268;
11172 enum int KEY_iogonek = 999;
11173 enum int KEY_itilde = 949;
11174 enum int KEY_j = 106;
11175 enum int KEY_jcircumflex = 700;
11176 enum int KEY_jot = 3018;
11177 enum int KEY_k = 107;
11178 enum int KEY_kana_A = 1201;
11179 enum int KEY_kana_CHI = 1217;
11180 enum int KEY_kana_E = 1204;
11181 enum int KEY_kana_FU = 1228;
11182 enum int KEY_kana_HA = 1226;
11183 enum int KEY_kana_HE = 1229;
11184 enum int KEY_kana_HI = 1227;
11185 enum int KEY_kana_HO = 1230;
11186 enum int KEY_kana_HU = 1228;
11187 enum int KEY_kana_I = 1202;
11188 enum int KEY_kana_KA = 1206;
11189 enum int KEY_kana_KE = 1209;
11190 enum int KEY_kana_KI = 1207;
11191 enum int KEY_kana_KO = 1210;
11192 enum int KEY_kana_KU = 1208;
11193 enum int KEY_kana_MA = 1231;
11194 enum int KEY_kana_ME = 1234;
11195 enum int KEY_kana_MI = 1232;
11196 enum int KEY_kana_MO = 1235;
11197 enum int KEY_kana_MU = 1233;
11198 enum int KEY_kana_N = 1245;
11199 enum int KEY_kana_NA = 1221;
11200 enum int KEY_kana_NE = 1224;
11201 enum int KEY_kana_NI = 1222;
11202 enum int KEY_kana_NO = 1225;
11203 enum int KEY_kana_NU = 1223;
11204 enum int KEY_kana_O = 1205;
11205 enum int KEY_kana_RA = 1239;
11206 enum int KEY_kana_RE = 1242;
11207 enum int KEY_kana_RI = 1240;
11208 enum int KEY_kana_RO = 1243;
11209 enum int KEY_kana_RU = 1241;
11210 enum int KEY_kana_SA = 1211;
11211 enum int KEY_kana_SE = 1214;
11212 enum int KEY_kana_SHI = 1212;
11213 enum int KEY_kana_SO = 1215;
11214 enum int KEY_kana_SU = 1213;
11215 enum int KEY_kana_TA = 1216;
11216 enum int KEY_kana_TE = 1219;
11217 enum int KEY_kana_TI = 1217;
11218 enum int KEY_kana_TO = 1220;
11219 enum int KEY_kana_TSU = 1218;
11220 enum int KEY_kana_TU = 1218;
11221 enum int KEY_kana_U = 1203;
11222 enum int KEY_kana_WA = 1244;
11223 enum int KEY_kana_WO = 1190;
11224 enum int KEY_kana_YA = 1236;
11225 enum int KEY_kana_YO = 1238;
11226 enum int KEY_kana_YU = 1237;
11227 enum int KEY_kana_a = 1191;
11228 enum int KEY_kana_closingbracket = 1187;
11229 enum int KEY_kana_comma = 1188;
11230 enum int KEY_kana_conjunctive = 1189;
11231 enum int KEY_kana_e = 1194;
11232 enum int KEY_kana_fullstop = 1185;
11233 enum int KEY_kana_i = 1192;
11234 enum int KEY_kana_middledot = 1189;
11235 enum int KEY_kana_o = 1195;
11236 enum int KEY_kana_openingbracket = 1186;
11237 enum int KEY_kana_switch = 65406;
11238 enum int KEY_kana_tsu = 1199;
11239 enum int KEY_kana_tu = 1199;
11240 enum int KEY_kana_u = 1193;
11241 enum int KEY_kana_ya = 1196;
11242 enum int KEY_kana_yo = 1198;
11243 enum int KEY_kana_yu = 1197;
11244 enum int KEY_kappa = 930;
11245 enum int KEY_kcedilla = 1011;
11246 enum int KEY_kra = 930;
11247 enum int KEY_l = 108;
11248 enum int KEY_lacute = 485;
11249 enum int KEY_latincross = 2777;
11250 enum int KEY_lbelowdot = 16784951;
11251 enum int KEY_lcaron = 437;
11252 enum int KEY_lcedilla = 950;
11253 enum int KEY_leftanglebracket = 2748;
11254 enum int KEY_leftarrow = 2299;
11255 enum int KEY_leftcaret = 2979;
11256 enum int KEY_leftdoublequotemark = 2770;
11257 enum int KEY_leftmiddlecurlybrace = 2223;
11258 enum int KEY_leftopentriangle = 2764;
11259 enum int KEY_leftpointer = 2794;
11260 enum int KEY_leftradical = 2209;
11261 enum int KEY_leftshoe = 3034;
11262 enum int KEY_leftsinglequotemark = 2768;
11263 enum int KEY_leftt = 2548;
11264 enum int KEY_lefttack = 3036;
11265 enum int KEY_less = 60;
11266 enum int KEY_lessthanequal = 2236;
11267 enum int KEY_lf = 2533;
11268 enum int KEY_logicaland = 2270;
11269 enum int KEY_logicalor = 2271;
11270 enum int KEY_lowleftcorner = 2541;
11271 enum int KEY_lowrightcorner = 2538;
11272 enum int KEY_lstroke = 435;
11273 enum int KEY_m = 109;
11274 enum int KEY_mabovedot = 16784961;
11275 enum int KEY_macron = 175;
11276 enum int KEY_malesymbol = 2807;
11277 enum int KEY_maltesecross = 2800;
11278 enum int KEY_marker = 2751;
11279 enum int KEY_masculine = 186;
11280 enum int KEY_minus = 45;
11281 enum int KEY_minutes = 2774;
11282 enum int KEY_mu = 181;
11283 enum int KEY_multiply = 215;
11284 enum int KEY_musicalflat = 2806;
11285 enum int KEY_musicalsharp = 2805;
11286 enum int KEY_n = 110;
11287 enum int KEY_nabla = 2245;
11288 enum int KEY_nacute = 497;
11289 enum int KEY_ncaron = 498;
11290 enum int KEY_ncedilla = 1009;
11291 enum int KEY_ninesubscript = 16785545;
11292 enum int KEY_ninesuperior = 16785529;
11293 enum int KEY_nl = 2536;
11294 enum int KEY_nobreakspace = 160;
11295 enum int KEY_notapproxeq = 16785991;
11296 enum int KEY_notelementof = 16785929;
11297 enum int KEY_notequal = 2237;
11298 enum int KEY_notidentical = 16786018;
11299 enum int KEY_notsign = 172;
11300 enum int KEY_ntilde = 241;
11301 enum int KEY_numbersign = 35;
11302 enum int KEY_numerosign = 1712;
11303 enum int KEY_o = 111;
11304 enum int KEY_oacute = 243;
11305 enum int KEY_obarred = 16777845;
11306 enum int KEY_obelowdot = 16785101;
11307 enum int KEY_ocaron = 16777682;
11308 enum int KEY_ocircumflex = 244;
11309 enum int KEY_ocircumflexacute = 16785105;
11310 enum int KEY_ocircumflexbelowdot = 16785113;
11311 enum int KEY_ocircumflexgrave = 16785107;
11312 enum int KEY_ocircumflexhook = 16785109;
11313 enum int KEY_ocircumflextilde = 16785111;
11314 enum int KEY_odiaeresis = 246;
11315 enum int KEY_odoubleacute = 501;
11316 enum int KEY_oe = 5053;
11317 enum int KEY_ogonek = 434;
11318 enum int KEY_ograve = 242;
11319 enum int KEY_ohook = 16785103;
11320 enum int KEY_ohorn = 16777633;
11321 enum int KEY_ohornacute = 16785115;
11322 enum int KEY_ohornbelowdot = 16785123;
11323 enum int KEY_ohorngrave = 16785117;
11324 enum int KEY_ohornhook = 16785119;
11325 enum int KEY_ohorntilde = 16785121;
11326 enum int KEY_omacron = 1010;
11327 enum int KEY_oneeighth = 2755;
11328 enum int KEY_onefifth = 2738;
11329 enum int KEY_onehalf = 189;
11330 enum int KEY_onequarter = 188;
11331 enum int KEY_onesixth = 2742;
11332 enum int KEY_onesubscript = 16785537;
11333 enum int KEY_onesuperior = 185;
11334 enum int KEY_onethird = 2736;
11335 enum int KEY_ooblique = 248;
11336 enum int KEY_openrectbullet = 2786;
11337 enum int KEY_openstar = 2789;
11338 enum int KEY_opentribulletdown = 2788;
11339 enum int KEY_opentribulletup = 2787;
11340 enum int KEY_ordfeminine = 170;
11341 enum int KEY_oslash = 248;
11342 enum int KEY_otilde = 245;
11343 enum int KEY_overbar = 3008;
11344 enum int KEY_overline = 1150;
11345 enum int KEY_p = 112;
11346 enum int KEY_pabovedot = 16784983;
11347 enum int KEY_paragraph = 182;
11348 enum int KEY_parenleft = 40;
11349 enum int KEY_parenright = 41;
11350 enum int KEY_partdifferential = 16785922;
11351 enum int KEY_partialderivative = 2287;
11352 enum int KEY_percent = 37;
11353 enum int KEY_period = 46;
11354 enum int KEY_periodcentered = 183;
11355 enum int KEY_phonographcopyright = 2811;
11356 enum int KEY_plus = 43;
11357 enum int KEY_plusminus = 177;
11358 enum int KEY_prescription = 2772;
11359 enum int KEY_prolongedsound = 1200;
11360 enum int KEY_punctspace = 2726;
11361 enum int KEY_q = 113;
11362 enum int KEY_quad = 3020;
11363 enum int KEY_question = 63;
11364 enum int KEY_questiondown = 191;
11365 enum int KEY_quotedbl = 34;
11366 enum int KEY_quoteleft = 96;
11367 enum int KEY_quoteright = 39;
11368 enum int KEY_r = 114;
11369 enum int KEY_racute = 480;
11370 enum int KEY_radical = 2262;
11371 enum int KEY_rcaron = 504;
11372 enum int KEY_rcedilla = 947;
11373 enum int KEY_registered = 174;
11374 enum int KEY_rightanglebracket = 2750;
11375 enum int KEY_rightarrow = 2301;
11376 enum int KEY_rightcaret = 2982;
11377 enum int KEY_rightdoublequotemark = 2771;
11378 enum int KEY_rightmiddlecurlybrace = 2224;
11379 enum int KEY_rightmiddlesummation = 2231;
11380 enum int KEY_rightopentriangle = 2765;
11381 enum int KEY_rightpointer = 2795;
11382 enum int KEY_rightshoe = 3032;
11383 enum int KEY_rightsinglequotemark = 2769;
11384 enum int KEY_rightt = 2549;
11385 enum int KEY_righttack = 3068;
11386 enum int KEY_s = 115;
11387 enum int KEY_sabovedot = 16784993;
11388 enum int KEY_sacute = 438;
11389 enum int KEY_scaron = 441;
11390 enum int KEY_scedilla = 442;
11391 enum int KEY_schwa = 16777817;
11392 enum int KEY_scircumflex = 766;
11393 enum int KEY_script_switch = 65406;
11394 enum int KEY_seconds = 2775;
11395 enum int KEY_section = 167;
11396 enum int KEY_semicolon = 59;
11397 enum int KEY_semivoicedsound = 1247;
11398 enum int KEY_seveneighths = 2758;
11399 enum int KEY_sevensubscript = 16785543;
11400 enum int KEY_sevensuperior = 16785527;
11401 enum int KEY_signaturemark = 2762;
11402 enum int KEY_signifblank = 2732;
11403 enum int KEY_similarequal = 2249;
11404 enum int KEY_singlelowquotemark = 2813;
11405 enum int KEY_sixsubscript = 16785542;
11406 enum int KEY_sixsuperior = 16785526;
11407 enum int KEY_slash = 47;
11408 enum int KEY_soliddiamond = 2528;
11409 enum int KEY_space = 32;
11410 enum int KEY_squareroot = 16785946;
11411 enum int KEY_ssharp = 223;
11412 enum int KEY_sterling = 163;
11413 enum int KEY_stricteq = 16786019;
11414 enum int KEY_t = 116;
11415 enum int KEY_tabovedot = 16785003;
11416 enum int KEY_tcaron = 443;
11417 enum int KEY_tcedilla = 510;
11418 enum int KEY_telephone = 2809;
11419 enum int KEY_telephonerecorder = 2810;
11420 enum int KEY_therefore = 2240;
11421 enum int KEY_thinspace = 2727;
11422 enum int KEY_thorn = 254;
11423 enum int KEY_threeeighths = 2756;
11424 enum int KEY_threefifths = 2740;
11425 enum int KEY_threequarters = 190;
11426 enum int KEY_threesubscript = 16785539;
11427 enum int KEY_threesuperior = 179;
11428 enum int KEY_tintegral = 16785965;
11429 enum int KEY_topintegral = 2212;
11430 enum int KEY_topleftparens = 2219;
11431 enum int KEY_topleftradical = 2210;
11432 enum int KEY_topleftsqbracket = 2215;
11433 enum int KEY_topleftsummation = 2225;
11434 enum int KEY_toprightparens = 2221;
11435 enum int KEY_toprightsqbracket = 2217;
11436 enum int KEY_toprightsummation = 2229;
11437 enum int KEY_topt = 2551;
11438 enum int KEY_topvertsummationconnector = 2227;
11439 enum int KEY_trademark = 2761;
11440 enum int KEY_trademarkincircle = 2763;
11441 enum int KEY_tslash = 956;
11442 enum int KEY_twofifths = 2739;
11443 enum int KEY_twosubscript = 16785538;
11444 enum int KEY_twosuperior = 178;
11445 enum int KEY_twothirds = 2737;
11446 enum int KEY_u = 117;
11447 enum int KEY_uacute = 250;
11448 enum int KEY_ubelowdot = 16785125;
11449 enum int KEY_ubreve = 765;
11450 enum int KEY_ucircumflex = 251;
11451 enum int KEY_udiaeresis = 252;
11452 enum int KEY_udoubleacute = 507;
11453 enum int KEY_ugrave = 249;
11454 enum int KEY_uhook = 16785127;
11455 enum int KEY_uhorn = 16777648;
11456 enum int KEY_uhornacute = 16785129;
11457 enum int KEY_uhornbelowdot = 16785137;
11458 enum int KEY_uhorngrave = 16785131;
11459 enum int KEY_uhornhook = 16785133;
11460 enum int KEY_uhorntilde = 16785135;
11461 enum int KEY_umacron = 1022;
11462 enum int KEY_underbar = 3014;
11463 enum int KEY_underscore = 95;
11464 enum int KEY_union = 2269;
11465 enum int KEY_uogonek = 1017;
11466 enum int KEY_uparrow = 2300;
11467 enum int KEY_upcaret = 2985;
11468 enum int KEY_upleftcorner = 2540;
11469 enum int KEY_uprightcorner = 2539;
11470 enum int KEY_upshoe = 3011;
11471 enum int KEY_upstile = 3027;
11472 enum int KEY_uptack = 3022;
11473 enum int KEY_uring = 505;
11474 enum int KEY_utilde = 1021;
11475 enum int KEY_v = 118;
11476 enum int KEY_variation = 2241;
11477 enum int KEY_vertbar = 2552;
11478 enum int KEY_vertconnector = 2214;
11479 enum int KEY_voicedsound = 1246;
11480 enum int KEY_vt = 2537;
11481 enum int KEY_w = 119;
11482 enum int KEY_wacute = 16785027;
11483 enum int KEY_wcircumflex = 16777589;
11484 enum int KEY_wdiaeresis = 16785029;
11485 enum int KEY_wgrave = 16785025;
11486 enum int KEY_x = 120;
11487 enum int KEY_xabovedot = 16785035;
11488 enum int KEY_y = 121;
11489 enum int KEY_yacute = 253;
11490 enum int KEY_ybelowdot = 16785141;
11491 enum int KEY_ycircumflex = 16777591;
11492 enum int KEY_ydiaeresis = 255;
11493 enum int KEY_yen = 165;
11494 enum int KEY_ygrave = 16785139;
11495 enum int KEY_yhook = 16785143;
11496 enum int KEY_ytilde = 16785145;
11497 enum int KEY_z = 122;
11498 enum int KEY_zabovedot = 447;
11499 enum int KEY_zacute = 444;
11500 enum int KEY_zcaron = 446;
11501 enum int KEY_zerosubscript = 16785536;
11502 enum int KEY_zerosuperior = 16785520;
11503 enum int KEY_zstroke = 16777654;
11504 enum int KP_0 = 65456;
11505 enum int KP_1 = 65457;
11506 enum int KP_2 = 65458;
11507 enum int KP_3 = 65459;
11508 enum int KP_4 = 65460;
11509 enum int KP_5 = 65461;
11510 enum int KP_6 = 65462;
11511 enum int KP_7 = 65463;
11512 enum int KP_8 = 65464;
11513 enum int KP_9 = 65465;
11514 enum int KP_Add = 65451;
11515 enum int KP_Begin = 65437;
11516 enum int KP_Decimal = 65454;
11517 enum int KP_Delete = 65439;
11518 enum int KP_Divide = 65455;
11519 enum int KP_Down = 65433;
11520 enum int KP_End = 65436;
11521 enum int KP_Enter = 65421;
11522 enum int KP_Equal = 65469;
11523 enum int KP_F1 = 65425;
11524 enum int KP_F2 = 65426;
11525 enum int KP_F3 = 65427;
11526 enum int KP_F4 = 65428;
11527 enum int KP_Home = 65429;
11528 enum int KP_Insert = 65438;
11529 enum int KP_Left = 65430;
11530 enum int KP_Multiply = 65450;
11531 enum int KP_Next = 65435;
11532 enum int KP_Page_Down = 65435;
11533 enum int KP_Page_Up = 65434;
11534 enum int KP_Prior = 65434;
11535 enum int KP_Right = 65432;
11536 enum int KP_Separator = 65452;
11537 enum int KP_Space = 65408;
11538 enum int KP_Subtract = 65453;
11539 enum int KP_Tab = 65417;
11540 enum int KP_Up = 65431;
11541 enum int Kana_Lock = 65325;
11542 enum int Kana_Shift = 65326;
11543 enum int Kanji = 65313;
11544 enum int Kanji_Bangou = 65335;
11545 enum int Katakana = 65318;
11546 enum int KbdBrightnessDown = 269025030;
11547 enum int KbdBrightnessUp = 269025029;
11548 enum int KbdLightOnOff = 269025028;
11549 enum int Kcedilla = 979;
11550 // Key event
11551 struct KeyEvent /* Version 0.2 */ {
11552 EventType type;
11553 uint time;
11554 EventFlags flags;
11555 Stage* stage;
11556 Actor* source;
11557 ModifierType modifier_state;
11558 uint keyval;
11559 ushort hardware_keycode;
11560 dchar unicode_value;
11561 InputDevice* device;
11564 // Point in a path behaviour.
11565 struct Knot /* Version 0.2 */ {
11566 int x, y;
11569 // VERSION: 0.2
11570 // Makes an allocated copy of a knot.
11571 // RETURNS: the copied knot.
11572 Knot* /*new*/ copy()() {
11573 return clutter_knot_copy(&this);
11576 // VERSION: 0.2
11577 // Compares to knot and checks if the point to the same location.
11578 // RETURNS: %TRUE if the knots point to the same location.
11579 // <knot_b>: Second knot
11580 int equal()(Knot* knot_b) {
11581 return clutter_knot_equal(&this, knot_b);
11584 // VERSION: 0.2
11585 // Frees the memory of an allocated knot.
11586 void free()() {
11587 clutter_knot_free(&this);
11591 enum int Korean_Won = 3839;
11592 enum int L = 76;
11593 enum int L1 = 65480;
11594 enum int L10 = 65489;
11595 enum int L2 = 65481;
11596 enum int L3 = 65482;
11597 enum int L4 = 65483;
11598 enum int L5 = 65484;
11599 enum int L6 = 65485;
11600 enum int L7 = 65486;
11601 enum int L8 = 65487;
11602 enum int L9 = 65488;
11603 enum int Lacute = 453;
11604 enum int Last_Virtual_Screen = 65236;
11605 enum int Launch0 = 269025088;
11606 enum int Launch1 = 269025089;
11607 enum int Launch2 = 269025090;
11608 enum int Launch3 = 269025091;
11609 enum int Launch4 = 269025092;
11610 enum int Launch5 = 269025093;
11611 enum int Launch6 = 269025094;
11612 enum int Launch7 = 269025095;
11613 enum int Launch8 = 269025096;
11614 enum int Launch9 = 269025097;
11615 enum int LaunchA = 269025098;
11616 enum int LaunchB = 269025099;
11617 enum int LaunchC = 269025100;
11618 enum int LaunchD = 269025101;
11619 enum int LaunchE = 269025102;
11620 enum int LaunchF = 269025103;
11622 // The #ClutterLayoutManager structure contains only private data
11623 // and should be accessed using the provided API
11624 struct LayoutManager /* : GObject.InitiallyUnowned */ /* Version 1.2 */ {
11625 alias parent_instance this;
11626 alias parent_instance super_;
11627 alias parent_instance initiallyunowned;
11628 GObject2.InitiallyUnowned parent_instance;
11629 private void* dummy;
11632 // VERSION: 1.2
11633 // Allocates the children of @container given an area
11635 // See also clutter_actor_allocate()
11636 // <container>: the #ClutterContainer using @manager
11637 // <allocation>: the #ClutterActorBox containing the allocated area of @container
11638 // <flags>: the allocation flags
11639 void allocate()(Container* container, ActorBox* allocation, AllocationFlags flags) {
11640 clutter_layout_manager_allocate(&this, container, allocation, flags);
11643 // VERSION: 1.2
11644 // Begins an animation of @duration milliseconds, using the provided
11645 // easing @mode
11647 // The easing mode can be specified either as a #ClutterAnimationMode
11648 // or as a logical id returned by clutter_alpha_register_func()
11650 // The result of this function depends on the @manager implementation
11652 // layout manager; the returned instance is owned by the layout
11653 // manager and should not be unreferenced
11654 // RETURNS: The #ClutterAlpha created by the
11655 // <duration>: the duration of the animation, in milliseconds
11656 // <mode>: the easing mode of the animation
11657 Alpha* begin_animation()(uint duration, c_ulong mode) {
11658 return clutter_layout_manager_begin_animation(&this, duration, mode);
11661 // Unintrospectable method: child_get() / clutter_layout_manager_child_get()
11662 // VERSION: 1.2
11663 // Retrieves the values for a list of properties out of the
11664 // #ClutterLayoutMeta created by @manager and attached to the
11665 // child of a @container
11666 // <container>: a #ClutterContainer using @manager
11667 // <actor>: a #ClutterActor child of @container
11668 // <first_property>: the name of the first property
11669 /+ Not available -- variadic methods unsupported - use the C function directly.
11670 alias clutter_layout_manager_child_get child_get; // Variadic
11673 // VERSION: 1.2
11674 // Gets a property on the #ClutterLayoutMeta created by @manager and
11675 // attached to a child of @container
11677 // The #GValue must already be initialized to the type of the property
11678 // and has to be unset with g_value_unset() after extracting the real
11679 // value out of it
11680 // <container>: a #ClutterContainer using @manager
11681 // <actor>: a #ClutterActor child of @container
11682 // <property_name>: the name of the property to get
11683 // <value>: a #GValue with the value of the property to get
11684 void child_get_property()(Container* container, Actor* actor, char* property_name, GObject2.Value* value) {
11685 clutter_layout_manager_child_get_property(&this, container, actor, property_name, value);
11688 // Unintrospectable method: child_set() / clutter_layout_manager_child_set()
11689 // VERSION: 1.2
11690 // Sets a list of properties and their values on the #ClutterLayoutMeta
11691 // associated by @manager to a child of @container
11693 // Languages bindings should use clutter_layout_manager_child_set_property()
11694 // instead
11695 // <container>: a #ClutterContainer using @manager
11696 // <actor>: a #ClutterActor child of @container
11697 // <first_property>: the first property name
11698 /+ Not available -- variadic methods unsupported - use the C function directly.
11699 alias clutter_layout_manager_child_set child_set; // Variadic
11702 // VERSION: 1.2
11703 // Sets a property on the #ClutterLayoutMeta created by @manager and
11704 // attached to a child of @container
11705 // <container>: a #ClutterContainer using @manager
11706 // <actor>: a #ClutterActor child of @container
11707 // <property_name>: the name of the property to set
11708 // <value>: a #GValue with the value of the property to set
11709 void child_set_property()(Container* container, Actor* actor, char* property_name, GObject2.Value* value) {
11710 clutter_layout_manager_child_set_property(&this, container, actor, property_name, value);
11713 // VERSION: 1.2
11714 // Ends an animation started by clutter_layout_manager_begin_animation()
11716 // The result of this call depends on the @manager implementation
11717 void end_animation()() {
11718 clutter_layout_manager_end_animation(&this);
11721 // VERSION: 1.2
11722 // Retrieves the #GParamSpec for the layout property @name inside
11723 // the #ClutterLayoutMeta sub-class used by @manager
11725 // or %NULL if no property with that name exists. The returned
11726 // #GParamSpec is owned by the layout manager and should not be
11727 // modified or freed
11728 // RETURNS: a #GParamSpec describing the property,
11729 // <name>: the name of the property
11730 GObject2.ParamSpec* find_child_property()(char* name) {
11731 return clutter_layout_manager_find_child_property(&this, name);
11734 // VERSION: 1.2
11735 // Retrieves the progress of the animation, if one has been started by
11736 // clutter_layout_manager_begin_animation()
11738 // The returned value has the same semantics of the #ClutterAlpha:alpha
11739 // value
11740 // RETURNS: the progress of the animation
11741 double get_animation_progress()() {
11742 return clutter_layout_manager_get_animation_progress(&this);
11745 // VERSION: 1.0
11746 // Retrieves the #ClutterLayoutMeta that the layout @manager associated
11747 // to the @actor child of @container, eventually by creating one if the
11748 // #ClutterLayoutManager supports layout properties
11750 // #ClutterLayoutManager does not have layout properties. The returned
11751 // layout meta instance is owned by the #ClutterLayoutManager and it
11752 // should not be unreferenced
11753 // RETURNS: a #ClutterLayoutMeta, or %NULL if the
11754 // <container>: a #ClutterContainer using @manager
11755 // <actor>: a #ClutterActor child of @container
11756 LayoutMeta* get_child_meta()(Container* container, Actor* actor) {
11757 return clutter_layout_manager_get_child_meta(&this, container, actor);
11760 // VERSION: 1.2
11761 // Computes the minimum and natural heights of the @container according
11762 // to @manager.
11764 // See also clutter_actor_get_preferred_height()
11765 // <container>: the #ClutterContainer using @manager
11766 // <for_width>: the width for which the height should be computed, or -1
11767 // <min_height_p>: return location for the minimum height of the layout, or %NULL
11768 // <nat_height_p>: return location for the natural height of the layout, or %NULL
11769 void get_preferred_height()(Container* container, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* nat_height_p=null) {
11770 clutter_layout_manager_get_preferred_height(&this, container, for_width, min_height_p, nat_height_p);
11773 // VERSION: 1.2
11774 // Computes the minimum and natural widths of the @container according
11775 // to @manager.
11777 // See also clutter_actor_get_preferred_width()
11778 // <container>: the #ClutterContainer using @manager
11779 // <for_height>: the height for which the width should be computed, or -1
11780 // <min_width_p>: return location for the minimum width of the layout, or %NULL
11781 // <nat_width_p>: return location for the natural width of the layout, or %NULL
11782 void get_preferred_width()(Container* container, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* nat_width_p=null) {
11783 clutter_layout_manager_get_preferred_width(&this, container, for_height, min_width_p, nat_width_p);
11786 // VERSION: 1.2
11787 // Emits the #ClutterLayoutManager::layout-changed signal on @manager
11789 // This function should only be called by implementations of the
11790 // #ClutterLayoutManager class
11791 void layout_changed()() {
11792 clutter_layout_manager_layout_changed(&this);
11795 // VERSION: 1.2
11796 // Retrieves all the #GParamSpec<!-- -->s for the layout properties
11797 // stored inside the #ClutterLayoutMeta sub-class used by @manager
11799 // %NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the
11800 // resources allocated for the array
11801 // RETURNS: the newly-allocated,
11802 // <n_pspecs>: return location for the number of returned #GParamSpec<!-- -->s
11803 GObject2.ParamSpec** /*new*/ list_child_properties()(/*out*/ uint* n_pspecs) {
11804 return clutter_layout_manager_list_child_properties(&this, n_pspecs);
11807 // VERSION: 1.2
11808 // If the #ClutterLayoutManager sub-class allows it, allow
11809 // adding a weak reference of the @container using @manager
11810 // from within the layout manager
11812 // The layout manager should not increase the reference
11813 // count of the @container
11814 // <container>: a #ClutterContainer using @manager
11815 void set_container()(Container* container=null) {
11816 clutter_layout_manager_set_container(&this, container);
11819 // VERSION: 1.2
11820 // The ::layout-changed signal is emitted each time a layout manager
11821 // has been changed. Every #ClutterActor using the @manager instance
11822 // as a layout manager should connect a handler to the ::layout-changed
11823 // signal and queue a relayout on themselves:
11825 // |[
11826 // static void layout_changed (ClutterLayoutManager *manager,
11827 // ClutterActor *self)
11828 // {
11829 // clutter_actor_queue_relayout (self);
11830 // }
11831 // ...
11832 // self->manager = g_object_ref_sink (manager);
11833 // g_signal_connect (self->manager, "layout-changed",
11834 // G_CALLBACK (layout_changed),
11835 // self);
11836 // ]|
11838 // Sub-classes of #ClutterLayoutManager that implement a layout that
11839 // can be controlled or changed using parameters should emit the
11840 // ::layout-changed signal whenever one of the parameters changes,
11841 // by using clutter_layout_manager_layout_changed().
11842 extern (C) alias static void function (LayoutManager* this_, void* user_data=null) signal_layout_changed;
11844 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
11845 return super_.signal_connect!name(cb, data, cf);
11848 ulong signal_connect(string name:"layout-changed", CB:signal_layout_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
11849 return signal_connect_data!()(&this, cast(char*)"layout-changed",
11850 cast(GObject2.Callback)cb, data, null, cf);
11855 // The #ClutterLayoutManagerClass structure contains only private
11856 // data and should be accessed using the provided API
11857 struct LayoutManagerClass /* Version 1.2 */ {
11858 private GObject2.InitiallyUnownedClass parent_class;
11860 // <container>: the #ClutterContainer using @manager
11861 // <for_height>: the height for which the width should be computed, or -1
11862 // <min_width_p>: return location for the minimum width of the layout, or %NULL
11863 // <nat_width_p>: return location for the natural width of the layout, or %NULL
11864 extern (C) void function (LayoutManager* manager, Container* container, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* nat_width_p=null) get_preferred_width;
11866 // <container>: the #ClutterContainer using @manager
11867 // <for_width>: the width for which the height should be computed, or -1
11868 // <min_height_p>: return location for the minimum height of the layout, or %NULL
11869 // <nat_height_p>: return location for the natural height of the layout, or %NULL
11870 extern (C) void function (LayoutManager* manager, Container* container, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* nat_height_p=null) get_preferred_height;
11872 // <container>: the #ClutterContainer using @manager
11873 // <allocation>: the #ClutterActorBox containing the allocated area of @container
11874 // <flags>: the allocation flags
11875 extern (C) void function (LayoutManager* manager, Container* container, ActorBox* allocation, AllocationFlags flags) allocate;
11876 // <container>: a #ClutterContainer using @manager
11877 extern (C) void function (LayoutManager* manager, Container* container=null) set_container;
11878 extern (C) Type function (LayoutManager* manager) get_child_meta_type;
11879 // Unintrospectable functionp: create_child_meta() / ()
11880 extern (C) LayoutMeta* function (LayoutManager* manager, Container* container, Actor* actor) create_child_meta;
11882 // RETURNS: The #ClutterAlpha created by the
11883 // <duration>: the duration of the animation, in milliseconds
11884 // <mode>: the easing mode of the animation
11885 extern (C) Alpha* function (LayoutManager* manager, uint duration, c_ulong mode) begin_animation;
11886 // RETURNS: the progress of the animation
11887 extern (C) double function (LayoutManager* manager) get_animation_progress;
11888 extern (C) void function (LayoutManager* manager) end_animation;
11889 extern (C) void function (LayoutManager* manager) layout_changed;
11890 extern (C) void function () _clutter_padding_1;
11891 extern (C) void function () _clutter_padding_2;
11892 extern (C) void function () _clutter_padding_3;
11893 extern (C) void function () _clutter_padding_4;
11894 extern (C) void function () _clutter_padding_5;
11895 extern (C) void function () _clutter_padding_6;
11896 extern (C) void function () _clutter_padding_7;
11897 extern (C) void function () _clutter_padding_8;
11901 // Sub-class of #ClutterChildMeta specific for layout managers
11903 // A #ClutterLayoutManager sub-class should create a #ClutterLayoutMeta
11904 // instance by overriding the #ClutterLayoutManager::create_child_meta()
11905 // virtual function
11906 struct LayoutMeta /* : ChildMeta */ /* Version 1.2 */ {
11907 alias parent_instance this;
11908 alias parent_instance super_;
11909 alias parent_instance childmeta;
11910 ChildMeta parent_instance;
11911 LayoutManager* manager;
11912 private int dummy0;
11913 private void* dummy1;
11916 // VERSION: 1.2
11917 // Retrieves the actor wrapped by @data
11918 // RETURNS: a #ClutterLayoutManager
11919 LayoutManager* get_manager()() {
11920 return clutter_layout_meta_get_manager(&this);
11925 // The #ClutterLayoutMetaClass contains only private data and
11926 // should never be accessed directly
11927 struct LayoutMetaClass /* Version 1.2 */ {
11928 private ChildMetaClass parent_class;
11929 extern (C) void function () _clutter_padding1;
11930 extern (C) void function () _clutter_padding2;
11931 extern (C) void function () _clutter_padding3;
11932 extern (C) void function () _clutter_padding4;
11935 enum int Lbelowdot = 16784950;
11936 enum int Lcaron = 421;
11937 enum int Lcedilla = 934;
11938 enum int Left = 65361;
11939 enum int LightBulb = 269025077;
11940 enum int Linefeed = 65290;
11941 enum int LiraSign = 16785572;
11942 // The #ClutterListModel struct contains only private data.
11943 struct ListModel /* : Model */ /* Version 0.6 */ {
11944 mixin Scriptable.__interface__;
11945 alias parent_instance this;
11946 alias parent_instance super_;
11947 alias parent_instance model;
11948 Model parent_instance;
11949 private ListModelPrivate* priv;
11952 // Unintrospectable constructor: new() / clutter_list_model_new()
11953 // VERSION: 0.6
11954 // Creates a new default model with @n_columns columns with the types
11955 // and names passed in.
11957 // For example:
11959 // <informalexample><programlisting>
11960 // model = clutter_list_model_new (3,
11961 // G_TYPE_INT, "Score",
11962 // G_TYPE_STRING, "Team",
11963 // GDK_TYPE_PIXBUF, "Logo");
11964 // </programlisting></informalexample>
11966 // will create a new #ClutterModel with three columns of type int,
11967 // string and #GdkPixbuf respectively.
11969 // Note that the name of the column can be set to %NULL, in which case
11970 // the canonical name of the type held by the column will be used as
11971 // the title.
11972 // RETURNS: a new #ClutterListModel
11973 // <n_columns>: number of columns in the model
11974 alias clutter_list_model_new new_; // Variadic
11976 // VERSION: 0.6
11977 // Non-vararg version of clutter_list_model_new(). This function is
11978 // useful for language bindings.
11979 // RETURNS: a new default #ClutterModel
11980 // <n_columns>: number of columns in the model
11981 // <types>: an array of #GType types for the columns, from first to last
11982 // <names>: an array of names for the columns, from first to last
11983 static ListModel* /*new*/ newv()(uint n_columns, Type* types, char* names) {
11984 return clutter_list_model_newv(n_columns, types, names);
11988 // The #ClutterListModelClass struct contains only private data.
11989 struct ListModelClass /* Version 0.6 */ {
11990 private ModelClass parent_class;
11993 struct ListModelPrivate {
11996 enum int LogOff = 269025121;
11997 // The states for the #ClutterClikAction::long-press signal.
11998 enum LongPressState /* Version 1.8 */ {
11999 QUERY = 0,
12000 ACTIVATE = 1,
12001 CANCEL = 2
12003 enum int Lstroke = 419;
12004 enum int M = 77;
12005 enum int MAJOR_VERSION = 1;
12006 enum int MICRO_VERSION = 3;
12007 enum int MINOR_VERSION = 8;
12008 enum int Mabovedot = 16784960;
12009 enum int Macedonia_DSE = 1717;
12010 enum int Macedonia_GJE = 1714;
12011 enum int Macedonia_KJE = 1724;
12012 enum int Macedonia_dse = 1701;
12013 enum int Macedonia_gje = 1698;
12014 enum int Macedonia_kje = 1708;
12015 enum int Mae_Koho = 65342;
12016 enum int Mail = 269025049;
12017 enum int MailForward = 269025168;
12018 enum int Market = 269025122;
12019 enum int Massyo = 65324;
12021 // #ClutterMedia is an opaque structure whose members cannot be directly
12022 // accessed
12023 struct Media /* Interface */ /* Version 0.2 */ {
12024 mixin template __interface__() {
12025 // VERSION: 1.0
12026 // Retrieves the playback volume of @media.
12027 // RETURNS: The playback volume between 0.0 and 1.0
12028 double get_audio_volume()() {
12029 return clutter_media_get_audio_volume(cast(Media*)&this);
12032 // VERSION: 1.0
12033 // Retrieves the amount of the stream that is buffered.
12034 // RETURNS: the fill level, between 0.0 and 1.0
12035 double get_buffer_fill()() {
12036 return clutter_media_get_buffer_fill(cast(Media*)&this);
12039 // VERSION: 0.2
12040 // Retrieves whether @media is seekable or not.
12041 // RETURNS: %TRUE if @media can seek, %FALSE otherwise.
12042 int get_can_seek()() {
12043 return clutter_media_get_can_seek(cast(Media*)&this);
12046 // VERSION: 0.2
12047 // Retrieves the duration of the media stream that @media represents.
12048 // RETURNS: the duration of the media stream, in seconds
12049 double get_duration()() {
12050 return clutter_media_get_duration(cast(Media*)&this);
12053 // VERSION: 0.2
12054 // Retrieves the playing status of @media.
12055 // RETURNS: %TRUE if playing, %FALSE if stopped.
12056 int get_playing()() {
12057 return clutter_media_get_playing(cast(Media*)&this);
12060 // VERSION: 1.0
12061 // Retrieves the playback progress of @media.
12062 // RETURNS: the playback progress, between 0.0 and 1.0
12063 double get_progress()() {
12064 return clutter_media_get_progress(cast(Media*)&this);
12067 // VERSION: 1.2
12068 // Retrieves the font name currently used.
12070 // to free the returned string
12071 // RETURNS: a string containing the font name. Use g_free()
12072 char* /*new*/ get_subtitle_font_name()() {
12073 return clutter_media_get_subtitle_font_name(cast(Media*)&this);
12076 // VERSION: 1.2
12077 // Retrieves the URI of the subtitle file in use.
12079 // to free the returned string
12080 // RETURNS: the URI of the subtitle file. Use g_free()
12081 char* /*new*/ get_subtitle_uri()() {
12082 return clutter_media_get_subtitle_uri(cast(Media*)&this);
12085 // VERSION: 0.2
12086 // Retrieves the URI from @media.
12088 // to free the returned string
12089 // RETURNS: the URI of the media stream. Use g_free()
12090 char* /*new*/ get_uri()() {
12091 return clutter_media_get_uri(cast(Media*)&this);
12094 // VERSION: 1.0
12095 // Sets the playback volume of @media to @volume.
12096 // <volume>: the volume as a double between 0.0 and 1.0
12097 void set_audio_volume()(double volume) {
12098 clutter_media_set_audio_volume(cast(Media*)&this, volume);
12101 // VERSION: 0.2
12102 // Sets the source of @media using a file path.
12103 // <filename>: A filename
12104 void set_filename()(char* filename) {
12105 clutter_media_set_filename(cast(Media*)&this, filename);
12108 // VERSION: 0.2
12109 // Starts or stops playing of @media.
12110 // The implementation might be asynchronous, so the way to know whether
12111 // the actual playing state of the @media is to use the #GObject::notify
12112 // signal on the #ClutterMedia:playing property and then retrieve the
12113 // current state with clutter_media_get_playing(). ClutterGstVideoTexture
12114 // in clutter-gst is an example of such an asynchronous implementation.
12115 // <playing>: %TRUE to start playing
12116 void set_playing()(int playing) {
12117 clutter_media_set_playing(cast(Media*)&this, playing);
12120 // VERSION: 1.0
12121 // Sets the playback progress of @media. The @progress is
12122 // a normalized value between 0.0 (begin) and 1.0 (end).
12123 // <progress>: the progress of the playback, between 0.0 and 1.0
12124 void set_progress()(double progress) {
12125 clutter_media_set_progress(cast(Media*)&this, progress);
12128 // VERSION: 1.2
12129 // Sets the font used by the subtitle renderer. The @font_name string must be
12130 // either %NULL, which means that the default font name of the underlying
12131 // implementation will be used; or must follow the grammar recognized by
12132 // pango_font_description_from_string() like:
12134 // |[
12135 // clutter_media_set_subtitle_font_name (media, "Sans 24pt");
12136 // ]|
12137 // <font_name>: a font name, or %NULL to set the default font name
12138 void set_subtitle_font_name()(char* font_name) {
12139 clutter_media_set_subtitle_font_name(cast(Media*)&this, font_name);
12142 // VERSION: 1.2
12143 // Sets the location of a subtitle file to display while playing @media.
12144 // <uri>: the URI of a subtitle file
12145 void set_subtitle_uri()(char* uri) {
12146 clutter_media_set_subtitle_uri(cast(Media*)&this, uri);
12149 // VERSION: 0.2
12150 // Sets the URI of @media to @uri.
12151 // <uri>: the URI of the media stream
12152 void set_uri()(char* uri) {
12153 clutter_media_set_uri(cast(Media*)&this, uri);
12156 // VERSION: 0.2
12157 // The ::eos signal is emitted each time the media stream ends.
12158 extern (C) alias static void function (Media* this_, void* user_data=null) signal_eos;
12160 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12161 return super_.signal_connect!name(cb, data, cf);
12164 ulong signal_connect(string name:"eos", CB:signal_eos)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12165 return signal_connect_data!()(&this, cast(char*)"eos",
12166 cast(GObject2.Callback)cb, data, null, cf);
12169 // VERSION: 0.2
12170 // The ::error signal is emitted each time an error occurred.
12171 // <error>: the #GError
12172 extern (C) alias static void function (Media* this_, GLib2.Error* error, void* user_data=null) signal_error;
12173 ulong signal_connect(string name:"error", CB:signal_error)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12174 return signal_connect_data!()(&this, cast(char*)"error",
12175 cast(GObject2.Callback)cb, data, null, cf);
12178 mixin __interface__;
12181 // Interface vtable for #ClutterMedia implementations
12182 struct MediaIface /* Version 0.2 */ {
12183 private GObject2.TypeInterface base_iface;
12184 extern (C) void function (Media* media) eos;
12185 extern (C) void function (Media* media, GLib2.Error* error) error;
12188 enum int Meeting = 269025123;
12189 enum int Memo = 269025054;
12190 enum int Menu = 65383;
12191 enum int MenuKB = 269025125;
12192 enum int MenuPB = 269025126;
12193 enum int Messenger = 269025166;
12194 enum int Meta_L = 65511;
12195 enum int Meta_R = 65512;
12196 enum int MillSign = 16785573;
12197 enum int ModeLock = 269025025;
12198 enum int Mode_switch = 65406;
12200 // Base class for list models. The #ClutterModel structure contains
12201 // only private data and should be manipulated using the provided
12202 // API.
12203 struct Model /* : GObject.Object */ /* Version 0.6 */ {
12204 mixin Scriptable.__interface__;
12205 alias parent_instance this;
12206 alias parent_instance super_;
12207 alias parent_instance object;
12208 GObject2.Object parent_instance;
12209 private ModelPrivate* priv;
12212 // Unintrospectable method: append() / clutter_model_append()
12213 // VERSION: 0.6
12214 // Creates and appends a new row to the #ClutterModel, setting the
12215 // row values upon creation. For example, to append a new row where
12216 // column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
12218 // <informalexample><programlisting>
12219 // ClutterModel *model;
12220 // model = clutter_model_default_new (2,
12221 // G_TYPE_INT, "Score",
12222 // G_TYPE_STRING, "Team");
12223 // clutter_model_append (model, 0, 42, 1, "Team #1", -1);
12224 // </programlisting></informalexample>
12225 /+ Not available -- variadic methods unsupported - use the C function directly.
12226 alias clutter_model_append append; // Variadic
12229 // VERSION: 0.6
12230 // Creates and appends a new row to the #ClutterModel, setting the row
12231 // values for the given @columns upon creation.
12232 // <n_columns>: the number of columns and values
12233 // <columns>: a vector with the columns to set
12234 // <values>: a vector with the values
12235 void appendv()(uint n_columns, uint* columns, GObject2.Value* values) {
12236 clutter_model_appendv(&this, n_columns, columns, values);
12239 // VERSION: 0.6
12240 // Checks whether the row pointer by @iter should be filtered or not using
12241 // the filtering function set on @model.
12243 // This function should be used only by subclasses of #ClutterModel.
12245 // %FALSE otherwise
12246 // RETURNS: %TRUE if the row should be displayed,
12247 // <iter>: the row to filter
12248 int filter_iter()(ModelIter* iter) {
12249 return clutter_model_filter_iter(&this, iter);
12252 // VERSION: 0.6
12253 // Checks whether @row should be filtered or not using the
12254 // filtering function set on @model.
12256 // This function should be used only by subclasses of #ClutterModel.
12258 // %FALSE otherwise
12259 // RETURNS: %TRUE if the row should be displayed,
12260 // <row>: the row to filter
12261 int filter_row()(uint row) {
12262 return clutter_model_filter_row(&this, row);
12265 // VERSION: 0.6
12266 // Calls @func for each row in the model.
12267 // <func>: a #ClutterModelForeachFunc
12268 // <user_data>: user data to pass to @func
12269 void foreach_()(ModelForeachFunc func, void* user_data) {
12270 clutter_model_foreach(&this, func, user_data);
12273 // VERSION: 0.6
12274 // Retrieves the name of the @column
12276 // string, and it should not be modified or freed
12277 // RETURNS: the name of the column. The model holds the returned
12278 // <column>: the column number
12279 char* get_column_name()(uint column) {
12280 return clutter_model_get_column_name(&this, column);
12283 // VERSION: 0.6
12284 // Retrieves the type of the @column.
12285 // RETURNS: the type of the column.
12286 // <column>: the column number
12287 Type get_column_type()(uint column) {
12288 return clutter_model_get_column_type(&this, column);
12291 // VERSION: 1.0
12292 // Returns whether the @model has a filter in place, set
12293 // using clutter_model_set_filter()
12294 // RETURNS: %TRUE if a filter is set
12295 int get_filter_set()() {
12296 return clutter_model_get_filter_set(&this);
12299 // VERSION: 0.6
12300 // Retrieves a #ClutterModelIter representing the first non-filtered
12301 // row in @model.
12303 // Call g_object_unref() when done using it
12304 // RETURNS: A new #ClutterModelIter.
12305 ModelIter* /*new*/ get_first_iter()() {
12306 return clutter_model_get_first_iter(&this);
12309 // VERSION: 0.6
12310 // Retrieves a #ClutterModelIter representing the row at the given index.
12312 // If a filter function has been set using clutter_model_set_filter()
12313 // then the @model implementation will return the first non filtered
12314 // row.
12316 // out of bounds. When done using the iterator object, call g_object_unref()
12317 // to deallocate its resources
12318 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
12319 // <row>: position of the row to retrieve
12320 ModelIter* /*new*/ get_iter_at_row()(uint row) {
12321 return clutter_model_get_iter_at_row(&this, row);
12324 // VERSION: 0.6
12325 // Retrieves a #ClutterModelIter representing the last non-filtered
12326 // row in @model.
12328 // Call g_object_unref() when done using it
12329 // RETURNS: A new #ClutterModelIter.
12330 ModelIter* /*new*/ get_last_iter()() {
12331 return clutter_model_get_last_iter(&this);
12334 // VERSION: 0.6
12335 // Retrieves the number of columns inside @model.
12336 // RETURNS: the number of columns
12337 uint get_n_columns()() {
12338 return clutter_model_get_n_columns(&this);
12341 // VERSION: 0.6
12342 // Retrieves the number of rows inside @model, eventually taking
12343 // into account any filtering function set using clutter_model_set_filter().
12345 // the length of the filtered @model is returned.
12346 // RETURNS: The length of the @model. If there is a filter set, then
12347 uint get_n_rows()() {
12348 return clutter_model_get_n_rows(&this);
12351 // VERSION: 0.6
12352 // Retrieves the number of column used for sorting the @model.
12353 // RETURNS: a column number, or -1 if the model is not sorted
12354 int get_sorting_column()() {
12355 return clutter_model_get_sorting_column(&this);
12358 // Unintrospectable method: insert() / clutter_model_insert()
12359 // VERSION: 0.6
12360 // Inserts a new row to the #ClutterModel at @row, setting the row
12361 // values upon creation. For example, to insert a new row at index 100,
12362 // where column 0 is type %G_TYPE_INT and column 1 is of type
12363 // %G_TYPE_STRING:
12365 // <informalexample><programlisting>
12366 // ClutterModel *model;
12367 // model = clutter_model_default_new (2,
12368 // G_TYPE_INT, "Score",
12369 // G_TYPE_STRING, "Team");
12370 // clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1);
12371 // </programlisting></informalexample>
12372 // <row>: the position to insert the new row
12373 /+ Not available -- variadic methods unsupported - use the C function directly.
12374 alias clutter_model_insert insert; // Variadic
12377 // VERSION: 0.6
12378 // Sets the data in the cell specified by @iter and @column. The type of
12379 // @value must be convertable to the type of the column. If the row does
12380 // not exist then it is created.
12381 // <row>: position of the row to modify
12382 // <column>: column to modify
12383 // <value>: new value for the cell
12384 void insert_value()(uint row, uint column, GObject2.Value* value) {
12385 clutter_model_insert_value(&this, row, column, value);
12388 // VERSION: 0.6
12389 // Inserts data at @row into the #ClutterModel, setting the row
12390 // values for the given @columns upon creation.
12391 // <row>: row index
12392 // <n_columns>: the number of columns and values to set
12393 // <columns>: a vector containing the columns to set
12394 // <values>: a vector containing the values for the cells
12395 void insertv()(uint row, uint n_columns, uint* columns, GObject2.Value* values) {
12396 clutter_model_insertv(&this, row, n_columns, columns, values);
12399 // Unintrospectable method: prepend() / clutter_model_prepend()
12400 // VERSION: 0.6
12401 // Creates and prepends a new row to the #ClutterModel, setting the row
12402 // values upon creation. For example, to prepend a new row where column 0
12403 // is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
12405 // <informalexample><programlisting>
12406 // ClutterModel *model;
12407 // model = clutter_model_default_new (2,
12408 // G_TYPE_INT, "Score",
12409 // G_TYPE_STRING, "Team");
12410 // clutter_model_prepend (model, 0, 42, 1, "Team #1", -1);
12411 // </programlisting></informalexample>
12412 /+ Not available -- variadic methods unsupported - use the C function directly.
12413 alias clutter_model_prepend prepend; // Variadic
12416 // VERSION: 0.6
12417 // Creates and prepends a new row to the #ClutterModel, setting the row
12418 // values for the given @columns upon creation.
12419 // <n_columns>: the number of columns and values to set
12420 // <columns>: a vector containing the columns to set
12421 // <values>: a vector containing the values for the cells
12422 void prependv()(uint n_columns, uint* columns, GObject2.Value* values) {
12423 clutter_model_prependv(&this, n_columns, columns, values);
12426 // VERSION: 0.6
12427 // Removes the row at the given position from the model.
12428 // <row>: position of row to remove
12429 void remove()(uint row) {
12430 clutter_model_remove(&this, row);
12433 // VERSION: 0.6
12434 // Force a resort on the @model. This function should only be
12435 // used by subclasses of #ClutterModel.
12436 void resort()() {
12437 clutter_model_resort(&this);
12440 // VERSION: 0.6
12441 // Filters the @model using the given filtering function.
12442 // <func>: a #ClutterModelFilterFunc, or #NULL
12443 // <user_data>: user data to pass to @func, or #NULL
12444 // <notify>: destroy notifier of @user_data, or #NULL
12445 void set_filter()(ModelFilterFunc func, void* user_data, GLib2.DestroyNotify notify) {
12446 clutter_model_set_filter(&this, func, user_data, notify);
12449 // VERSION: 0.6
12450 // Assigns a name to the columns of a #ClutterModel.
12452 // This function is meant primarily for #GObjects that inherit from
12453 // #ClutterModel, and should only be used when contructing a #ClutterModel.
12454 // It will not work after the initial creation of the #ClutterModel.
12455 // <n_columns>: the number of column names
12456 // <names>: an array of strings
12457 void set_names()(uint n_columns, char* names) {
12458 clutter_model_set_names(&this, n_columns, names);
12461 // VERSION: 0.6
12462 // Sorts @model using the given sorting function.
12463 // <column>: the column to sort on
12464 // <func>: a #ClutterModelSortFunc, or #NULL
12465 // <user_data>: user data to pass to @func, or #NULL
12466 // <notify>: destroy notifier of @user_data, or #NULL
12467 void set_sort()(int column, ModelSortFunc func, void* user_data, GLib2.DestroyNotify notify) {
12468 clutter_model_set_sort(&this, column, func, user_data, notify);
12471 // VERSION: 0.6
12472 // Sets the model to sort by @column. If @column is a negative value
12473 // the sorting column will be unset.
12474 // <column>: the column of the @model to sort, or -1
12475 void set_sorting_column()(int column) {
12476 clutter_model_set_sorting_column(&this, column);
12479 // VERSION: 0.6
12480 // Sets the types of the columns inside a #ClutterModel.
12482 // This function is meant primarily for #GObjects that inherit from
12483 // #ClutterModel, and should only be used when contructing a #ClutterModel.
12484 // It will not work after the initial creation of the #ClutterModel.
12485 // <n_columns>: number of columns for the model
12486 // <types>: an array of #GType types
12487 void set_types()(uint n_columns, Type* types) {
12488 clutter_model_set_types(&this, n_columns, types);
12491 // VERSION: 0.6
12492 // The ::filter-changed signal is emitted when a new filter has been applied
12493 extern (C) alias static void function (Model* this_, void* user_data=null) signal_filter_changed;
12495 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12496 return super_.signal_connect!name(cb, data, cf);
12499 ulong signal_connect(string name:"filter-changed", CB:signal_filter_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12500 return signal_connect_data!()(&this, cast(char*)"filter-changed",
12501 cast(GObject2.Callback)cb, data, null, cf);
12504 // VERSION: 0.6
12505 // The ::row-added signal is emitted when a new row has been added.
12506 // The data on the row has already been set when the ::row-added signal
12507 // has been emitted.
12508 // <iter>: a #ClutterModelIter pointing to the new row
12509 extern (C) alias static void function (Model* this_, ModelIter* iter, void* user_data=null) signal_row_added;
12510 ulong signal_connect(string name:"row-added", CB:signal_row_added)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12511 return signal_connect_data!()(&this, cast(char*)"row-added",
12512 cast(GObject2.Callback)cb, data, null, cf);
12515 // VERSION: 0.6
12516 // The ::row-removed signal is emitted when a row has been changed.
12517 // The data on the row has already been updated when the ::row-changed
12518 // signal has been emitted.
12519 // <iter>: a #ClutterModelIter pointing to the changed row
12520 extern (C) alias static void function (Model* this_, ModelIter* iter, void* user_data=null) signal_row_changed;
12521 ulong signal_connect(string name:"row-changed", CB:signal_row_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12522 return signal_connect_data!()(&this, cast(char*)"row-changed",
12523 cast(GObject2.Callback)cb, data, null, cf);
12526 // VERSION: 0.6
12527 // The ::row-removed signal is emitted when a row has been removed.
12528 // The data on the row pointed by the passed iterator is still valid
12529 // when the ::row-removed signal has been emitted.
12530 // <iter>: a #ClutterModelIter pointing to the removed row
12531 extern (C) alias static void function (Model* this_, ModelIter* iter, void* user_data=null) signal_row_removed;
12532 ulong signal_connect(string name:"row-removed", CB:signal_row_removed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12533 return signal_connect_data!()(&this, cast(char*)"row-removed",
12534 cast(GObject2.Callback)cb, data, null, cf);
12537 // VERSION: 0.6
12538 // The ::sort-changed signal is emitted after the model has been sorted
12539 extern (C) alias static void function (Model* this_, void* user_data=null) signal_sort_changed;
12540 ulong signal_connect(string name:"sort-changed", CB:signal_sort_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12541 return signal_connect_data!()(&this, cast(char*)"sort-changed",
12542 cast(GObject2.Callback)cb, data, null, cf);
12546 // Class for #ClutterModel instances.
12547 struct ModelClass /* Version 0.6 */ {
12548 private GObject2.ObjectClass parent_class;
12549 // RETURNS: The length of the @model. If there is a filter set, then
12550 extern (C) uint function (Model* model) get_n_rows;
12551 // RETURNS: the number of columns
12552 extern (C) uint function (Model* model) get_n_columns;
12554 // RETURNS: the name of the column. The model holds the returned
12555 // <column>: the column number
12556 extern (C) char* function (Model* model, uint column) get_column_name;
12558 // RETURNS: the type of the column.
12559 // <column>: the column number
12560 extern (C) Type function (Model* model, uint column) get_column_type;
12561 // Unintrospectable functionp: insert_row() / ()
12562 extern (C) ModelIter* function (Model* model, int index_) insert_row;
12563 extern (C) void function (Model* model, uint row) remove_row;
12565 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
12566 // <row>: position of the row to retrieve
12567 extern (C) ModelIter* /*new*/ function (Model* model, uint row) get_iter_at_row;
12568 // Unintrospectable functionp: resort() / ()
12569 extern (C) void function (Model* model, ModelSortFunc func, void* data) resort;
12570 extern (C) void function (Model* model, ModelIter* iter) row_added;
12571 extern (C) void function (Model* model, ModelIter* iter) row_removed;
12572 extern (C) void function (Model* model, ModelIter* iter) row_changed;
12573 extern (C) void function (Model* model) sort_changed;
12574 extern (C) void function (Model* model) filter_changed;
12575 extern (C) void function () _clutter_model_1;
12576 extern (C) void function () _clutter_model_2;
12577 extern (C) void function () _clutter_model_3;
12578 extern (C) void function () _clutter_model_4;
12579 extern (C) void function () _clutter_model_5;
12580 extern (C) void function () _clutter_model_6;
12581 extern (C) void function () _clutter_model_7;
12582 extern (C) void function () _clutter_model_8;
12586 // VERSION: 0.6
12587 // Filters the content of a row in the model.
12588 // RETURNS: If the row should be displayed, return %TRUE
12589 // <model>: a #ClutterModel
12590 // <iter>: the iterator for the row
12591 // <user_data>: data passed to clutter_model_set_filter()
12592 extern (C) alias int function (Model* model, ModelIter* iter, void* user_data) ModelFilterFunc;
12595 // VERSION: 0.6
12596 // Iterates on the content of a row in the model
12597 // RETURNS: %TRUE if the iteration should continue, %FALSE otherwise
12598 // <model>: a #ClutterModel
12599 // <iter>: the iterator for the row
12600 // <user_data>: data passed to clutter_model_foreach()
12601 extern (C) alias int function (Model* model, ModelIter* iter, void* user_data) ModelForeachFunc;
12604 // Base class for list models iters. The #ClutterModelIter structure
12605 // contains only private data and should be manipulated using the
12606 // provided API.
12607 struct ModelIter /* : GObject.Object */ /* Version 0.6 */ {
12608 alias parent_instance this;
12609 alias parent_instance super_;
12610 alias parent_instance object;
12611 GObject2.Object parent_instance;
12612 private ModelIterPrivate* priv;
12615 // VERSION: 0.8
12616 // Copies the passed iterator.
12617 // RETURNS: a copy of the iterator, or %NULL
12618 ModelIter* /*new*/ copy()() {
12619 return clutter_model_iter_copy(&this);
12622 // Unintrospectable method: get() / clutter_model_iter_get()
12623 // VERSION: 0.6
12624 // Gets the value of one or more cells in the row referenced by @iter. The
12625 // variable argument list should contain integer column numbers, each column
12626 // column number followed by a place to store the value being retrieved. The
12627 // list is terminated by a -1.
12629 // For example, to get a value from column 0 with type %G_TYPE_STRING use:
12630 // <informalexample><programlisting>
12631 // clutter_model_iter_get (iter, 0, &place_string_here, -1);
12632 // </programlisting></informalexample>
12634 // where place_string_here is a gchar* to be filled with the string. If
12635 // appropriate, the returned values have to be freed or unreferenced.
12636 /+ Not available -- variadic methods unsupported - use the C function directly.
12637 alias clutter_model_iter_get get; // Variadic
12640 // VERSION: 0.6
12641 // Retrieves a pointer to the #ClutterModel that this iter is part of.
12642 // RETURNS: a pointer to a #ClutterModel.
12643 Model* get_model()() {
12644 return clutter_model_iter_get_model(&this);
12647 // VERSION: 0.6
12648 // Retrieves the position of the row that the @iter points to.
12649 // RETURNS: the position of the @iter in the model
12650 uint get_row()() {
12651 return clutter_model_iter_get_row(&this);
12654 // Unintrospectable method: get_valist() / clutter_model_iter_get_valist()
12655 // VERSION: 0.6
12656 // See clutter_model_iter_get(). This version takes a va_list for language
12657 // bindings.
12658 // <args>: a list of column/return location pairs, terminated by -1
12659 void get_valist()(va_list args) {
12660 clutter_model_iter_get_valist(&this, args);
12663 // VERSION: 0.6
12664 // Sets an initializes @value to that at @column. When done with @value,
12665 // g_value_unset() needs to be called to free any allocated memory.
12666 // <column>: column number to retrieve the value from
12667 // <value>: an empty #GValue to set
12668 void get_value()(uint column, /*out*/ GObject2.Value* value) {
12669 clutter_model_iter_get_value(&this, column, value);
12672 // VERSION: 0.6
12673 // Gets whether the current iterator is at the beginning of the model
12674 // to which it belongs.
12675 // RETURNS: #TRUE if @iter is the first iter in the filtered model
12676 int is_first()() {
12677 return clutter_model_iter_is_first(&this);
12680 // VERSION: 0.6
12681 // Gets whether the iterator is at the end of the model to which it
12682 // belongs.
12683 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
12684 int is_last()() {
12685 return clutter_model_iter_is_last(&this);
12688 // VERSION: 0.6
12689 // Updates the @iter to point at the next position in the model.
12690 // The model implementation should take into account the presence of
12691 // a filter function.
12693 // row in the model.
12694 // RETURNS: The passed iterator, updated to point at the next
12695 ModelIter* next()() {
12696 return clutter_model_iter_next(&this);
12699 // VERSION: 0.6
12700 // Sets the @iter to point at the previous position in the model.
12701 // The model implementation should take into account the presence of
12702 // a filter function.
12704 // row in the model.
12705 // RETURNS: The passed iterator, updated to point at the previous
12706 ModelIter* prev()() {
12707 return clutter_model_iter_prev(&this);
12710 // Unintrospectable method: set() / clutter_model_iter_set()
12711 // VERSION: 0.6
12712 // Sets the value of one or more cells in the row referenced by @iter. The
12713 // variable argument list should contain integer column numbers, each column
12714 // column number followed by the value to be set. The list is terminated by a
12715 // -1.
12717 // For example, to set column 0 with type %G_TYPE_STRING, use:
12718 // <informalexample><programlisting>
12719 // clutter_model_iter_set (iter, 0, "foo", -1);
12720 // </programlisting></informalexample>
12721 /+ Not available -- variadic methods unsupported - use the C function directly.
12722 alias clutter_model_iter_set set; // Variadic
12725 // Unintrospectable method: set_valist() / clutter_model_iter_set_valist()
12726 // VERSION: 0.6
12727 // See clutter_model_iter_set(); this version takes a va_list for language
12728 // bindings.
12729 // <args>: va_list of column/value pairs, terminiated by -1
12730 void set_valist()(va_list args) {
12731 clutter_model_iter_set_valist(&this, args);
12734 // VERSION: 0.6
12735 // Sets the data in the cell specified by @iter and @column. The type of
12736 // @value must be convertable to the type of the column.
12737 // <column>: column number to retrieve the value from
12738 // <value>: new value for the cell
12739 void set_value()(uint column, GObject2.Value* value) {
12740 clutter_model_iter_set_value(&this, column, value);
12744 // Class for #ClutterModelIter instances.
12745 struct ModelIterClass /* Version 0.6 */ {
12746 private GObject2.ObjectClass parent_class;
12748 // <column>: column number to retrieve the value from
12749 // <value>: an empty #GValue to set
12750 extern (C) void function (ModelIter* iter, uint column, /*out*/ GObject2.Value* value) get_value;
12752 // <column>: column number to retrieve the value from
12753 // <value>: new value for the cell
12754 extern (C) void function (ModelIter* iter, uint column, GObject2.Value* value) set_value;
12755 // RETURNS: #TRUE if @iter is the first iter in the filtered model
12756 extern (C) int function (ModelIter* iter) is_first;
12757 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
12758 extern (C) int function (ModelIter* iter) is_last;
12759 // RETURNS: The passed iterator, updated to point at the next
12760 extern (C) ModelIter* function (ModelIter* iter) next;
12761 // RETURNS: The passed iterator, updated to point at the previous
12762 extern (C) ModelIter* function (ModelIter* iter) prev;
12763 // RETURNS: a pointer to a #ClutterModel.
12764 extern (C) Model* function (ModelIter* iter) get_model;
12765 // RETURNS: the position of the @iter in the model
12766 extern (C) uint function (ModelIter* iter) get_row;
12767 // RETURNS: a copy of the iterator, or %NULL
12768 extern (C) ModelIter* /*new*/ function (ModelIter* iter) copy;
12769 extern (C) void function () _clutter_model_iter_1;
12770 extern (C) void function () _clutter_model_iter_2;
12771 extern (C) void function () _clutter_model_iter_3;
12772 extern (C) void function () _clutter_model_iter_4;
12773 extern (C) void function () _clutter_model_iter_5;
12774 extern (C) void function () _clutter_model_iter_6;
12775 extern (C) void function () _clutter_model_iter_7;
12776 extern (C) void function () _clutter_model_iter_8;
12779 struct ModelIterPrivate {
12782 struct ModelPrivate {
12786 // VERSION: 0.6
12787 // Compares the content of two rows in the model.
12789 // @a is before @b, or 0 if the rows are the same
12790 // RETURNS: a positive integer if @a is after @b, a negative integer if
12791 // <model>: a #ClutterModel
12792 // <a>: a #GValue representing the contents of the row
12793 // <b>: a #GValue representing the contents of the second row
12794 // <user_data>: data passed to clutter_model_set_sort()
12795 extern (C) alias int function (Model* model, GObject2.Value* a, GObject2.Value* b, void* user_data) ModelSortFunc;
12798 // Masks applied to a #ClutterEvent by modifiers.
12800 // Note that Clutter may add internal values to events which include
12801 // reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code
12802 // should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
12803 // remove all reserved values.
12804 enum ModifierType /* Version 0.4 */ {
12805 SHIFT_MASK = 1,
12806 LOCK_MASK = 2,
12807 CONTROL_MASK = 4,
12808 MOD1_MASK = 8,
12809 MOD2_MASK = 16,
12810 MOD3_MASK = 32,
12811 MOD4_MASK = 64,
12812 MOD5_MASK = 128,
12813 BUTTON1_MASK = 256,
12814 BUTTON2_MASK = 512,
12815 BUTTON3_MASK = 1024,
12816 BUTTON4_MASK = 2048,
12817 BUTTON5_MASK = 4096,
12818 MODIFIER_RESERVED_13_MASK = 8192,
12819 MODIFIER_RESERVED_14_MASK = 16384,
12820 MODIFIER_RESERVED_15_MASK = 32768,
12821 MODIFIER_RESERVED_16_MASK = 65536,
12822 MODIFIER_RESERVED_17_MASK = 131072,
12823 MODIFIER_RESERVED_18_MASK = 262144,
12824 MODIFIER_RESERVED_19_MASK = 524288,
12825 MODIFIER_RESERVED_20_MASK = 1048576,
12826 MODIFIER_RESERVED_21_MASK = 2097152,
12827 MODIFIER_RESERVED_22_MASK = 4194304,
12828 MODIFIER_RESERVED_23_MASK = 8388608,
12829 MODIFIER_RESERVED_24_MASK = 16777216,
12830 MODIFIER_RESERVED_25_MASK = 33554432,
12831 SUPER_MASK = 67108864,
12832 HYPER_MASK = 134217728,
12833 META_MASK = 268435456,
12834 MODIFIER_RESERVED_29_MASK = 536870912,
12835 RELEASE_MASK = 1073741824,
12836 MODIFIER_MASK = 1543512063
12838 enum int MonBrightnessDown = 269025027;
12839 enum int MonBrightnessUp = 269025026;
12840 // Event for the pointer motion
12841 struct MotionEvent /* Version 0.2 */ {
12842 EventType type;
12843 uint time;
12844 EventFlags flags;
12845 Stage* stage;
12846 Actor* source;
12847 float x, y;
12848 ModifierType modifier_state;
12849 double* axes;
12850 InputDevice* device;
12853 enum int MouseKeys_Accel_Enable = 65143;
12854 enum int MouseKeys_Enable = 65142;
12855 enum int Muhenkan = 65314;
12856 enum int Multi_key = 65312;
12857 enum int MultipleCandidate = 65341;
12858 enum int Music = 269025170;
12859 enum int MyComputer = 269025075;
12860 enum int MySites = 269025127;
12861 enum int N = 78;
12862 enum int Nacute = 465;
12863 enum int NairaSign = 16785574;
12864 enum int Ncaron = 466;
12865 enum int Ncedilla = 977;
12866 enum int New = 269025128;
12867 enum int NewSheqelSign = 16785578;
12868 enum int News = 269025129;
12869 enum int Next = 65366;
12870 enum int Next_VMode = 269024802;
12871 enum int Next_Virtual_Screen = 65234;
12872 enum int Ntilde = 209;
12873 enum int Num_Lock = 65407;
12874 enum int O = 79;
12875 enum int OE = 5052;
12876 enum int Oacute = 211;
12877 enum int Obarred = 16777631;
12878 enum int Obelowdot = 16785100;
12879 enum int Ocaron = 16777681;
12880 enum int Ocircumflex = 212;
12881 enum int Ocircumflexacute = 16785104;
12882 enum int Ocircumflexbelowdot = 16785112;
12883 enum int Ocircumflexgrave = 16785106;
12884 enum int Ocircumflexhook = 16785108;
12885 enum int Ocircumflextilde = 16785110;
12886 enum int Odiaeresis = 214;
12887 enum int Odoubleacute = 469;
12888 enum int OfficeHome = 269025130;
12890 // The #ClutterOffscreenEffect structure contains only private data
12891 // and should be accessed using the provided API
12892 struct OffscreenEffect /* : Effect */ /* Version 1.4 */ {
12893 alias parent_instance this;
12894 alias parent_instance super_;
12895 alias parent_instance effect;
12896 Effect parent_instance;
12897 private OffscreenEffectPrivate* priv;
12900 // VERSION: 1.4
12901 // Calls the create_texture() virtual function of the @effect
12903 // %COGL_INVALID_HANDLE. The returned handle has its reference
12904 // count increased.
12905 // RETURNS: a handle to a Cogl texture, or
12906 // <width>: the minimum width of the target texture
12907 // <height>: the minimum height of the target texture
12908 Cogl.Handle /*new*/ create_texture()(float width, float height) {
12909 return clutter_offscreen_effect_create_texture(&this, width, height);
12912 // VERSION: 1.4
12913 // Retrieves the material used as a render target for the offscreen
12914 // buffer created by @effect
12916 // You should only use the returned #CoglMaterial when painting. The
12917 // returned material might change between different frames.
12919 // returned material is owned by Clutter and it should not be
12920 // modified or freed
12921 // RETURNS: a #CoglMaterial or %NULL. The
12922 Cogl.Material* get_target()() {
12923 return clutter_offscreen_effect_get_target(&this);
12926 // VERSION: 1.8
12927 // Retrieves the size of the offscreen buffer used by @effect to
12928 // paint the actor to which it has been applied.
12930 // This function should only be called by #ClutterOffscreenEffect
12931 // implementations, from within the <function>paint_target()</function>
12932 // virtual function.
12934 // and %FALSE otherwise
12935 // RETURNS: %TRUE if the offscreen buffer has a valid size,
12936 // <width>: return location for the target width, or %NULL
12937 // <height>: return location for the target height, or %NULL
12938 int get_target_size()(/*out*/ float* width, /*out*/ float* height) {
12939 return clutter_offscreen_effect_get_target_size(&this, width, height);
12942 // VERSION: 1.4
12943 // Calls the paint_target() virtual function of the @effect
12944 void paint_target()() {
12945 clutter_offscreen_effect_paint_target(&this);
12949 // The #ClutterOffscreenEffectClass structure contains only private data
12950 struct OffscreenEffectClass /* Version 1.4 */ {
12951 private EffectClass parent_class;
12953 // RETURNS: a handle to a Cogl texture, or
12954 // <width>: the minimum width of the target texture
12955 // <height>: the minimum height of the target texture
12956 extern (C) Cogl.Handle /*new*/ function (OffscreenEffect* effect, float width, float height) create_texture;
12957 extern (C) void function (OffscreenEffect* effect) paint_target;
12958 extern (C) void function () _clutter_offscreen1;
12959 extern (C) void function () _clutter_offscreen2;
12960 extern (C) void function () _clutter_offscreen3;
12961 extern (C) void function () _clutter_offscreen4;
12962 extern (C) void function () _clutter_offscreen5;
12963 extern (C) void function () _clutter_offscreen6;
12964 extern (C) void function () _clutter_offscreen7;
12967 struct OffscreenEffectPrivate {
12970 // Possible flags to pass to clutter_actor_set_offscreen_redirect().
12971 enum OffscreenRedirect /* Version 1.8 */ {
12972 AUTOMATIC_FOR_OPACITY = 1,
12973 ALWAYS = 2
12975 enum int Ograve = 210;
12976 enum int Ohook = 16785102;
12977 enum int Ohorn = 16777632;
12978 enum int Ohornacute = 16785114;
12979 enum int Ohornbelowdot = 16785122;
12980 enum int Ohorngrave = 16785116;
12981 enum int Ohornhook = 16785118;
12982 enum int Ohorntilde = 16785120;
12983 enum int Omacron = 978;
12984 enum int Ooblique = 216;
12985 enum int Open = 269025131;
12986 enum int OpenURL = 269025080;
12987 enum int Option = 269025132;
12988 enum int Oslash = 216;
12989 enum int Otilde = 213;
12990 enum int Overlay1_Enable = 65144;
12991 enum int Overlay2_Enable = 65145;
12992 enum int P = 80;
12993 enum int PATH_RELATIVE = 32;
12994 enum int PRIORITY_REDRAW = 50;
12995 enum int Pabovedot = 16784982;
12997 // <structname>ClutterPageTurnEffect</structname> is an opaque structure
12998 // whose members can only be accessed using the provided API
12999 struct PageTurnEffect /* : DeformEffect */ /* Version 1.4 */ {
13000 alias method_parent this;
13001 alias method_parent super_;
13002 alias method_parent deformeffect;
13003 DeformEffect method_parent;
13006 // VERSION: 1.4
13007 // Creates a new #ClutterPageTurnEffect instance with the given parameters
13008 // RETURNS: the newly created #ClutterPageTurnEffect
13009 // <period>: the period of the page curl, between 0.0 and 1.0
13010 // <angle>: the angle of the page curl, between 0.0 and 360.0
13011 // <radius>: the radius of the page curl, in pixels
13012 static PageTurnEffect* new_()(double period, double angle, float radius) {
13013 return clutter_page_turn_effect_new(period, angle, radius);
13016 // VERSION: 1.4
13017 // Retrieves the value set using clutter_page_turn_effect_get_angle()
13018 // RETURNS: the angle of the page curling
13019 double get_angle()() {
13020 return clutter_page_turn_effect_get_angle(&this);
13023 // VERSION: 1.4
13024 // Retrieves the value set using clutter_page_turn_effect_get_period()
13025 // RETURNS: the period of the page curling
13026 double get_period()() {
13027 return clutter_page_turn_effect_get_period(&this);
13030 // VERSION: 1.4
13031 // Retrieves the value set using clutter_page_turn_effect_set_radius()
13032 // RETURNS: the radius of the page curling
13033 float get_radius()() {
13034 return clutter_page_turn_effect_get_radius(&this);
13037 // VERSION: 1.4
13038 // Sets the angle of the page curling, in degrees
13039 // <angle>: the angle of the page curl, in degrees
13040 void set_angle()(double angle) {
13041 clutter_page_turn_effect_set_angle(&this, angle);
13044 // VERSION: 1.4
13045 // Sets the period of the page curling, between 0.0 (no curling)
13046 // and 1.0 (fully curled)
13047 // <period>: the period of the page curl, between 0.0 and 1.0
13048 void set_period()(double period) {
13049 clutter_page_turn_effect_set_period(&this, period);
13052 // VERSION: 1.4
13053 // Sets the radius of the page curling
13054 // <radius>: the radius of the page curling, in pixels
13055 void set_radius()(float radius) {
13056 clutter_page_turn_effect_set_radius(&this, radius);
13060 struct PageTurnEffectClass {
13063 enum int Page_Down = 65366;
13064 enum int Page_Up = 65365;
13066 // <structname>ClutterPaintVolume</structname> is an opaque structure
13067 // whose members cannot be directly accessed.
13069 // A <structname>ClutterPaintVolume</structname> represents an
13070 // a bounding volume whos internal representation isn't defined but
13071 // can be set and queried in terms of an axis aligned bounding box.
13073 // Other internal representation and methods for describing the
13074 // bounding volume may be added in the future.
13075 struct PaintVolume /* Version 1.4 */ {
13077 // VERSION: 1.6
13078 // Copies @pv into a new #ClutterPaintVolume
13079 // RETURNS: a newly allocated copy of a #ClutterPaintVolume
13080 PaintVolume* /*new*/ copy()() {
13081 return clutter_paint_volume_copy(&this);
13084 // VERSION: 1.6
13085 // Frees the resources allocated by @pv
13086 void free()() {
13087 clutter_paint_volume_free(&this);
13090 // VERSION: 1.6
13091 // Retrieves the depth of the volume's, axis aligned, bounding box.
13093 // In other words; this takes into account what actor's coordinate
13094 // space @pv belongs too and conceptually fits an axis aligned box
13095 // around the volume. It returns the size of that bounding box as
13096 // measured along the z-axis.
13098 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
13099 // is used to transform a 2D child actor that is 100px wide, 100px
13100 // high and 0px deep into container coordinates then the depth might
13101 // not simply be 0px if the child actor has a 3D rotation applied to
13102 // it.</para>
13103 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
13104 // used then the transformed volume will be defined relative to the
13105 // container actor and in container coordinates a 2D child actor
13106 // can have a 3D bounding volume.</para></note>
13108 // <note>There are no accuracy guarantees for the reported depth,
13109 // except that it must always be >= to the true depth. This is
13110 // because actors may report simple, loose fitting paint-volumes
13111 // for efficiency.</note>
13112 // RETURNS: the depth, in units of @pv's local coordinate system.
13113 float get_depth()() {
13114 return clutter_paint_volume_get_depth(&this);
13117 // VERSION: 1.6
13118 // Retrieves the height of the volume's, axis aligned, bounding box.
13120 // In other words; this takes into account what actor's coordinate
13121 // space @pv belongs too and conceptually fits an axis aligned box
13122 // around the volume. It returns the size of that bounding box as
13123 // measured along the y-axis.
13125 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
13126 // is used to transform a 2D child actor that is 100px wide, 100px
13127 // high and 0px deep into container coordinates then the height might
13128 // not simply be 100px if the child actor has a 3D rotation applied to
13129 // it.</para>
13130 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
13131 // used then a transformed child volume will be defined relative to the
13132 // ancestor container actor and so a 2D child actor
13133 // can have a 3D bounding volume.</para></note>
13135 // <note>There are no accuracy guarantees for the reported height,
13136 // except that it must always be >= to the true height. This is
13137 // because actors may report simple, loose fitting paint-volumes
13138 // for efficiency</note>
13139 // RETURNS: the height, in units of @pv's local coordinate system.
13140 float get_height()() {
13141 return clutter_paint_volume_get_height(&this);
13144 // VERSION: 1.6
13145 // Retrieves the origin of the #ClutterPaintVolume.
13146 // <vertex>: the return location for a #ClutterVertex
13147 void get_origin()(/*out*/ Vertex* vertex) {
13148 clutter_paint_volume_get_origin(&this, vertex);
13151 // VERSION: 1.6
13152 // Retrieves the width of the volume's, axis aligned, bounding box.
13154 // In other words; this takes into account what actor's coordinate
13155 // space @pv belongs too and conceptually fits an axis aligned box
13156 // around the volume. It returns the size of that bounding box as
13157 // measured along the x-axis.
13159 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
13160 // is used to transform a 2D child actor that is 100px wide, 100px
13161 // high and 0px deep into container coordinates then the width might
13162 // not simply be 100px if the child actor has a 3D rotation applied to
13163 // it.</para>
13164 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
13165 // used then a transformed child volume will be defined relative to the
13166 // ancestor container actor and so a 2D child actor
13167 // can have a 3D bounding volume.</para></note>
13169 // <note>There are no accuracy guarantees for the reported width,
13170 // except that it must always be >= to the true width. This is
13171 // because actors may report simple, loose fitting paint-volumes
13172 // for efficiency</note>
13173 // RETURNS: the width, in units of @pv's local coordinate system.
13174 float get_width()() {
13175 return clutter_paint_volume_get_width(&this);
13178 // VERSION: 1.6
13179 // Sets the depth of the paint volume. The depth is measured along
13180 // the z axis in the actor coordinates that @pv is associated with.
13181 // <depth>: the depth of the paint volume, in pixels
13182 void set_depth()(float depth) {
13183 clutter_paint_volume_set_depth(&this, depth);
13186 // VERSION: 1.6
13187 // Sets the #ClutterPaintVolume from the allocation of @actor.
13189 // This function should be used when overriding the
13190 // <function>get_paint_volume()</function> by #ClutterActor sub-classes that do
13191 // not paint outside their allocation.
13193 // A typical example is:
13195 // |[
13196 // static gboolean
13197 // my_actor_get_paint_volume (ClutterActor *self,
13198 // ClutterPaintVolume *volume)
13199 // {
13200 // return clutter_paint_volume_set_from_allocation (volume, self);
13201 // }
13202 // ]|
13204 // otherwise
13205 // RETURNS: %TRUE if the paint volume was successfully set, and %FALSE
13206 // <actor>: a #ClutterActor
13207 int set_from_allocation()(Actor* actor) {
13208 return clutter_paint_volume_set_from_allocation(&this, actor);
13211 // VERSION: 1.6
13212 // Sets the height of the paint volume. The height is measured along
13213 // the y axis in the actor coordinates that @pv is associated with.
13214 // <height>: the height of the paint volume, in pixels
13215 void set_height()(float height) {
13216 clutter_paint_volume_set_height(&this, height);
13219 // VERSION: 1.6
13220 // Sets the origin of the paint volume.
13222 // The origin is defined as the X, Y and Z coordinates of the top-left
13223 // corner of an actor's paint volume, in actor coordinates.
13225 // The default is origin is assumed at: (0, 0, 0)
13226 // <origin>: a #ClutterVertex
13227 void set_origin()(Vertex* origin) {
13228 clutter_paint_volume_set_origin(&this, origin);
13231 // VERSION: 1.6
13232 // Sets the width of the paint volume. The width is measured along
13233 // the x axis in the actor coordinates that @pv is associated with.
13234 // <width>: the width of the paint volume, in pixels
13235 void set_width()(float width) {
13236 clutter_paint_volume_set_width(&this, width);
13239 // VERSION: 1.6
13240 // Updates the geometry of @pv to encompass @pv and @another_pv.
13242 // <note>There are no guarantees about how precisely the two volumes
13243 // will be encompassed.</note>
13244 // <another_pv>: A second #ClutterPaintVolume to union with @pv
13245 void union_()(PaintVolume* another_pv) {
13246 clutter_paint_volume_union(&this, another_pv);
13251 // A #GParamSpec subclass for defining properties holding
13252 // a #ClutterColor.
13253 struct ParamSpecColor /* : GObject.ParamSpec */ /* Version 1.0 */ {
13254 alias parent_instance this;
13255 alias parent_instance super_;
13256 alias parent_instance paramspec;
13257 GObject2.ParamSpec parent_instance;
13258 Color* default_value;
13261 // #GParamSpec subclass for fixed point based properties
13262 struct ParamSpecFixed /* : GObject.ParamSpec */ /* Version 0.8 */ {
13263 alias parent_instance this;
13264 alias parent_instance super_;
13265 alias parent_instance paramspec;
13266 GObject2.ParamSpec parent_instance;
13267 Cogl.Fixed minimum, maximum, default_value;
13270 struct ParamSpecUnit /* : GObject.ParamSpec */ {
13271 alias method_parent this;
13272 alias method_parent super_;
13273 alias method_parent paramspec;
13274 GObject2.ParamSpec method_parent;
13277 // #GParamSpec subclass for unit based properties.
13278 struct ParamSpecUnits /* Version 1.0 */ {
13279 private GObject2.ParamSpec parent_instance;
13280 UnitType default_type;
13281 float default_value, minimum, maximum;
13284 enum int Paste = 269025133;
13286 // The #ClutterPath struct contains only private data and should
13287 // be accessed with the functions below.
13288 struct Path /* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
13289 alias parent this;
13290 alias parent super_;
13291 alias parent initiallyunowned;
13292 GObject2.InitiallyUnowned parent;
13293 private PathPrivate* priv;
13296 // VERSION: 1.0
13297 // Creates a new #ClutterPath instance with no nodes.
13299 // The object has a floating reference so if you add it to a
13300 // #ClutterBehaviourPath then you do not need to unref it.
13301 // RETURNS: the newly created #ClutterPath
13302 static Path* new_()() {
13303 return clutter_path_new();
13306 // VERSION: 1.0
13307 // Creates a new #ClutterPath instance with the nodes described in
13308 // @desc. See clutter_path_add_string() for details of the format of
13309 // the string.
13311 // The object has a floating reference so if you add it to a
13312 // #ClutterBehaviourPath then you do not need to unref it.
13313 // RETURNS: the newly created #ClutterPath
13314 // <desc>: a string describing the path
13315 static Path* new_with_description()(char* desc) {
13316 return clutter_path_new_with_description(desc);
13319 // VERSION: 1.0
13320 // Add the nodes of the Cairo path to the end of @path.
13321 // <cpath>: a Cairo path
13322 void add_cairo_path()(cairo.Path* cpath) {
13323 clutter_path_add_cairo_path(&this, cpath);
13326 // VERSION: 1.0
13327 // Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a
13328 // straight line from the last node to the last %CLUTTER_PATH_MOVE_TO
13329 // type node.
13330 void add_close()() {
13331 clutter_path_add_close(&this);
13334 // VERSION: 1.0
13335 // Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes
13336 // the actor to follow a bezier from the last node to (@x_3, @y_3) using
13337 // (@x_1, @y_1) and (@x_2,@y_2) as control points.
13338 // <x_1>: the x coordinate of the first control point
13339 // <y_1>: the y coordinate of the first control point
13340 // <x_2>: the x coordinate of the second control point
13341 // <y_2>: the y coordinate of the second control point
13342 // <x_3>: the x coordinate of the third control point
13343 // <y_3>: the y coordinate of the third control point
13344 void add_curve_to()(int x_1, int y_1, int x_2, int y_2, int x_3, int y_3) {
13345 clutter_path_add_curve_to(&this, x_1, y_1, x_2, y_2, x_3, y_3);
13348 // VERSION: 1.0
13349 // Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the
13350 // actor to move to the new coordinates in a straight line.
13351 // <x>: the x coordinate
13352 // <y>: the y coordinate
13353 void add_line_to()(int x, int y) {
13354 clutter_path_add_line_to(&this, x, y);
13357 // VERSION: 1.0
13358 // Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually
13359 // used as the first node in a path. It can also be used in the middle
13360 // of the path to cause the actor to jump to the new coordinate.
13361 // <x>: the x coordinate
13362 // <y>: the y coordinate
13363 void add_move_to()(int x, int y) {
13364 clutter_path_add_move_to(&this, x, y);
13367 // VERSION: 1.0
13368 // Adds @node to the end of the path.
13369 // <node>: a #ClutterPathNode
13370 void add_node()(PathNode* node) {
13371 clutter_path_add_node(&this, node);
13374 // VERSION: 1.0
13375 // Same as clutter_path_add_curve_to() except the coordinates are
13376 // relative to the previous node.
13377 // <x_1>: the x coordinate of the first control point
13378 // <y_1>: the y coordinate of the first control point
13379 // <x_2>: the x coordinate of the second control point
13380 // <y_2>: the y coordinate of the second control point
13381 // <x_3>: the x coordinate of the third control point
13382 // <y_3>: the y coordinate of the third control point
13383 void add_rel_curve_to()(int x_1, int y_1, int x_2, int y_2, int x_3, int y_3) {
13384 clutter_path_add_rel_curve_to(&this, x_1, y_1, x_2, y_2, x_3, y_3);
13387 // VERSION: 1.0
13388 // Same as clutter_path_add_line_to() except the coordinates are
13389 // relative to the previous node.
13390 // <x>: the x coordinate
13391 // <y>: the y coordinate
13392 void add_rel_line_to()(int x, int y) {
13393 clutter_path_add_rel_line_to(&this, x, y);
13396 // VERSION: 1.0
13397 // Same as clutter_path_add_move_to() except the coordinates are
13398 // relative to the previous node.
13399 // <x>: the x coordinate
13400 // <y>: the y coordinate
13401 void add_rel_move_to()(int x, int y) {
13402 clutter_path_add_rel_move_to(&this, x, y);
13405 // VERSION: 1.0
13406 // Adds new nodes to the end of the path as described in @str. The
13407 // format is a subset of the SVG path format. Each node is represented
13408 // by a letter and is followed by zero, one or three pairs of
13409 // coordinates. The coordinates can be separated by spaces or a
13410 // comma. The types are:
13412 // <variablelist>
13413 // <varlistentry><term>M</term>
13414 // <listitem><para>
13415 // Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates.
13416 // </para></listitem></varlistentry>
13417 // <varlistentry><term>L</term>
13418 // <listitem><para>
13419 // Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates.
13420 // </para></listitem></varlistentry>
13421 // <varlistentry><term>C</term>
13422 // <listitem><para>
13423 // Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates.
13424 // </para></listitem></varlistentry>
13425 // <varlistentry><term>z</term>
13426 // <listitem><para>
13427 // Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed.
13428 // </para></listitem></varlistentry>
13429 // </variablelist>
13431 // The M, L and C commands can also be specified in lower case which
13432 // means the coordinates are relative to the previous node.
13434 // For example, to move an actor in a 100 by 100 pixel square centered
13435 // on the point 300,300 you could use the following path:
13437 // <informalexample>
13438 // <programlisting>
13439 // M 250,350 l 0 -100 L 350,250 l 0 100 z
13440 // </programlisting>
13441 // </informalexample>
13443 // If the path description isn't valid %FALSE will be returned and no
13444 // nodes will be added.
13446 // otherwise.
13447 // RETURNS: %TRUE is the path description was valid or %FALSE
13448 // <str>: a string describing the new nodes
13449 int add_string()(char* str) {
13450 return clutter_path_add_string(&this, str);
13453 // VERSION: 1.0
13454 // Removes all nodes from the path.
13455 void clear()() {
13456 clutter_path_clear(&this);
13459 // VERSION: 1.0
13460 // Calls a function for each node of the path.
13461 // <callback>: the function to call with each node
13462 // <user_data>: user data to pass to the function
13463 void foreach_()(PathCallback callback, void* user_data) {
13464 clutter_path_foreach(&this, callback, user_data);
13467 // VERSION: 1.0
13468 // Returns a newly allocated string describing the path in the same
13469 // format as used by clutter_path_add_string().
13470 // RETURNS: a string description of the path. Free with g_free().
13471 char* /*new*/ get_description()() {
13472 return clutter_path_get_description(&this);
13475 // VERSION: 1.0
13476 // Retrieves an approximation of the total length of the path.
13477 // RETURNS: the length of the path.
13478 uint get_length()() {
13479 return clutter_path_get_length(&this);
13482 // VERSION: 1.0
13483 // Retrieves the number of nodes in the path.
13484 // RETURNS: the number of nodes.
13485 uint get_n_nodes()() {
13486 return clutter_path_get_n_nodes(&this);
13489 // VERSION: 1.0
13490 // Retrieves the node of the path indexed by @index.
13491 // <index_>: the node number to retrieve
13492 // <node>: a location to store a copy of the node
13493 void get_node()(uint index_, /*out*/ PathNode* node) {
13494 clutter_path_get_node(&this, index_, node);
13497 // VERSION: 1.0
13498 // Returns a #GSList of #ClutterPathNode<!-- -->s. The list should be
13499 // freed with g_slist_free(). The nodes are owned by the path and
13500 // should not be freed. Altering the path may cause the nodes in the
13501 // list to become invalid so you should copy them if you want to keep
13502 // the list.
13504 // list of nodes in the path.
13505 // RETURNS: a
13506 GLib2.SList* /*new container*/ get_nodes()() {
13507 return clutter_path_get_nodes(&this);
13510 // VERSION: 1.0
13511 // The value in @progress represents a position along the path where
13512 // 0.0 is the beginning and 1.0 is the end of the path. An
13513 // interpolated position is then stored in @position.
13514 // RETURNS: index of the node used to calculate the position.
13515 // <progress>: a position along the path as a fraction of its length
13516 // <position>: location to store the position
13517 uint get_position()(double progress, /*out*/ Knot* position) {
13518 return clutter_path_get_position(&this, progress, position);
13521 // VERSION: 1.0
13522 // Inserts @node into the path before the node at the given offset. If
13523 // @index_ is negative it will append the node to the end of the path.
13524 // <index_>: offset of where to insert the node
13525 // <node>: the node to insert
13526 void insert_node()(int index_, PathNode* node) {
13527 clutter_path_insert_node(&this, index_, node);
13530 // VERSION: 1.0
13531 // Removes the node at the given offset from the path.
13532 // <index_>: index of the node to remove
13533 void remove_node()(uint index_) {
13534 clutter_path_remove_node(&this, index_);
13537 // VERSION: 1.0
13538 // Replaces the node at offset @index_ with @node.
13539 // <index_>: index to the existing node
13540 // <node>: the replacement node
13541 void replace_node()(uint index_, PathNode* node) {
13542 clutter_path_replace_node(&this, index_, node);
13545 // VERSION: 1.0
13546 // Replaces all of the nodes in the path with nodes described by
13547 // @str. See clutter_path_add_string() for details of the format.
13549 // If the string is invalid then %FALSE is returned and the path is
13550 // unaltered.
13551 // RETURNS: %TRUE is the path was valid, %FALSE otherwise.
13552 // <str>: a string describing the path
13553 int set_description()(char* str) {
13554 return clutter_path_set_description(&this, str);
13557 // VERSION: 1.0
13558 // Add the nodes of the ClutterPath to the path in the Cairo context.
13559 // <cr>: a Cairo context
13560 void to_cairo_path()(cairo.Context* cr) {
13561 clutter_path_to_cairo_path(&this, cr);
13566 // VERSION: 1.0
13567 // This function is passed to clutter_path_foreach() and will be
13568 // called for each node contained in the path.
13569 // <node>: the node
13570 // <data>: optional data passed to the function
13571 extern (C) alias void function (PathNode* node, void* data) PathCallback;
13573 // The #ClutterPathClass struct contains only private data.
13574 struct PathClass /* Version 1.0 */ {
13575 private GObject2.InitiallyUnownedClass parent_class;
13579 // <structname>ClutterPathConstraint</structname> is an opaque structure
13580 // whose members cannot be directly accessed
13581 struct PathConstraint /* : Constraint */ /* Version 1.6 */ {
13582 alias method_parent this;
13583 alias method_parent super_;
13584 alias method_parent constraint;
13585 Constraint method_parent;
13588 // VERSION: 1.6
13589 // Creates a new #ClutterPathConstraint with the given @path and @offset
13590 // RETURNS: the newly created #ClutterPathConstraint
13591 // <path>: a #ClutterPath, or %NULL
13592 // <offset>: the offset along the #ClutterPath
13593 static PathConstraint* /*new*/ new_()(Path* path, float offset) {
13594 return clutter_path_constraint_new(path, offset);
13597 // VERSION: 1.6
13598 // Retrieves the offset along the #ClutterPath used by @constraint.
13599 // RETURNS: the offset
13600 float get_offset()() {
13601 return clutter_path_constraint_get_offset(&this);
13604 // VERSION: 1.6
13605 // Retrieves a pointer to the #ClutterPath used by @constraint.
13607 // #ClutterPathConstraint, or %NULL. The returned #ClutterPath is owned
13608 // by the constraint and it should not be unreferenced
13609 // RETURNS: the #ClutterPath used by the
13610 Path* get_path()() {
13611 return clutter_path_constraint_get_path(&this);
13614 // VERSION: 1.6
13615 // Sets the offset along the #ClutterPath used by @constraint.
13616 // <offset>: the offset along the path
13617 void set_offset()(float offset) {
13618 clutter_path_constraint_set_offset(&this, offset);
13621 // VERSION: 1.6
13622 // Sets the @path to be followed by the #ClutterPathConstraint.
13624 // The @constraint will take ownership of the #ClutterPath passed to this
13625 // function.
13626 // <path>: a #ClutterPath
13627 void set_path()(Path* path=null) {
13628 clutter_path_constraint_set_path(&this, path);
13631 // VERSION: 1.6
13632 // The ::node-reached signal is emitted each time a
13633 // #ClutterPathConstraint:offset value results in the actor
13634 // passing a #ClutterPathNode
13635 // <actor>: the #ClutterActor using the @constraint
13636 // <index>: the index of the node that has been reached
13637 extern (C) alias static void function (PathConstraint* this_, Actor* actor, c_uint index, void* user_data=null) signal_node_reached;
13639 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
13640 return super_.signal_connect!name(cb, data, cf);
13643 ulong signal_connect(string name:"node-reached", CB:signal_node_reached)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
13644 return signal_connect_data!()(&this, cast(char*)"node-reached",
13645 cast(GObject2.Callback)cb, data, null, cf);
13649 struct PathConstraintClass {
13653 // Represents a single node of a #ClutterPath.
13655 // Some of the coordinates in @points may be unused for some node
13656 // types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one
13657 // pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and
13658 // %CLUTTER_PATH_CLOSE uses none.
13659 struct PathNode /* Version 1.0 */ {
13660 PathNodeType type;
13661 Knot[3] points;
13664 // VERSION: 1.0
13665 // Makes an allocated copy of a node.
13666 // RETURNS: the copied node.
13667 PathNode* /*new*/ copy()() {
13668 return clutter_path_node_copy(&this);
13671 // VERSION: 1.0
13672 // Compares two nodes and checks if they are the same type with the
13673 // same coordinates.
13674 // RETURNS: %TRUE if the nodes are the same.
13675 // <node_b>: Second node
13676 int equal()(PathNode* node_b) {
13677 return clutter_path_node_equal(&this, node_b);
13680 // VERSION: 1.0
13681 // Frees the memory of an allocated node.
13682 void free()() {
13683 clutter_path_node_free(&this);
13687 // Types of nodes in a #ClutterPath.
13688 enum PathNodeType /* Version 1.0 */ {
13689 MOVE_TO = 0,
13690 LINE_TO = 1,
13691 CURVE_TO = 2,
13692 CLOSE = 3,
13693 REL_MOVE_TO = 32,
13694 REL_LINE_TO = 33,
13695 REL_CURVE_TO = 34
13697 struct PathPrivate {
13700 enum int Pause = 65299;
13702 // Stage perspective definition. #ClutterPerspective is only used by
13703 // the fixed point version of clutter_stage_set_perspective().
13704 struct Perspective /* Version 0.4 */ {
13705 float fovy, aspect, z_near, z_far;
13708 enum int PesetaSign = 16785575;
13709 enum int Phone = 269025134;
13710 // Controls the paint cycle of the scene graph when in pick mode
13711 enum PickMode /* Version 1.0 */ {
13712 NONE = 0,
13713 REACTIVE = 1,
13714 ALL = 2
13716 enum int Pictures = 269025169;
13717 enum int Pointer_Accelerate = 65274;
13718 enum int Pointer_Button1 = 65257;
13719 enum int Pointer_Button2 = 65258;
13720 enum int Pointer_Button3 = 65259;
13721 enum int Pointer_Button4 = 65260;
13722 enum int Pointer_Button5 = 65261;
13723 enum int Pointer_Button_Dflt = 65256;
13724 enum int Pointer_DblClick1 = 65263;
13725 enum int Pointer_DblClick2 = 65264;
13726 enum int Pointer_DblClick3 = 65265;
13727 enum int Pointer_DblClick4 = 65266;
13728 enum int Pointer_DblClick5 = 65267;
13729 enum int Pointer_DblClick_Dflt = 65262;
13730 enum int Pointer_DfltBtnNext = 65275;
13731 enum int Pointer_DfltBtnPrev = 65276;
13732 enum int Pointer_Down = 65251;
13733 enum int Pointer_DownLeft = 65254;
13734 enum int Pointer_DownRight = 65255;
13735 enum int Pointer_Drag1 = 65269;
13736 enum int Pointer_Drag2 = 65270;
13737 enum int Pointer_Drag3 = 65271;
13738 enum int Pointer_Drag4 = 65272;
13739 enum int Pointer_Drag5 = 65277;
13740 enum int Pointer_Drag_Dflt = 65268;
13741 enum int Pointer_EnableKeys = 65273;
13742 enum int Pointer_Left = 65248;
13743 enum int Pointer_Right = 65249;
13744 enum int Pointer_Up = 65250;
13745 enum int Pointer_UpLeft = 65252;
13746 enum int Pointer_UpRight = 65253;
13747 enum int PowerDown = 269025057;
13748 enum int PowerOff = 269025066;
13749 enum int Prev_VMode = 269024803;
13750 enum int Prev_Virtual_Screen = 65233;
13751 enum int PreviousCandidate = 65342;
13752 enum int Print = 65377;
13753 enum int Prior = 65365;
13755 // VERSION: 1.0
13756 // Prototype of the progress function used to compute the value
13757 // between the two ends @a and @b of an interval depending on
13758 // the value of @progress.
13760 // The #GValue in @retval is already initialized with the same
13761 // type as @a and @b.
13763 // This function will be called by #ClutterInterval if the
13764 // type of the values of the interval was registered using
13765 // clutter_interval_register_progress_func().
13767 // the value and stored it inside @retval
13768 // RETURNS: %TRUE if the function successfully computed
13769 // <a>: the initial value of an interval
13770 // <b>: the final value of an interval
13771 // <progress>: the progress factor, between 0 and 1
13772 // <retval>: the value used to store the progress
13773 extern (C) alias int function (GObject2.Value* a, GObject2.Value* b, double progress, GObject2.Value* retval) ProgressFunc;
13775 enum int Q = 81;
13776 enum int R = 82;
13777 enum int R1 = 65490;
13778 enum int R10 = 65499;
13779 enum int R11 = 65500;
13780 enum int R12 = 65501;
13781 enum int R13 = 65502;
13782 enum int R14 = 65503;
13783 enum int R15 = 65504;
13784 enum int R2 = 65491;
13785 enum int R3 = 65492;
13786 enum int R4 = 65493;
13787 enum int R5 = 65494;
13788 enum int R6 = 65495;
13789 enum int R7 = 65496;
13790 enum int R8 = 65497;
13791 enum int R9 = 65498;
13792 enum int Racute = 448;
13793 enum int Rcaron = 472;
13794 enum int Rcedilla = 931;
13796 // The #ClutterRectangle structure contains only private data
13797 // and should be accessed using the provided API
13798 struct Rectangle /* : Actor */ /* Version 0.1 */ {
13799 mixin Atk.ImplementorIface.__interface__;
13800 mixin Animatable.__interface__;
13801 mixin Scriptable.__interface__;
13802 alias parent this;
13803 alias parent super_;
13804 alias parent actor;
13805 Actor parent;
13806 private RectanglePrivate* priv;
13809 // Creates a new #ClutterActor with a rectangular shape.
13810 // RETURNS: a new #ClutterActor
13811 static Rectangle* new_()() {
13812 return clutter_rectangle_new();
13815 // Creates a new #ClutterActor with a rectangular shape
13816 // and of the given @color.
13817 // RETURNS: a new #ClutterActor
13818 // <color>: a #ClutterColor
13819 static Rectangle* new_with_color()(Color* color) {
13820 return clutter_rectangle_new_with_color(color);
13823 // VERSION: 0.2
13824 // Gets the color of the border used by @rectangle and places
13825 // it into @color.
13826 // <color>: return location for a #ClutterColor
13827 void get_border_color()(/*out*/ Color* color) {
13828 clutter_rectangle_get_border_color(&this, color);
13831 // VERSION: 0.2
13832 // Gets the width (in pixels) of the border used by @rectangle
13833 // RETURNS: the border's width
13834 uint get_border_width()() {
13835 return clutter_rectangle_get_border_width(&this);
13838 // Retrieves the color of @rectangle.
13839 // <color>: return location for a #ClutterColor
13840 void get_color()(/*out*/ Color* color) {
13841 clutter_rectangle_get_color(&this, color);
13844 // Sets the color of the border used by @rectangle using @color
13845 // <color>: the color of the border
13846 void set_border_color()(Color* color) {
13847 clutter_rectangle_set_border_color(&this, color);
13850 // VERSION: 0.2
13851 // Sets the width (in pixel) of the border used by @rectangle.
13852 // A @width of 0 will unset the border.
13853 // <width>: the width of the border
13854 void set_border_width()(uint width) {
13855 clutter_rectangle_set_border_width(&this, width);
13858 // Sets the color of @rectangle.
13859 // <color>: a #ClutterColor
13860 void set_color()(Color* color) {
13861 clutter_rectangle_set_color(&this, color);
13865 // The #ClutterRectangleClass structure contains only private data
13866 struct RectangleClass /* Version 0.1 */ {
13867 private ActorClass parent_class;
13868 extern (C) void function () _clutter_rectangle1;
13869 extern (C) void function () _clutter_rectangle2;
13870 extern (C) void function () _clutter_rectangle3;
13871 extern (C) void function () _clutter_rectangle4;
13874 struct RectanglePrivate {
13877 enum int Red = 269025187;
13878 enum int Redo = 65382;
13879 enum int Refresh = 269025065;
13880 enum int Reload = 269025139;
13881 enum int RepeatKeys_Enable = 65138;
13882 enum int Reply = 269025138;
13883 // Specifies the type of requests for a #ClutterActor.
13884 enum RequestMode /* Version 0.8 */ {
13885 HEIGHT_FOR_WIDTH = 0,
13886 WIDTH_FOR_HEIGHT = 1
13888 enum int Return = 65293;
13889 enum int Right = 65363;
13890 enum int RockerDown = 269025060;
13891 enum int RockerEnter = 269025061;
13892 enum int RockerUp = 269025059;
13893 enum int Romaji = 65316;
13894 // Axis of a rotation.
13895 enum RotateAxis /* Version 0.4 */ {
13896 X_AXIS = 0,
13897 Y_AXIS = 1,
13898 Z_AXIS = 2
13900 // Direction of a rotation.
13901 enum RotateDirection /* Version 0.4 */ {
13902 CW = 0,
13903 CCW = 1
13905 enum int RotateWindows = 269025140;
13906 enum int RotationKB = 269025142;
13907 enum int RotationPB = 269025141;
13908 enum int RupeeSign = 16785576;
13909 enum int S = 83;
13910 enum int SCHWA = 16777615;
13911 enum int Sabovedot = 16784992;
13912 enum int Sacute = 422;
13913 enum int Save = 269025143;
13914 enum int Scaron = 425;
13915 enum int Scedilla = 426;
13916 enum int Scircumflex = 734;
13918 // The #ClutterScore structure contains only private data
13919 // and should be accessed using the provided API
13920 struct Score /* : GObject.Object */ /* Version 0.6 */ {
13921 alias parent this;
13922 alias parent super_;
13923 alias parent object;
13924 GObject2.Object parent;
13925 private ScorePrivate* priv;
13928 // VERSION: 0.6
13929 // Creates a new #ClutterScore. A #ClutterScore is an object that can
13930 // hold multiple #ClutterTimeline<!-- -->s in a sequential order.
13932 // when done.
13933 // RETURNS: the newly created #ClutterScore. Use g_object_unref()
13934 static Score* /*new*/ new_()() {
13935 return clutter_score_new();
13938 // VERSION: 0.6
13939 // Appends a timeline to another one existing in the score; the newly
13940 // appended timeline will be started when @parent is complete.
13942 // If @parent is %NULL, the new #ClutterTimeline will be started when
13943 // clutter_score_start() is called.
13945 // #ClutterScore will take a reference on @timeline.
13947 // 0 on failure. The returned id can be used with clutter_score_remove()
13948 // or clutter_score_get_timeline().
13949 // RETURNS: the id of the #ClutterTimeline inside the score, or
13950 // <parent>: a #ClutterTimeline in the score, or %NULL
13951 // <timeline>: a #ClutterTimeline
13952 c_ulong append()(Timeline* parent, Timeline* timeline) {
13953 return clutter_score_append(&this, parent, timeline);
13956 // VERSION: 0.8
13957 // Appends @timeline at the given @marker_name on the @parent
13958 // #ClutterTimeline.
13960 // If you want to append @timeline at the end of @parent, use
13961 // clutter_score_append().
13963 // The #ClutterScore will take a reference on @timeline.
13965 // 0 on failure. The returned id can be used with clutter_score_remove()
13966 // or clutter_score_get_timeline().
13967 // RETURNS: the id of the #ClutterTimeline inside the score, or
13968 // <parent>: the parent #ClutterTimeline
13969 // <marker_name>: the name of the marker to use
13970 // <timeline>: the #ClutterTimeline to append
13971 c_ulong append_at_marker()(Timeline* parent, char* marker_name, Timeline* timeline) {
13972 return clutter_score_append_at_marker(&this, parent, marker_name, timeline);
13975 // VERSION: 0.6
13976 // Gets whether @score is looping
13977 // RETURNS: %TRUE if the score is looping
13978 int get_loop()() {
13979 return clutter_score_get_loop(&this);
13982 // VERSION: 0.6
13983 // Retrieves the #ClutterTimeline for @id_ inside @score.
13985 // function does not increase the reference count on the returned
13986 // #ClutterTimeline
13987 // RETURNS: the requested timeline, or %NULL. This
13988 // <id_>: the id of the timeline
13989 Timeline* get_timeline()(c_ulong id_) {
13990 return clutter_score_get_timeline(&this, id_);
13993 // VERSION: 0.6
13994 // Query state of a #ClutterScore instance.
13995 // RETURNS: %TRUE if score is currently playing
13996 int is_playing()() {
13997 return clutter_score_is_playing(&this);
14000 // VERSION: 0.6
14001 // Retrieves a list of all the #ClutterTimelines managed by @score.
14003 // #GSList containing all the timelines in the score. This function does
14004 // not increase the reference count of the returned timelines. Use
14005 // g_slist_free() on the returned list to deallocate its resources.
14006 // RETURNS: a
14007 GLib2.SList* /*new container*/ list_timelines()() {
14008 return clutter_score_list_timelines(&this);
14011 // VERSION: 0.6
14012 // Pauses a playing score @score.
14013 void pause()() {
14014 clutter_score_pause(&this);
14017 // VERSION: 0.6
14018 // Removes the #ClutterTimeline with the given id inside @score. If
14019 // the timeline has other timelines attached to it, those are removed
14020 // as well.
14021 // <id_>: the id of the timeline to remove
14022 void remove()(c_ulong id_) {
14023 clutter_score_remove(&this, id_);
14026 // VERSION: 0.6
14027 // Removes all the timelines inside @score.
14028 void remove_all()() {
14029 clutter_score_remove_all(&this);
14032 // VERSION: 0.6
14033 // Rewinds a #ClutterScore to its initial state.
14034 void rewind()() {
14035 clutter_score_rewind(&this);
14038 // VERSION: 0.6
14039 // Sets whether @score should loop. A looping #ClutterScore will start
14040 // from its initial state after the ::complete signal has been fired.
14041 // <loop>: %TRUE for enable looping
14042 void set_loop()(int loop) {
14043 clutter_score_set_loop(&this, loop);
14046 // VERSION: 0.6
14047 // Starts the score.
14048 void start()() {
14049 clutter_score_start(&this);
14052 // VERSION: 0.6
14053 // Stops and rewinds a playing #ClutterScore instance.
14054 void stop()() {
14055 clutter_score_stop(&this);
14058 // VERSION: 0.6
14059 // The ::completed signal is emitted each time a #ClutterScore terminates.
14060 extern (C) alias static void function (Score* this_, void* user_data=null) signal_completed;
14062 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
14063 return super_.signal_connect!name(cb, data, cf);
14066 ulong signal_connect(string name:"completed", CB:signal_completed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
14067 return signal_connect_data!()(&this, cast(char*)"completed",
14068 cast(GObject2.Callback)cb, data, null, cf);
14071 // VERSION: 0.6
14072 // The ::paused signal is emitted each time a #ClutterScore
14073 // is paused.
14074 extern (C) alias static void function (Score* this_, void* user_data=null) signal_paused;
14075 ulong signal_connect(string name:"paused", CB:signal_paused)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
14076 return signal_connect_data!()(&this, cast(char*)"paused",
14077 cast(GObject2.Callback)cb, data, null, cf);
14080 // VERSION: 0.6
14081 // The ::started signal is emitted each time a #ClutterScore starts playing.
14082 extern (C) alias static void function (Score* this_, void* user_data=null) signal_started;
14083 ulong signal_connect(string name:"started", CB:signal_started)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
14084 return signal_connect_data!()(&this, cast(char*)"started",
14085 cast(GObject2.Callback)cb, data, null, cf);
14088 // VERSION: 0.6
14089 // The ::timeline-completed signal is emitted each time a timeline
14090 // inside a #ClutterScore terminates.
14091 // <timeline>: the completed timeline
14092 extern (C) alias static void function (Score* this_, Timeline* timeline, void* user_data=null) signal_timeline_completed;
14093 ulong signal_connect(string name:"timeline-completed", CB:signal_timeline_completed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
14094 return signal_connect_data!()(&this, cast(char*)"timeline-completed",
14095 cast(GObject2.Callback)cb, data, null, cf);
14098 // VERSION: 0.6
14099 // The ::timeline-started signal is emitted each time a new timeline
14100 // inside a #ClutterScore starts playing.
14101 // <timeline>: the current timeline
14102 extern (C) alias static void function (Score* this_, Timeline* timeline, void* user_data=null) signal_timeline_started;
14103 ulong signal_connect(string name:"timeline-started", CB:signal_timeline_started)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
14104 return signal_connect_data!()(&this, cast(char*)"timeline-started",
14105 cast(GObject2.Callback)cb, data, null, cf);
14109 // The #ClutterScoreClass structure contains only private data
14110 struct ScoreClass /* Version 0.6 */ {
14111 private GObject2.ObjectClass parent_class;
14112 extern (C) void function (Score* score, Timeline* timeline) timeline_started;
14113 extern (C) void function (Score* score, Timeline* timeline) timeline_completed;
14114 extern (C) void function (Score* score) started;
14115 extern (C) void function (Score* score) completed;
14116 extern (C) void function (Score* score) paused;
14117 extern (C) void function () _clutter_score_1;
14118 extern (C) void function () _clutter_score_2;
14119 extern (C) void function () _clutter_score_3;
14120 extern (C) void function () _clutter_score_4;
14121 extern (C) void function () _clutter_score_5;
14124 struct ScorePrivate {
14127 enum int ScreenSaver = 269025069;
14129 // The #ClutterScript structure contains only private data
14130 // and should be accessed using the provided API
14131 struct Script /* : GObject.Object */ /* Version 0.6 */ {
14132 alias parent_instance this;
14133 alias parent_instance super_;
14134 alias parent_instance object;
14135 GObject2.Object parent_instance;
14136 private ScriptPrivate* priv;
14139 // VERSION: 0.6
14140 // Creates a new #ClutterScript instance. #ClutterScript can be used
14141 // to load objects definitions for scenegraph elements, like actors,
14142 // or behavioural elements, like behaviours and timelines. The
14143 // definitions must be encoded using the JavaScript Object Notation (JSON)
14144 // language.
14146 // g_object_unref() when done.
14147 // RETURNS: the newly created #ClutterScript instance. Use
14148 static Script* /*new*/ new_()() {
14149 return clutter_script_new();
14152 // VERSION: 0.8
14153 // Adds @paths to the list of search paths held by @script.
14155 // The search paths are used by clutter_script_lookup_filename(), which
14156 // can be used to define search paths for the textures source file name
14157 // or other custom, file-based properties.
14158 // <paths>: an array of strings containing different search paths
14159 // <n_paths>: the length of the passed array
14160 void add_search_paths()(char* paths, size_t n_paths) {
14161 clutter_script_add_search_paths(&this, paths, n_paths);
14164 // VERSION: 1.8
14165 // Associates a #ClutterState to the #ClutterScript instance using the given
14166 // name.
14168 // The #ClutterScript instance will use @state to resolve target states when
14169 // connecting signal handlers.
14171 // The #ClutterScript instance will take a reference on the #ClutterState
14172 // passed to this function.
14173 // <name>: a name for the @state, or %NULL to set the default #ClutterState
14174 // <state>: a #ClutterState
14175 void add_states()(char* name, State* state) {
14176 clutter_script_add_states(&this, name, state);
14179 // VERSION: 0.6
14180 // Connects all the signals defined into a UI definition file to their
14181 // handlers.
14183 // This method invokes clutter_script_connect_signals_full() internally
14184 // and uses #GModule's introspective features (by opening the current
14185 // module's scope) to look at the application's symbol table.
14187 // Note that this function will not work if #GModule is not supported by
14188 // the platform Clutter is running on.
14189 // <user_data>: data to be passed to the signal handlers, or %NULL
14190 void connect_signals()(void* user_data) {
14191 clutter_script_connect_signals(&this, user_data);
14194 // Unintrospectable method: connect_signals_full() / clutter_script_connect_signals_full()
14195 // VERSION: 0.6
14196 // Connects all the signals defined into a UI definition file to their
14197 // handlers.
14199 // This function allows to control how the signal handlers are
14200 // going to be connected to their respective signals. It is meant
14201 // primarily for language bindings to allow resolving the function
14202 // names using the native API, but it can also be used on platforms
14203 // that do not support GModule.
14205 // Applications should use clutter_script_connect_signals().
14206 // <func>: signal connection function
14207 // <user_data>: data to be passed to the signal handlers, or %NULL
14208 void connect_signals_full()(ScriptConnectFunc func, void* user_data) {
14209 clutter_script_connect_signals_full(&this, func, user_data);
14212 // VERSION: 0.6
14213 // Ensure that every object defined inside @script is correctly
14214 // constructed. You should rarely need to use this function.
14215 void ensure_objects()() {
14216 clutter_script_ensure_objects(&this);
14219 // VERSION: 0.6
14220 // Retrieves the object bound to @name. This function does not increment
14221 // the reference count of the returned object.
14223 // with the given name was available
14224 // RETURNS: the named object, or %NULL if no object
14225 // <name>: the name of the object to retrieve
14226 GObject2.Object* get_object()(char* name) {
14227 return clutter_script_get_object(&this, name);
14230 // Unintrospectable method: get_objects() / clutter_script_get_objects()
14231 // VERSION: 0.6
14232 // Retrieves a list of objects for the given names. After @script, object
14233 // names/return location pairs should be listed, with a %NULL pointer
14234 // ending the list, like:
14236 // <informalexample><programlisting>
14237 // GObject *my_label, *a_button, *main_timeline;
14239 // clutter_script_get_objects (script,
14240 // "my-label", &amp;my_label,
14241 // "a-button", &amp;a_button,
14242 // "main-timeline", &amp;main_timeline,
14243 // NULL);
14244 // </programlisting></informalexample>
14246 // Note: This function does not increment the reference count of the
14247 // returned objects.
14248 // RETURNS: the number of objects returned.
14249 // <first_name>: the name of the first object to retrieve
14250 /+ Not available -- variadic methods unsupported - use the C function directly.
14251 alias clutter_script_get_objects get_objects; // Variadic
14254 // VERSION: 1.8
14255 // Retrieves the #ClutterState for the given @state_name.
14257 // If @name is %NULL, this function will return the default
14258 // #ClutterState instance.
14260 // given name. The #ClutterState is owned by the #ClutterScript instance
14261 // and it should not be unreferenced
14262 // RETURNS: a pointer to the #ClutterState for the
14263 // <name>: the name of the #ClutterState, or %NULL
14264 State* get_states()(char* name=null) {
14265 return clutter_script_get_states(&this, name);
14268 // VERSION: 0.6
14269 // Looks up a type by name, using the virtual function that
14270 // #ClutterScript has for that purpose. This function should
14271 // rarely be used.
14273 // %G_TYPE_INVALID if not corresponding type was found.
14274 // RETURNS: the type for the requested type name, or
14275 // <type_name>: name of the type to look up
14276 Type get_type_from_name()(char* type_name) {
14277 return clutter_script_get_type_from_name(&this, type_name);
14280 // VERSION: 0.8.2
14281 // Retrieves all the objects created by @script.
14283 // Note: this function does not increment the reference count of the
14284 // objects it returns.
14286 // of #GObject<!-- -->s, or %NULL. The objects are owned by the
14287 // #ClutterScript instance. Use g_list_free() on the returned list when
14288 // done.
14289 // RETURNS: a list
14290 GLib2.List* /*new container*/ list_objects()() {
14291 return clutter_script_list_objects(&this);
14294 // VERSION: 0.6
14295 // Loads the definitions from @data into @script and merges with
14296 // the currently loaded ones, if any.
14298 // accordingly. On success, the merge id for the UI definitions is
14299 // returned. You can use the merge id with clutter_script_unmerge_objects().
14300 // RETURNS: on error, zero is returned and @error is set
14301 // <data>: a buffer containing the definitions
14302 // <length>: the length of the buffer, or -1 if @data is a NUL-terminated buffer
14303 uint load_from_data()(char* data, ssize_t length, GLib2.Error** error=null) {
14304 return clutter_script_load_from_data(&this, data, length, error);
14307 // VERSION: 0.6
14308 // Loads the definitions from @filename into @script and merges with
14309 // the currently loaded ones, if any.
14311 // accordingly. On success, the merge id for the UI definitions is
14312 // returned. You can use the merge id with clutter_script_unmerge_objects().
14313 // RETURNS: on error, zero is returned and @error is set
14314 // <filename>: the full path to the definition file
14315 uint load_from_file()(char* filename, GLib2.Error** error=null) {
14316 return clutter_script_load_from_file(&this, filename, error);
14319 // VERSION: 0.8
14320 // Looks up @filename inside the search paths of @script. If @filename
14321 // is found, its full path will be returned .
14323 // found.
14324 // RETURNS: the full path of @filename or %NULL if no path was
14325 // <filename>: the name of the file to lookup
14326 char* /*new*/ lookup_filename()(char* filename) {
14327 return clutter_script_lookup_filename(&this, filename);
14330 // VERSION: 0.6
14331 // Unmerges the objects identified by @merge_id.
14332 // <merge_id>: merge id returned when loading a UI definition
14333 void unmerge_objects()(uint merge_id) {
14334 clutter_script_unmerge_objects(&this, merge_id);
14338 // The #ClutterScriptClass structure contains only private data
14339 struct ScriptClass /* Version 0.6 */ {
14340 private GObject2.ObjectClass parent_class;
14342 // RETURNS: the type for the requested type name, or
14343 // <type_name>: name of the type to look up
14344 extern (C) Type function (Script* script, char* type_name) get_type_from_name;
14345 extern (C) void function () _clutter_reserved1;
14346 extern (C) void function () _clutter_reserved2;
14347 extern (C) void function () _clutter_reserved3;
14348 extern (C) void function () _clutter_reserved4;
14349 extern (C) void function () _clutter_reserved5;
14350 extern (C) void function () _clutter_reserved6;
14351 extern (C) void function () _clutter_reserved7;
14352 extern (C) void function () _clutter_reserved8;
14356 // VERSION: 0.6
14357 // This is the signature of a function used to connect signals. It is used
14358 // by the clutter_script_connect_signals_full() function. It is mainly
14359 // intended for interpreted language bindings, but could be useful where the
14360 // programmer wants more control over the signal connection process.
14361 // <script>: a #ClutterScript
14362 // <object>: the object to connect
14363 // <signal_name>: the name of the signal
14364 // <handler_name>: the name of the signal handler
14365 // <connect_object>: the object to connect the signal to, or %NULL
14366 // <flags>: signal connection flags
14367 // <user_data>: user data to pass to the signal handler
14368 extern (C) alias void function (Script* script, GObject2.Object* object, char* signal_name, char* handler_name, GObject2.Object* connect_object, GObject2.ConnectFlags flags, void* user_data) ScriptConnectFunc;
14370 // #ClutterScript error enumeration.
14371 enum ScriptError /* Version 0.6 */ {
14372 TYPE_FUNCTION = 0,
14373 PROPERTY = 1,
14374 VALUE = 2
14376 struct ScriptPrivate {
14380 // #ClutterScriptable is an opaque structure whose members cannot be directly
14381 // accessed
14382 struct Scriptable /* Interface */ /* Version 0.6 */ {
14383 mixin template __interface__() {
14384 // VERSION: 0.6
14385 // Retrieves the id of @scriptable set using clutter_scriptable_set_id().
14387 // the scriptable object and should never be modified of freed
14388 // RETURNS: the id of the object. The returned string is owned by
14389 char* get_id()() {
14390 return clutter_scriptable_get_id(cast(Scriptable*)&this);
14393 // VERSION: 0.6
14394 // Parses the passed JSON node. The implementation must set the type
14395 // of the passed #GValue pointer using g_value_init().
14396 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
14397 // <script>: the #ClutterScript creating the scriptable instance
14398 // <value>: the generic value to be set
14399 // <name>: the name of the node
14400 // <node>: the JSON node to be parsed
14401 int parse_custom_node()(Script* script, GObject2.Value* value, char* name, Json.Node* node) {
14402 return clutter_scriptable_parse_custom_node(cast(Scriptable*)&this, script, value, name, node);
14405 // VERSION: 0.6
14406 // Overrides the common properties setting. The underlying virtual
14407 // function should be used when implementing custom properties.
14408 // <script>: the #ClutterScript creating the scriptable instance
14409 // <name>: the name of the property
14410 // <value>: the value of the property
14411 void set_custom_property()(Script* script, char* name, GObject2.Value* value) {
14412 clutter_scriptable_set_custom_property(cast(Scriptable*)&this, script, name, value);
14415 // VERSION: 0.6
14416 // Sets @id_ as the unique Clutter script it for this instance of
14417 // #ClutterScriptableIface.
14419 // This name can be used by user interface designer applications to
14420 // define a unique name for an object constructable using the UI
14421 // definition language parsed by #ClutterScript.
14422 // <id_>: the #ClutterScript id of the object
14423 void set_id()(char* id_) {
14424 clutter_scriptable_set_id(cast(Scriptable*)&this, id_);
14427 mixin __interface__;
14431 // Interface for implementing "scriptable" objects. An object implementing
14432 // this interface can override the parsing and properties setting sequence
14433 // when loading a UI definition data with #ClutterScript
14434 struct ScriptableIface /* Version 0.6 */ {
14435 private GObject2.TypeInterface g_iface;
14436 // <id_>: the #ClutterScript id of the object
14437 extern (C) void function (Scriptable* scriptable, char* id_) set_id;
14438 // RETURNS: the id of the object. The returned string is owned by
14439 extern (C) char* function (Scriptable* scriptable) get_id;
14441 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
14442 // <script>: the #ClutterScript creating the scriptable instance
14443 // <value>: the generic value to be set
14444 // <name>: the name of the node
14445 // <node>: the JSON node to be parsed
14446 extern (C) int function (Scriptable* scriptable, Script* script, GObject2.Value* value, char* name, Json.Node* node) parse_custom_node;
14448 // <script>: the #ClutterScript creating the scriptable instance
14449 // <name>: the name of the property
14450 // <value>: the value of the property
14451 extern (C) void function (Scriptable* scriptable, Script* script, char* name, GObject2.Value* value) set_custom_property;
14454 enum int ScrollClick = 269025146;
14455 // Direction of a pointer scroll event.
14456 enum ScrollDirection /* Version 0.4 */ {
14457 UP = 0,
14458 DOWN = 1,
14459 LEFT = 2,
14460 RIGHT = 3
14462 enum int ScrollDown = 269025145;
14463 // Scroll wheel (or similar device) event
14464 struct ScrollEvent /* Version 0.2 */ {
14465 EventType type;
14466 uint time;
14467 EventFlags flags;
14468 Stage* stage;
14469 Actor* source;
14470 float x, y;
14471 ScrollDirection direction;
14472 ModifierType modifier_state;
14473 double* axes;
14474 InputDevice* device;
14477 enum int ScrollUp = 269025144;
14478 enum int Scroll_Lock = 65300;
14479 enum int Search = 269025051;
14480 enum int Select = 65376;
14481 enum int SelectButton = 269025184;
14482 enum int Send = 269025147;
14483 enum int Serbian_DJE = 1713;
14484 enum int Serbian_DZE = 1727;
14485 enum int Serbian_JE = 1720;
14486 enum int Serbian_LJE = 1721;
14487 enum int Serbian_NJE = 1722;
14488 enum int Serbian_TSHE = 1723;
14489 enum int Serbian_dje = 1697;
14490 enum int Serbian_dze = 1711;
14491 enum int Serbian_je = 1704;
14492 enum int Serbian_lje = 1705;
14493 enum int Serbian_nje = 1706;
14494 enum int Serbian_tshe = 1707;
14496 // <structname>ClutterSettings</structname> is an opaque structure whose
14497 // members cannot be directly accessed.
14498 struct Settings /* : GObject.Object */ /* Version 1.4 */ {
14499 alias method_parent this;
14500 alias method_parent super_;
14501 alias method_parent object;
14502 GObject2.Object method_parent;
14505 // VERSION: 1.4
14506 // Retrieves the singleton instance of #ClutterSettings
14508 // returned object is owned by Clutter and it should not be unreferenced
14509 // directly
14510 // RETURNS: the instance of #ClutterSettings. The
14511 static Settings* get_default()() {
14512 return clutter_settings_get_default();
14516 struct SettingsClass {
14520 // The #ClutterShader structure contains only private data
14521 // and should be accessed using the provided API
14522 struct Shader /* : GObject.Object */ /* Version 0.6 */ {
14523 alias parent this;
14524 alias parent super_;
14525 alias parent object;
14526 GObject2.Object parent;
14527 private ShaderPrivate* priv;
14530 // VERSION: 0.6
14531 // DEPRECATED (v1.8) constructor: new - Use #ClutterShaderEffect instead.
14532 // Create a new #ClutterShader instance.
14533 // RETURNS: a new #ClutterShader.
14534 static Shader* /*new*/ new_()() {
14535 return clutter_shader_new();
14538 // VERSION: 0.8
14539 // DEPRECATED (v1.8) method: compile - Use #ClutterShaderEffect instead.
14540 // Compiles and links GLSL sources set for vertex and fragment shaders for
14541 // a #ClutterShader. If the compilation fails and a #GError return location is
14542 // provided the error will contain the errors from the compiler, if any.
14543 // RETURNS: returns TRUE if the shader was succesfully compiled.
14544 int compile()(GLib2.Error** error=null) {
14545 return clutter_shader_compile(&this, error);
14548 // VERSION: 1.0
14549 // DEPRECATED (v1.8) method: get_cogl_fragment_shader - Use #ClutterShaderEffect instead.
14550 // Retrieves the underlying #CoglHandle for the fragment shader.
14552 // shader, or %NULL. The handle is owned by the #ClutterShader
14553 // and it should not be unreferenced
14554 // RETURNS: A #CoglHandle for the fragment
14555 Cogl.Handle get_cogl_fragment_shader()() {
14556 return clutter_shader_get_cogl_fragment_shader(&this);
14559 // VERSION: 1.0
14560 // DEPRECATED (v1.8) method: get_cogl_program - Use #ClutterShaderEffect instead.
14561 // Retrieves the underlying #CoglHandle for the shader program.
14563 // or %NULL. The handle is owned by the #ClutterShader and it should
14564 // not be unreferenced
14565 // RETURNS: A #CoglHandle for the shader program,
14566 Cogl.Handle get_cogl_program()() {
14567 return clutter_shader_get_cogl_program(&this);
14570 // VERSION: 1.0
14571 // DEPRECATED (v1.8) method: get_cogl_vertex_shader - Use #ClutterShaderEffect instead.
14572 // Retrieves the underlying #CoglHandle for the vertex shader.
14574 // shader, or %NULL. The handle is owned by the #ClutterShader
14575 // and it should not be unreferenced
14576 // RETURNS: A #CoglHandle for the vertex
14577 Cogl.Handle get_cogl_vertex_shader()() {
14578 return clutter_shader_get_cogl_vertex_shader(&this);
14581 // VERSION: 0.6
14582 // DEPRECATED (v1.8) method: get_fragment_source - Use #ClutterShaderEffect instead.
14583 // Query the current GLSL fragment source set on @shader.
14585 // ClutterShader object or %NULL. The returned string is owned by the
14586 // shader object and should never be modified or freed
14587 // RETURNS: the source of the fragment shader for this
14588 char* get_fragment_source()() {
14589 return clutter_shader_get_fragment_source(&this);
14592 // VERSION: 0.6
14593 // DEPRECATED (v1.8) method: get_is_enabled - Use #ClutterShaderEffect instead.
14594 // Checks whether @shader is enabled.
14595 // RETURNS: %TRUE if the shader is enabled.
14596 int get_is_enabled()() {
14597 return clutter_shader_get_is_enabled(&this);
14600 // VERSION: 0.6
14601 // DEPRECATED (v1.8) method: get_vertex_source - Use #ClutterShaderEffect instead.
14602 // Query the current GLSL vertex source set on @shader.
14604 // ClutterShader object or %NULL. The returned string is owned by the
14605 // shader object and should never be modified or freed
14606 // RETURNS: the source of the vertex shader for this
14607 char* get_vertex_source()() {
14608 return clutter_shader_get_vertex_source(&this);
14611 // VERSION: 0.8
14612 // DEPRECATED (v1.8) method: is_compiled - Use #ClutterShaderEffect instead.
14613 // Checks whether @shader is is currently compiled, linked and bound
14614 // to the GL context.
14615 // RETURNS: %TRUE if the shader is compiled, linked and ready for use.
14616 int is_compiled()() {
14617 return clutter_shader_is_compiled(&this);
14620 // VERSION: 0.6
14621 // DEPRECATED (v1.8) method: release - Use #ClutterShaderEffect instead.
14622 // Frees up any GL context resources held by the shader.
14623 void release()() {
14624 clutter_shader_release(&this);
14627 // VERSION: 0.6
14628 // DEPRECATED (v1.8) method: set_fragment_source - Use #ClutterShaderEffect instead.
14629 // Sets the GLSL source code to be used by a #ClutterShader for the fragment
14630 // program.
14631 // <data>: GLSL source code.
14632 // <length>: length of source buffer (currently ignored)
14633 void set_fragment_source()(char* data, ssize_t length) {
14634 clutter_shader_set_fragment_source(&this, data, length);
14637 // VERSION: 0.6
14638 // DEPRECATED (v1.8) method: set_is_enabled - Use #ClutterShaderEffect instead.
14639 // Enables a shader. This function will attempt to compile and link
14640 // the shader, if it isn't already.
14642 // When @enabled is %FALSE the default state of the GL pipeline will be
14643 // used instead.
14644 // <enabled>: The new state of the shader.
14645 void set_is_enabled()(int enabled) {
14646 clutter_shader_set_is_enabled(&this, enabled);
14649 // VERSION: 1.0
14650 // DEPRECATED (v1.8) method: set_uniform - Use #ClutterShaderEffect instead.
14651 // Sets a user configurable variable in the GLSL shader programs attached to
14652 // a #ClutterShader.
14653 // <name>: name of uniform in GLSL shader program to set.
14654 // <value>: a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue.
14655 void set_uniform()(char* name, GObject2.Value* value) {
14656 clutter_shader_set_uniform(&this, name, value);
14659 // VERSION: 0.6
14660 // DEPRECATED (v1.8) method: set_vertex_source - Use #ClutterShaderEffect instead.
14661 // Sets the GLSL source code to be used by a #ClutterShader for the vertex
14662 // program.
14663 // <data>: GLSL source code.
14664 // <length>: length of source buffer (currently ignored)
14665 void set_vertex_source()(char* data, ssize_t length) {
14666 clutter_shader_set_vertex_source(&this, data, length);
14670 // The #ClutterShaderClass structure contains only private data
14671 struct ShaderClass /* Version 0.6 */ {
14672 private GObject2.ObjectClass parent_class;
14676 // The <structname>ClutterShaderEffect</structname> structure contains
14677 // only private data and should be accessed using the provided API
14678 struct ShaderEffect /* : OffscreenEffect */ /* Version 1.4 */ {
14679 alias parent_instance this;
14680 alias parent_instance super_;
14681 alias parent_instance offscreeneffect;
14682 OffscreenEffect parent_instance;
14683 private ShaderEffectPrivate* priv;
14686 // VERSION: 1.8
14687 // Creates a new #ClutterShaderEffect, to be applied to an actor using
14688 // clutter_actor_add_effect().
14690 // The effect will be empty until clutter_shader_effect_set_shader_source()
14691 // is called.
14693 // Use g_object_unref() when done.
14694 // RETURNS: the newly created #ClutterShaderEffect.
14695 // <shader_type>: the type of the shader, either %CLUTTER_FRAGMENT_SHADER, or %CLUTTER_VERTEX_SHADER
14696 static ShaderEffect* /*new*/ new_()(ShaderType shader_type) {
14697 return clutter_shader_effect_new(shader_type);
14700 // VERSION: 1.4
14701 // Retrieves a pointer to the program's handle
14703 // or %COGL_INVALID_HANDLE
14704 // RETURNS: a pointer to the program's handle,
14705 Cogl.Handle get_program()() {
14706 return clutter_shader_effect_get_program(&this);
14709 // VERSION: 1.4
14710 // Retrieves a pointer to the shader's handle
14712 // or %COGL_INVALID_HANDLE
14713 // RETURNS: a pointer to the shader's handle,
14714 Cogl.Handle get_shader()() {
14715 return clutter_shader_effect_get_shader(&this);
14718 // VERSION: 1.4
14719 // Sets the source of the GLSL shader used by @effect
14721 // This function should only be called by implementations of
14722 // the #ClutterShaderEffect class, and not by application code.
14724 // This function can only be called once; subsequent calls will
14725 // yield no result.
14726 // RETURNS: %TRUE if the source was set
14727 // <source>: the source of a GLSL shader
14728 int set_shader_source()(char* source) {
14729 return clutter_shader_effect_set_shader_source(&this, source);
14732 // Unintrospectable method: set_uniform() / clutter_shader_effect_set_uniform()
14733 // VERSION: 1.4
14734 // Sets a list of values as the payload for the uniform @name inside
14735 // the shader effect
14737 // The @gtype must be one of: %G_TYPE_INT, for 1 or more integer values;
14738 // %G_TYPE_FLOAT, for 1 or more floating point values;
14739 // %CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values;
14740 // %CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point
14741 // values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of
14742 // floating point values mapping a matrix
14744 // The number of values interepreted is defined by the @n_value
14745 // argument, and by the @gtype argument. For instance, a uniform named
14746 // "sampler0" and containing a single integer value is set using:
14748 // |[
14749 // clutter_shader_effect_set_uniform (effect, "sampler0",
14750 // G_TYPE_INT, 1,
14751 // 0);
14752 // ]|
14754 // While a uniform named "components" and containing a 3-elements vector
14755 // of floating point values (a "vec3") can be set using:
14757 // |[
14758 // gfloat component_r, component_g, component_b;
14760 // clutter_shader_effect_set_uniform (effect, "components",
14761 // G_TYPE_FLOAT, 3,
14762 // component_r,
14763 // component_g,
14764 // component_b);
14765 // ]|
14767 // or can be set using:
14769 // |[
14770 // gfloat component_vec[3];
14772 // clutter_shader_effect_set_uniform (effect, "components",
14773 // CLUTTER_TYPE_SHADER_FLOAT, 3,
14774 // component_vec);
14775 // ]|
14777 // Finally, a uniform named "map" and containing a matrix can be set using:
14779 // |[
14780 // clutter_shader_effect_set_uniform (effect, "map",
14781 // CLUTTER_TYPE_SHADER_MATRIX, 1,
14782 // cogl_matrix_get_array (&matrix));
14783 // ]|
14784 // <name>: the name of the uniform to set
14785 // <gtype>: the type of the uniform to set
14786 // <n_values>: the number of values
14787 /+ Not available -- variadic methods unsupported - use the C function directly.
14788 alias clutter_shader_effect_set_uniform set_uniform; // Variadic
14791 // VERSION: 1.4
14792 // Sets @value as the payload for the uniform @name inside the shader
14793 // effect
14795 // The #GType of the @value must be one of: %G_TYPE_INT, for a single
14796 // integer value; %G_TYPE_FLOAT, for a single floating point value;
14797 // %CLUTTER_TYPE_SHADER_INT, for an array of integer values;
14798 // %CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values;
14799 // and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point
14800 // values. It also accepts %G_TYPE_DOUBLE for compatibility with other
14801 // languages than C.
14802 // <name>: the name of the uniform to set
14803 // <value>: a #GValue with the value of the uniform to set
14804 void set_uniform_value()(char* name, GObject2.Value* value) {
14805 clutter_shader_effect_set_uniform_value(&this, name, value);
14810 // The <structname>ClutterShaderEffectClass</structname> structure contains
14811 // only private data
14812 struct ShaderEffectClass /* Version 1.4 */ {
14813 private OffscreenEffectClass parent_class;
14814 extern (C) void function () _clutter_shader1;
14815 extern (C) void function () _clutter_shader2;
14816 extern (C) void function () _clutter_shader3;
14817 extern (C) void function () _clutter_shader4;
14818 extern (C) void function () _clutter_shader5;
14819 extern (C) void function () _clutter_shader6;
14822 struct ShaderEffectPrivate {
14825 // #ClutterShader error enumeration
14826 enum ShaderError /* Version 0.6 */ {
14827 NO_ASM = 0,
14828 NO_GLSL = 1,
14829 COMPILE = 2
14831 struct ShaderFloat {
14834 struct ShaderInt {
14837 struct ShaderMatrix {
14840 struct ShaderPrivate {
14843 // The type of GLSL shader program
14844 enum ShaderType /* Version 1.4 */ {
14845 VERTEX_SHADER = 0,
14846 FRAGMENT_SHADER = 1
14848 enum int Shift_L = 65505;
14849 enum int Shift_Lock = 65510;
14850 enum int Shift_R = 65506;
14851 enum int Shop = 269025078;
14852 enum int SingleCandidate = 65340;
14853 enum int Sinh_a = 16780677;
14854 enum int Sinh_aa = 16780678;
14855 enum int Sinh_aa2 = 16780751;
14856 enum int Sinh_ae = 16780679;
14857 enum int Sinh_ae2 = 16780752;
14858 enum int Sinh_aee = 16780680;
14859 enum int Sinh_aee2 = 16780753;
14860 enum int Sinh_ai = 16780691;
14861 enum int Sinh_ai2 = 16780763;
14862 enum int Sinh_al = 16780746;
14863 enum int Sinh_au = 16780694;
14864 enum int Sinh_au2 = 16780766;
14865 enum int Sinh_ba = 16780726;
14866 enum int Sinh_bha = 16780727;
14867 enum int Sinh_ca = 16780704;
14868 enum int Sinh_cha = 16780705;
14869 enum int Sinh_dda = 16780713;
14870 enum int Sinh_ddha = 16780714;
14871 enum int Sinh_dha = 16780719;
14872 enum int Sinh_dhha = 16780720;
14873 enum int Sinh_e = 16780689;
14874 enum int Sinh_e2 = 16780761;
14875 enum int Sinh_ee = 16780690;
14876 enum int Sinh_ee2 = 16780762;
14877 enum int Sinh_fa = 16780742;
14878 enum int Sinh_ga = 16780700;
14879 enum int Sinh_gha = 16780701;
14880 enum int Sinh_h2 = 16780675;
14881 enum int Sinh_ha = 16780740;
14882 enum int Sinh_i = 16780681;
14883 enum int Sinh_i2 = 16780754;
14884 enum int Sinh_ii = 16780682;
14885 enum int Sinh_ii2 = 16780755;
14886 enum int Sinh_ja = 16780706;
14887 enum int Sinh_jha = 16780707;
14888 enum int Sinh_jnya = 16780709;
14889 enum int Sinh_ka = 16780698;
14890 enum int Sinh_kha = 16780699;
14891 enum int Sinh_kunddaliya = 16780788;
14892 enum int Sinh_la = 16780733;
14893 enum int Sinh_lla = 16780741;
14894 enum int Sinh_lu = 16780687;
14895 enum int Sinh_lu2 = 16780767;
14896 enum int Sinh_luu = 16780688;
14897 enum int Sinh_luu2 = 16780787;
14898 enum int Sinh_ma = 16780728;
14899 enum int Sinh_mba = 16780729;
14900 enum int Sinh_na = 16780721;
14901 enum int Sinh_ndda = 16780716;
14902 enum int Sinh_ndha = 16780723;
14903 enum int Sinh_ng = 16780674;
14904 enum int Sinh_ng2 = 16780702;
14905 enum int Sinh_nga = 16780703;
14906 enum int Sinh_nja = 16780710;
14907 enum int Sinh_nna = 16780715;
14908 enum int Sinh_nya = 16780708;
14909 enum int Sinh_o = 16780692;
14910 enum int Sinh_o2 = 16780764;
14911 enum int Sinh_oo = 16780693;
14912 enum int Sinh_oo2 = 16780765;
14913 enum int Sinh_pa = 16780724;
14914 enum int Sinh_pha = 16780725;
14915 enum int Sinh_ra = 16780731;
14916 enum int Sinh_ri = 16780685;
14917 enum int Sinh_rii = 16780686;
14918 enum int Sinh_ru2 = 16780760;
14919 enum int Sinh_ruu2 = 16780786;
14920 enum int Sinh_sa = 16780739;
14921 enum int Sinh_sha = 16780737;
14922 enum int Sinh_ssha = 16780738;
14923 enum int Sinh_tha = 16780717;
14924 enum int Sinh_thha = 16780718;
14925 enum int Sinh_tta = 16780711;
14926 enum int Sinh_ttha = 16780712;
14927 enum int Sinh_u = 16780683;
14928 enum int Sinh_u2 = 16780756;
14929 enum int Sinh_uu = 16780684;
14930 enum int Sinh_uu2 = 16780758;
14931 enum int Sinh_va = 16780736;
14932 enum int Sinh_ya = 16780730;
14933 enum int Sleep = 269025071;
14934 enum int SlowKeys_Enable = 65139;
14936 // <structname>ClutterSnapConstraint</structname> is an opaque structure
14937 // whose members cannot be directly accesses
14938 struct SnapConstraint /* : Constraint */ /* Version 1.6 */ {
14939 alias method_parent this;
14940 alias method_parent super_;
14941 alias method_parent constraint;
14942 Constraint method_parent;
14945 // VERSION: 1.6
14946 // Creates a new #ClutterSnapConstraint that will snap a #ClutterActor
14947 // to the @edge of @source, with the given @offset.
14948 // RETURNS: the newly created #ClutterSnapConstraint
14949 // <source>: the #ClutterActor to use as the source of the constraint, or %NULL
14950 // <from_edge>: the edge of the actor to use in the constraint
14951 // <to_edge>: the edge of @source to use in the constraint
14952 // <offset>: the offset to apply to the constraint, in pixels
14953 static SnapConstraint* new_()(Actor* source, SnapEdge from_edge, SnapEdge to_edge, float offset) {
14954 return clutter_snap_constraint_new(source, from_edge, to_edge, offset);
14957 // VERSION: 1.6
14958 // Retrieves the edges used by the @constraint
14959 // <from_edge>: return location for the actor's edge, or %NULL
14960 // <to_edge>: return location for the source's edge, or %NULL
14962 // method "get_edges" removed: Link failures - missing in library.
14964 // VERSION: 1.6
14965 // Retrieves the offset set using clutter_snap_constraint_set_offset()
14966 // RETURNS: the offset, in pixels
14967 float get_offset()() {
14968 return clutter_snap_constraint_get_offset(&this);
14971 // VERSION: 1.6
14972 // Retrieves the #ClutterActor set using clutter_snap_constraint_set_source()
14973 // RETURNS: a pointer to the source actor
14974 Actor* get_source()() {
14975 return clutter_snap_constraint_get_source(&this);
14978 // VERSION: 1.6
14979 // Sets the edges to be used by the @constraint
14981 // The @from_edge is the edge on the #ClutterActor to which @constraint
14982 // has been added. The @to_edge is the edge of the #ClutterActor inside
14983 // the #ClutterSnapConstraint:source property.
14984 // <from_edge>: the edge on the actor
14985 // <to_edge>: the edge on the source
14986 void set_edges()(SnapEdge from_edge, SnapEdge to_edge) {
14987 clutter_snap_constraint_set_edges(&this, from_edge, to_edge);
14990 // VERSION: 1.6
14991 // Sets the offset to be applied to the constraint
14992 // <offset>: the offset to apply, in pixels
14993 void set_offset()(float offset) {
14994 clutter_snap_constraint_set_offset(&this, offset);
14997 // VERSION: 1.6
14998 // Sets the source #ClutterActor for the constraint
14999 // <source>: a #ClutterActor, or %NULL to unset the source
15000 void set_source()(Actor* source=null) {
15001 clutter_snap_constraint_set_source(&this, source);
15005 struct SnapConstraintClass {
15008 // The edge to snap
15009 enum SnapEdge /* Version 1.6 */ {
15010 TOP = 0,
15011 RIGHT = 1,
15012 BOTTOM = 2,
15013 LEFT = 3
15015 enum int Spell = 269025148;
15016 enum int SplitScreen = 269025149;
15018 // The #ClutterStage structure contains only private data
15019 // and should be accessed using the provided API
15020 struct Stage /* : Group */ /* Version 0.1 */ {
15021 mixin Atk.ImplementorIface.__interface__;
15022 mixin Animatable.__interface__;
15023 mixin Container.__interface__;
15024 mixin Scriptable.__interface__;
15025 alias parent_instance this;
15026 alias parent_instance super_;
15027 alias parent_instance group;
15028 Group parent_instance;
15029 private StagePrivate* priv;
15032 // VERSION: 0.8
15033 // Creates a new, non-default stage. A non-default stage is a new
15034 // top-level actor which can be used as another container. It works
15035 // exactly like the default stage, but while clutter_stage_get_default()
15036 // will always return the same instance, you will have to keep a pointer
15037 // to any #ClutterStage returned by clutter_stage_new().
15039 // The ability to support multiple stages depends on the current
15040 // backend. Use clutter_feature_available() and
15041 // %CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a
15042 // backend supports multiple stages.
15044 // not support multiple stages. Use clutter_actor_destroy() to
15045 // programmatically close the returned stage.
15046 // RETURNS: a new stage, or %NULL if the default backend does
15047 static Stage* new_()() {
15048 return clutter_stage_new();
15051 // Returns the main stage. The default #ClutterStage is a singleton,
15052 // so the stage will be created the first time this function is
15053 // called (typically, inside clutter_init()); all the subsequent
15054 // calls to clutter_stage_get_default() will return the same instance.
15056 // Clutter guarantess the existence of the default stage.
15058 // #ClutterStage. You should never destroy or unref the returned
15059 // actor.
15060 // RETURNS: the main
15061 static Clutter.Stage* get_default()() {
15062 return clutter_stage_get_default();
15065 // VERSION: 0.8
15066 // This function essentially makes sure the right GL context is
15067 // current for the passed stage. It is not intended to
15068 // be used by applications.
15069 void ensure_current()() {
15070 clutter_stage_ensure_current(&this);
15073 // VERSION: 1.0
15074 // Ensures that @stage is redrawn
15076 // This function should not be called by applications: it is
15077 // used when embedding a #ClutterStage into a toolkit with
15078 // another windowing system, like GTK+.
15079 void ensure_redraw()() {
15080 clutter_stage_ensure_redraw(&this);
15083 // VERSION: 1.0
15084 // Ensures that the GL viewport is updated with the current
15085 // stage window size.
15087 // This function will queue a redraw of @stage.
15089 // This function should not be called by applications; it is used
15090 // when embedding a #ClutterStage into a toolkit with another
15091 // windowing system, like GTK+.
15092 void ensure_viewport()() {
15093 clutter_stage_ensure_viewport(&this);
15096 // VERSION: 0.4
15097 // This function is used to emit an event on the main stage.
15099 // You should rarely need to use this function, except for
15100 // synthetised events.
15101 // RETURNS: the return value from the signal emission
15102 // <event>: a #ClutterEvent
15103 int event()(Event* event) {
15104 return clutter_stage_event(&this, event);
15107 // VERSION: 1.6
15108 // Retrieves the value set with clutter_stage_set_accept_focus().
15110 // otherwise
15111 // RETURNS: %TRUE if the #ClutterStage should accept focus, and %FALSE
15112 int get_accept_focus()() {
15113 return clutter_stage_get_accept_focus(&this);
15116 // Checks the scene at the coordinates @x and @y and returns a pointer
15117 // to the #ClutterActor at those coordinates.
15119 // By using @pick_mode it is possible to control which actors will be
15120 // painted and thus available.
15122 // if any
15123 // RETURNS: the actor at the specified coordinates,
15124 // <pick_mode>: how the scene graph should be painted
15125 // <x>: X coordinate to check
15126 // <y>: Y coordinate to check
15127 Actor* get_actor_at_pos()(PickMode pick_mode, int x, int y) {
15128 return clutter_stage_get_actor_at_pos(&this, pick_mode, x, y);
15131 // Retrieves the stage color.
15132 // <color>: return location for a #ClutterColor
15133 void get_color()(/*out*/ Color* color) {
15134 clutter_stage_get_color(&this, color);
15137 // VERSION: 0.6
15138 // Retrieves the current depth cueing settings from the stage.
15139 // <fog>: return location for a #ClutterFog structure
15140 void get_fog()(/*out*/ Fog* fog) {
15141 clutter_stage_get_fog(&this, fog);
15144 // VERSION: 1.0
15145 // Retrieves whether the stage is full screen or not
15146 // RETURNS: %TRUE if the stage is full screen
15147 int get_fullscreen()() {
15148 return clutter_stage_get_fullscreen(&this);
15151 // VERSION: 0.6
15152 // Retrieves the actor that is currently under key focus.
15153 // RETURNS: the actor with key focus, or the stage
15154 Actor* get_key_focus()() {
15155 return clutter_stage_get_key_focus(&this);
15158 // VERSION: 1.2
15159 // Retrieves the minimum size for a stage window as set using
15160 // clutter_stage_set_minimum_size().
15162 // The returned size may not correspond to the actual minimum size and
15163 // it is specific to the #ClutterStage implementation inside the
15164 // Clutter backend
15165 // <width>: return location for the minimum width, in pixels, or %NULL
15166 // <height>: return location for the minimum height, in pixels, or %NULL
15167 void get_minimum_size()(/*out*/ uint* width, /*out*/ uint* height) {
15168 clutter_stage_get_minimum_size(&this, width, height);
15171 // VERSION: 1.8
15172 // Retrieves the value set using clutter_stage_set_motion_events_enabled().
15174 // and %FALSE otherwise
15175 // RETURNS: %TRUE if the per-actor motion event delivery is enabled
15176 int get_motion_events_enabled()() {
15177 return clutter_stage_get_motion_events_enabled(&this);
15180 // VERSION: 1.4
15181 // Retrieves the hint set with clutter_stage_set_no_clear_hint()
15183 // cycle, and %FALSE otherwise
15184 // RETURNS: %TRUE if the stage should not clear itself on every paint
15185 int get_no_clear_hint()() {
15186 return clutter_stage_get_no_clear_hint(&this);
15189 // Retrieves the stage perspective.
15190 // <perspective>: return location for a #ClutterPerspective
15191 void get_perspective()(/*out*/ Perspective* perspective=null) {
15192 clutter_stage_get_perspective(&this, perspective);
15195 // VERSION: 1.8
15196 // Gets the bounds of the current redraw for @stage in stage pixel
15197 // coordinates. E.g., if only a single actor has queued a redraw then
15198 // Clutter may redraw the stage with a clip so that it doesn't have to
15199 // paint every pixel in the stage. This function would then return the
15200 // bounds of that clip. An application can use this information to
15201 // avoid some extra work if it knows that some regions of the stage
15202 // aren't going to be painted. This should only be called while the
15203 // stage is being painted. If there is no current redraw clip then
15204 // this function will set @clip to the full extents of the stage.
15205 // <clip>: Return location for the clip bounds
15206 void get_redraw_clip_bounds()(/*out*/ cairo.RectangleInt* clip) {
15207 clutter_stage_get_redraw_clip_bounds(&this, clip);
15210 // VERSION: 1.0
15211 // Retrieves the value set with clutter_stage_set_throttle_motion_events()
15213 // and %FALSE otherwise
15214 // RETURNS: %TRUE if the motion events are being throttled,
15215 int get_throttle_motion_events()() {
15216 return clutter_stage_get_throttle_motion_events(&this);
15219 // VERSION: 0.4
15220 // Gets the stage title.
15222 // returned string is owned by the actor and should not
15223 // be modified or freed.
15224 // RETURNS: pointer to the title string for the stage. The
15225 char* get_title()() {
15226 return clutter_stage_get_title(&this);
15229 // VERSION: 1.2
15230 // Retrieves the value set using clutter_stage_set_use_alpha()
15232 // alpha channel of the stage color
15233 // RETURNS: %TRUE if the stage should honour the opacity and the
15234 int get_use_alpha()() {
15235 return clutter_stage_get_use_alpha(&this);
15238 // VERSION: 0.6
15239 // Gets whether the depth cueing effect is enabled on @stage.
15240 // RETURNS: %TRUE if the depth cueing effect is enabled
15241 int get_use_fog()() {
15242 return clutter_stage_get_use_fog(&this);
15245 // VERSION: 0.4
15246 // Retrieves the value set with clutter_stage_set_user_resizable().
15247 // RETURNS: %TRUE if the stage is resizable by the user.
15248 int get_user_resizable()() {
15249 return clutter_stage_get_user_resizable(&this);
15252 // VERSION: 0.4
15253 // Makes the cursor invisible on the stage window
15254 void hide_cursor()() {
15255 clutter_stage_hide_cursor(&this);
15258 // VERSION: 0.8
15259 // Checks if @stage is the default stage, or an instance created using
15260 // clutter_stage_new() but internally using the same implementation.
15261 // RETURNS: %TRUE if the passed stage is the default one
15262 int is_default()() {
15263 return clutter_stage_is_default(&this);
15266 // VERSION: 0.8
15267 // Queues a redraw for the passed stage.
15269 // <note>Applications should call clutter_actor_queue_redraw() and not
15270 // this function.</note>
15272 // <note>This function is just a wrapper for clutter_actor_queue_redraw()
15273 // and should probably go away.</note>
15274 void queue_redraw()() {
15275 clutter_stage_queue_redraw(&this);
15278 // Makes a screenshot of the stage in RGBA 8bit data, returns a
15279 // linear buffer with @width * 4 as rowstride.
15281 // The alpha data contained in the returned buffer is driver-dependent,
15282 // and not guaranteed to hold any sensible value.
15284 // or %NULL if the read failed. Use g_free() on the returned data
15285 // to release the resources it has allocated.
15286 // RETURNS: a pointer to newly allocated memory with the buffer
15287 // <x>: x coordinate of the first pixel that is read from stage
15288 // <y>: y coordinate of the first pixel that is read from stage
15289 // <width>: Width dimention of pixels to be read, or -1 for the entire stage width
15290 // <height>: Height dimention of pixels to be read, or -1 for the entire stage height
15291 ubyte* read_pixels()(int x, int y, int width, int height) {
15292 return clutter_stage_read_pixels(&this, x, y, width, height);
15295 // VERSION: 1.6
15296 // Sets whether the @stage should accept the key focus when shown.
15298 // This function should be called before showing @stage using
15299 // clutter_actor_show().
15300 // <accept_focus>: %TRUE to accept focus on show
15301 void set_accept_focus()(int accept_focus) {
15302 clutter_stage_set_accept_focus(&this, accept_focus);
15305 // Sets the stage color.
15306 // <color>: A #ClutterColor
15307 void set_color()(Color* color) {
15308 clutter_stage_set_color(&this, color);
15311 // VERSION: 0.6
15312 // Sets the fog (also known as "depth cueing") settings for the @stage.
15314 // A #ClutterStage will only use a linear fog progression, which
15315 // depends solely on the distance from the viewer. The cogl_set_fog()
15316 // function in COGL exposes more of the underlying implementation,
15317 // and allows changing the for progression function. It can be directly
15318 // used by disabling the #ClutterStage:use-fog property and connecting
15319 // a signal handler to the #ClutterActor::paint signal on the @stage,
15320 // like:
15322 // |[
15323 // clutter_stage_set_use_fog (stage, FALSE);
15324 // g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
15325 // ]|
15327 // The paint signal handler will call cogl_set_fog() with the
15328 // desired settings:
15330 // |[
15331 // static void
15332 // on_stage_paint (ClutterActor *actor)
15333 // {
15334 // ClutterColor stage_color = { 0, };
15335 // CoglColor fog_color = { 0, };
15337 // /&ast; set the fog color to the stage background color &ast;/
15338 // clutter_stage_get_color (CLUTTER_STAGE (actor), &amp;stage_color);
15339 // cogl_color_init_from_4ub (&amp;fog_color,
15340 // stage_color.red,
15341 // stage_color.green,
15342 // stage_color.blue,
15343 // stage_color.alpha);
15345 // /&ast; enable fog &ast;/
15346 // cogl_set_fog (&amp;fog_color,
15347 // COGL_FOG_MODE_EXPONENTIAL, /&ast; mode &ast;/
15348 // 0.5, /&ast; density &ast;/
15349 // 5.0, 30.0); /&ast; z_near and z_far &ast;/
15350 // }
15351 // ]|
15353 // <note>The fogging functions only work correctly when the visible actors use
15354 // unmultiplied alpha colors. By default Cogl will premultiply textures and
15355 // cogl_set_source_color() will premultiply colors, so unless you explicitly
15356 // load your textures requesting an unmultiplied internal format and use
15357 // cogl_material_set_color() you can only use fogging with fully opaque actors.
15358 // Support for premultiplied colors will improve in the future when we can
15359 // depend on fragment shaders.</note>
15360 // <fog>: a #ClutterFog structure
15361 void set_fog()(Fog* fog) {
15362 clutter_stage_set_fog(&this, fog);
15365 // VERSION: 1.0
15366 // Asks to place the stage window in the fullscreen or unfullscreen
15367 // states.
15369 // afterward, because other entities (e.g. the user or window manager)
15370 // could unfullscreen it again, and not all window managers honor
15371 // requests to fullscreen windows.
15373 // If you want to receive notification of the fullscreen state you
15374 // should either use the #ClutterStage::fullscreen and
15375 // #ClutterStage::unfullscreen signals, or use the notify signal
15376 // for the #ClutterStage:fullscreen-set property
15377 // <fullscreen>: %TRUE to to set the stage fullscreen
15378 void set_fullscreen()(int fullscreen) {
15379 clutter_stage_set_fullscreen(&this, fullscreen);
15382 // VERSION: 0.6
15383 // Sets the key focus on @actor. An actor with key focus will receive
15384 // all the key events. If @actor is %NULL, the stage will receive
15385 // focus.
15386 // <actor>: the actor to set key focus to, or %NULL
15387 void set_key_focus()(Actor* actor=null) {
15388 clutter_stage_set_key_focus(&this, actor);
15391 // VERSION: 1.2
15392 // Sets the minimum size for a stage window, if the default backend
15393 // uses #ClutterStage inside a window
15395 // This is a convenience function, and it is equivalent to setting the
15396 // #ClutterActor:min-width and #ClutterActor:min-height on @stage
15398 // If the current size of @stage is smaller than the minimum size, the
15399 // @stage will be resized to the new @width and @height
15401 // This function has no effect if @stage is fullscreen
15402 // <width>: width, in pixels
15403 // <height>: height, in pixels
15404 void set_minimum_size()(uint width, uint height) {
15405 clutter_stage_set_minimum_size(&this, width, height);
15408 // VERSION: 1.8
15409 // Sets whether per-actor motion events (and relative crossing
15410 // events) should be disabled or not.
15412 // The default is %TRUE.
15414 // If @enable is %FALSE the following events will not be delivered
15415 // to the actors children of @stage.
15417 // <itemizedlist>
15418 // <listitem><para>#ClutterActor::motion-event</para></listitem>
15419 // <listitem><para>#ClutterActor::enter-event</para></listitem>
15420 // <listitem><para>#ClutterActor::leave-event</para></listitem>
15421 // </itemizedlist>
15423 // The events will still be delivered to the #ClutterStage.
15425 // The main side effect of this function is that disabling the motion
15426 // events will disable picking to detect the #ClutterActor underneath
15427 // the pointer for each motion event. This is useful, for instance,
15428 // when dragging a #ClutterActor across the @stage: the actor underneath
15429 // the pointer is not going to change, so it's meaningless to perform
15430 // a pick.
15431 // <enabled>: %TRUE to enable the motion events delivery, and %FALSE otherwise
15432 void set_motion_events_enabled()(int enabled) {
15433 clutter_stage_set_motion_events_enabled(&this, enabled);
15436 // VERSION: 1.4
15437 // Sets whether the @stage should clear itself at the beginning
15438 // of each paint cycle or not.
15440 // Clearing the #ClutterStage can be a costly operation, especially
15441 // if the stage is always covered - for instance, in a full-screen
15442 // video player or in a game with a background texture.
15444 // <note><para>This setting is a hint; Clutter might discard this
15445 // hint depending on its internal state.</para></note>
15447 // <warning><para>If parts of the stage are visible and you disable
15448 // clearing you might end up with visual artifacts while painting the
15449 // contents of the stage.</para></warning>
15450 // <no_clear>: %TRUE if the @stage should not clear itself on every repaint cycle
15451 void set_no_clear_hint()(int no_clear) {
15452 clutter_stage_set_no_clear_hint(&this, no_clear);
15455 // Sets the stage perspective. Using this function is not recommended
15456 // because it will disable Clutter's attempts to generate an
15457 // appropriate perspective based on the size of the stage.
15458 // <perspective>: A #ClutterPerspective
15459 void set_perspective()(Perspective* perspective) {
15460 clutter_stage_set_perspective(&this, perspective);
15463 // VERSION: 1.0
15464 // Sets whether motion events received between redraws should
15465 // be throttled or not. If motion events are throttled, those
15466 // events received by the windowing system between redraws will
15467 // be compressed so that only the last event will be propagated
15468 // to the @stage and its actors.
15470 // This function should only be used if you want to have all
15471 // the motion events delivered to your application code.
15472 // <throttle>: %TRUE to throttle motion events
15473 void set_throttle_motion_events()(int throttle) {
15474 clutter_stage_set_throttle_motion_events(&this, throttle);
15477 // VERSION: 0.4
15478 // Sets the stage title.
15479 // <title>: A utf8 string for the stage windows title.
15480 void set_title()(char* title) {
15481 clutter_stage_set_title(&this, title);
15484 // VERSION: 1.2
15485 // Sets whether the @stage should honour the #ClutterActor:opacity and
15486 // the alpha channel of the #ClutterStage:color
15487 // <use_alpha>: whether the stage should honour the opacity or the alpha channel of the stage color
15488 void set_use_alpha()(int use_alpha) {
15489 clutter_stage_set_use_alpha(&this, use_alpha);
15492 // VERSION: 0.6
15493 // Sets whether the depth cueing effect on the stage should be enabled
15494 // or not.
15496 // Depth cueing is a 3D effect that makes actors farther away from the
15497 // viewing point less opaque, by fading them with the stage color.
15498 // The parameters of the GL fog used can be changed using the
15499 // clutter_stage_set_fog() function.
15500 // <fog>: %TRUE for enabling the depth cueing effect
15501 void set_use_fog()(int fog) {
15502 clutter_stage_set_use_fog(&this, fog);
15505 // VERSION: 0.4
15506 // Sets if the stage is resizable by user interaction (e.g. via
15507 // window manager controls)
15508 // <resizable>: whether the stage should be user resizable.
15509 void set_user_resizable()(int resizable) {
15510 clutter_stage_set_user_resizable(&this, resizable);
15512 // Shows the cursor on the stage window
15513 void show_cursor()() {
15514 clutter_stage_show_cursor(&this);
15517 // VERSION: 0.6
15518 // The ::activate signal is emitted when the stage receives key focus
15519 // from the underlying window system.
15520 extern (C) alias static void function (Stage* this_, void* user_data=null) signal_activate;
15522 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15523 return super_.signal_connect!name(cb, data, cf);
15526 ulong signal_connect(string name:"activate", CB:signal_activate)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15527 return signal_connect_data!()(&this, cast(char*)"activate",
15528 cast(GObject2.Callback)cb, data, null, cf);
15531 // VERSION: 0.6
15532 // The ::activate signal is emitted when the stage loses key focus
15533 // from the underlying window system.
15534 extern (C) alias static void function (Stage* this_, void* user_data=null) signal_deactivate;
15535 ulong signal_connect(string name:"deactivate", CB:signal_deactivate)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15536 return signal_connect_data!()(&this, cast(char*)"deactivate",
15537 cast(GObject2.Callback)cb, data, null, cf);
15540 // VERSION: 1.2
15541 // The ::delete-event signal is emitted when the user closes a
15542 // #ClutterStage window using the window controls.
15544 // Clutter by default will call clutter_main_quit() if @stage is
15545 // the default stage, and clutter_actor_destroy() for any other
15546 // stage.
15548 // It is possible to override the default behaviour by connecting
15549 // a new handler and returning %TRUE there.
15551 // <note>This signal is emitted only on Clutter backends that
15552 // embed #ClutterStage in native windows. It is not emitted for
15553 // backends that use a static frame buffer.</note>
15554 // <event>: a #ClutterEvent of type %CLUTTER_DELETE
15555 extern (C) alias static c_int function (Stage* this_, Event* event, void* user_data=null) signal_delete_event;
15556 ulong signal_connect(string name:"delete-event", CB:signal_delete_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15557 return signal_connect_data!()(&this, cast(char*)"delete-event",
15558 cast(GObject2.Callback)cb, data, null, cf);
15561 // VERSION: 0.6
15562 // The ::fullscreen signal is emitted when the stage is made fullscreen.
15563 extern (C) alias static void function (Stage* this_, void* user_data=null) signal_fullscreen;
15564 ulong signal_connect(string name:"fullscreen", CB:signal_fullscreen)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15565 return signal_connect_data!()(&this, cast(char*)"fullscreen",
15566 cast(GObject2.Callback)cb, data, null, cf);
15569 // VERSION: 0.6
15570 // The ::unfullscreen signal is emitted when the stage leaves a fullscreen
15571 // state.
15572 extern (C) alias static void function (Stage* this_, void* user_data=null) signal_unfullscreen;
15573 ulong signal_connect(string name:"unfullscreen", CB:signal_unfullscreen)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15574 return signal_connect_data!()(&this, cast(char*)"unfullscreen",
15575 cast(GObject2.Callback)cb, data, null, cf);
15579 // The #ClutterStageClass structure contains only private data
15580 struct StageClass /* Version 0.1 */ {
15581 private GroupClass parent_class;
15582 extern (C) void function (Stage* stage) fullscreen;
15583 extern (C) void function (Stage* stage) unfullscreen;
15584 extern (C) void function (Stage* stage) activate;
15585 extern (C) void function (Stage* stage) deactivate;
15586 extern (C) int function (Stage* stage, Event* event) delete_event;
15587 private void*[31] _padding_dummy;
15590 // The #ClutterStageManager structure is private.
15591 struct StageManager /* : GObject.Object */ /* Version 1.0 */ {
15592 alias method_parent this;
15593 alias method_parent super_;
15594 alias method_parent object;
15595 GObject2.Object method_parent;
15598 // VERSION: 0.8
15599 // Returns the default #ClutterStageManager.
15601 // object is owned by Clutter and you should not reference or unreference it.
15602 // RETURNS: the default stage manager instance. The returned
15603 static StageManager* get_default()() {
15604 return clutter_stage_manager_get_default();
15607 // VERSION: 0.8
15608 // Returns the default #ClutterStage.
15610 // is owned by Clutter and you should never reference or unreference it
15611 // RETURNS: the default stage. The returned object
15612 Stage* get_default_stage()() {
15613 return clutter_stage_manager_get_default_stage(&this);
15616 // VERSION: 0.8
15617 // Lists all currently used stages.
15619 // allocated list of #ClutterStage objects. Use g_slist_free() to
15620 // deallocate it when done.
15621 // RETURNS: a newly
15622 GLib2.SList* /*new container*/ list_stages()() {
15623 return clutter_stage_manager_list_stages(&this);
15626 // VERSION: 1.0
15627 // Lists all currently used stages.
15629 // to the internal list of #ClutterStage objects. The returned list
15630 // is owned by the #ClutterStageManager and should never be modified
15631 // or freed
15632 // RETURNS: a pointer
15633 GLib2.SList* peek_stages()() {
15634 return clutter_stage_manager_peek_stages(&this);
15637 // VERSION: 0.8
15638 // DEPRECATED (v1.2) method: set_default_stage - Calling this function has no effect
15639 // Sets @stage as the default stage.
15640 // <stage>: a #ClutterStage
15641 void set_default_stage()(Stage* stage) {
15642 clutter_stage_manager_set_default_stage(&this, stage);
15645 // VERSION: 0.8
15646 // The ::stage-added signal is emitted each time a new #ClutterStage
15647 // has been added to the stage manager.
15648 // <stage>: the added stage
15649 extern (C) alias static void function (StageManager* this_, Stage* stage, void* user_data=null) signal_stage_added;
15651 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15652 return super_.signal_connect!name(cb, data, cf);
15655 ulong signal_connect(string name:"stage-added", CB:signal_stage_added)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15656 return signal_connect_data!()(&this, cast(char*)"stage-added",
15657 cast(GObject2.Callback)cb, data, null, cf);
15660 // VERSION: 0.8
15661 // The ::stage-removed signal is emitted each time a #ClutterStage
15662 // has been removed from the stage manager.
15663 // <stage>: the removed stage
15664 extern (C) alias static void function (StageManager* this_, Stage* stage, void* user_data=null) signal_stage_removed;
15665 ulong signal_connect(string name:"stage-removed", CB:signal_stage_removed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15666 return signal_connect_data!()(&this, cast(char*)"stage-removed",
15667 cast(GObject2.Callback)cb, data, null, cf);
15672 // The #ClutterStageManagerClass structure contains only private data
15673 // and should be accessed using the provided API
15674 struct StageManagerClass /* Version 1.0 */ {
15675 private GObject2.ObjectClass parent_class;
15676 extern (C) void function (StageManager* stage_manager, Stage* stage) stage_added;
15677 extern (C) void function (StageManager* stage_manager, Stage* stage) stage_removed;
15680 struct StagePrivate {
15683 // Stage state masks
15684 enum StageState /* Version 0.4 */ {
15685 FULLSCREEN = 2,
15686 OFFSCREEN = 4,
15687 ACTIVATED = 8
15689 // Event signalling a change in the #ClutterStage state.
15690 struct StageStateEvent /* Version 0.2 */ {
15691 EventType type;
15692 uint time;
15693 EventFlags flags;
15694 Stage* stage;
15695 Actor* source;
15696 StageState changed_mask, new_state;
15700 // <structname>ClutterStageWindow</structname> is an opaque structure
15701 // whose members should not be accessed directly
15702 struct StageWindow /* Interface */ /* Version 0.8 */ {
15703 mixin template __interface__() { }
15704 mixin __interface__;
15707 // The interface implemented by backends for stage windows
15708 struct StageWindowIface /* Version 0.8 */ {
15709 private GObject2.TypeInterface parent_iface;
15710 // Unintrospectable functionp: get_wrapper() / ()
15711 extern (C) Actor* function (StageWindow* stage_window) get_wrapper;
15712 // Unintrospectable functionp: set_title() / ()
15713 extern (C) void function (StageWindow* stage_window, char* title) set_title;
15714 // Unintrospectable functionp: set_fullscreen() / ()
15715 extern (C) void function (StageWindow* stage_window, int is_fullscreen) set_fullscreen;
15716 // Unintrospectable functionp: set_cursor_visible() / ()
15717 extern (C) void function (StageWindow* stage_window, int cursor_visible) set_cursor_visible;
15718 // Unintrospectable functionp: set_user_resizable() / ()
15719 extern (C) void function (StageWindow* stage_window, int is_resizable) set_user_resizable;
15720 // Unintrospectable functionp: realize() / ()
15721 extern (C) int function (StageWindow* stage_window) realize;
15722 // Unintrospectable functionp: unrealize() / ()
15723 extern (C) void function (StageWindow* stage_window) unrealize;
15724 // Unintrospectable functionp: show() / ()
15725 extern (C) void function (StageWindow* stage_window, int do_raise) show;
15726 // Unintrospectable functionp: hide() / ()
15727 extern (C) void function (StageWindow* stage_window) hide;
15728 // Unintrospectable functionp: resize() / ()
15729 extern (C) void function (StageWindow* stage_window, int width, int height) resize;
15730 // Unintrospectable functionp: get_geometry() / ()
15731 extern (C) void function (StageWindow* stage_window, Geometry* geometry) get_geometry;
15732 // Unintrospectable functionp: get_pending_swaps() / ()
15733 extern (C) int function (StageWindow* stage_window) get_pending_swaps;
15734 // Unintrospectable functionp: add_redraw_clip() / ()
15735 extern (C) void function (StageWindow* stage_window, Geometry* stage_rectangle) add_redraw_clip;
15736 // Unintrospectable functionp: has_redraw_clips() / ()
15737 extern (C) int function (StageWindow* stage_window) has_redraw_clips;
15738 // Unintrospectable functionp: ignoring_redraw_clips() / ()
15739 extern (C) int function (StageWindow* stage_window) ignoring_redraw_clips;
15740 // Unintrospectable functionp: get_redraw_clip_bounds() / ()
15741 extern (C) int function (StageWindow* stage_window, cairo.RectangleInt* clip) get_redraw_clip_bounds;
15742 // Unintrospectable functionp: set_accept_focus() / ()
15743 extern (C) void function (StageWindow* stage_window, int accept_focus) set_accept_focus;
15744 // Unintrospectable functionp: redraw() / ()
15745 extern (C) void function (StageWindow* stage_window) redraw;
15746 // Unintrospectable functionp: get_active_framebuffer() / ()
15747 extern (C) Cogl.Framebuffer* function (StageWindow* stage_window) get_active_framebuffer;
15750 enum int Standby = 269025040;
15751 enum int Start = 269025050;
15753 // The <structname>ClutterState</structname> structure contains only
15754 // private data and should be accessed using the provided API
15755 struct State /* : GObject.Object */ /* Version 1.4 */ {
15756 mixin Scriptable.__interface__;
15757 alias parent this;
15758 alias parent super_;
15759 alias parent object;
15760 GObject2.Object parent;
15761 private StatePrivate* priv;
15764 // Creates a new #ClutterState
15765 // RETURNS: the newly create #ClutterState instance
15766 static State* /*new*/ new_()() {
15767 return clutter_state_new();
15770 // VERSION: 1.4
15771 // Retrieves the #ClutterAnimator that is being used for transitioning
15772 // between the two states, if any has been set
15773 // RETURNS: a #ClutterAnimator instance, or %NULL
15774 // <source_state_name>: the name of a source state
15775 // <target_state_name>: the name of a target state
15776 Animator* get_animator()(char* source_state_name, char* target_state_name) {
15777 return clutter_state_get_animator(&this, source_state_name, target_state_name);
15780 // VERSION: 1.4
15781 // Queries the duration used for transitions between a source and
15782 // target state pair
15784 // The semantics for the query are the same as the semantics used for
15785 // setting the duration with clutter_state_set_duration()
15786 // RETURNS: the duration, in milliseconds
15787 // <source_state_name>: the name of the source state to get the duration of, or %NULL
15788 // <target_state_name>: the name of the source state to get the duration of, or %NULL
15789 uint get_duration()(char* source_state_name=null, char* target_state_name=null) {
15790 return clutter_state_get_duration(&this, source_state_name, target_state_name);
15793 // VERSION: 1.4
15794 // Returns a list of pointers to opaque structures with accessor functions
15795 // that describe the keys added to an animator.
15797 // newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of
15798 // the returned list are owned by the #ClutterState and should not be
15799 // modified or freed. Use g_list_free() to free the resources allocated
15800 // by the returned list when done using it
15801 // RETURNS: a
15802 // <source_state_name>: the source transition name to query, or %NULL for all source states
15803 // <target_state_name>: the target transition name to query, or %NULL for all target states
15804 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
15805 // <property_name>: the property name to search for, or %NULL for all properties.
15806 GLib2.List* /*new container*/ get_keys()(char* source_state_name=null, char* target_state_name=null, GObject2.Object* object=null, char* property_name=null) {
15807 return clutter_state_get_keys(&this, source_state_name, target_state_name, object, property_name);
15810 // VERSION: 1.4
15811 // Queries the currently set target state.
15813 // During a transition this function will return the target of the transition.
15815 // This function is useful when called from handlers of the
15816 // #ClutterState::completed signal.
15818 // is owned by the #ClutterState and should not be modified or freed
15819 // RETURNS: a string containing the target state. The returned string
15820 char* get_state()() {
15821 return clutter_state_get_state(&this);
15824 // VERSION: 1.4
15825 // Gets a list of all the state names managed by this #ClutterState.
15827 // #GList of state names. The contents of the returned #GList are owned
15828 // by the #ClutterState and should not be modified or freed. Use
15829 // g_list_free() to free the resources allocated by the returned list when
15830 // done using it
15831 // RETURNS: a newly allocated
15832 GLib2.List* /*new container*/ get_states()() {
15833 return clutter_state_get_states(&this);
15836 // VERSION: 1.4
15837 // Gets the timeline driving the #ClutterState
15839 // the state change animations. The returned timeline is owned
15840 // by the #ClutterState and it should not be unreferenced directly
15841 // RETURNS: the #ClutterTimeline that drives
15842 Timeline* get_timeline()() {
15843 return clutter_state_get_timeline(&this);
15846 // VERSION: 1.4
15847 // Removes all keys matching the search criteria passed in arguments.
15848 // <source_state_name>: the source state name to query, or %NULL for all source states
15849 // <target_state_name>: the target state name to query, or %NULL for all target states
15850 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
15851 // <property_name>: the property name to search for, or %NULL for all properties.
15852 void remove_key()(char* source_state_name=null, char* target_state_name=null, GObject2.Object* object=null, char* property_name=null) {
15853 clutter_state_remove_key(&this, source_state_name, target_state_name, object, property_name);
15856 // Unintrospectable method: set() / clutter_state_set()
15857 // VERSION: 1.4
15858 // Adds multiple keys to a named state of a #ClutterState instance, specifying
15859 // the easing mode and value a given property of an object should have at a
15860 // given progress of the animation.
15862 // The mode specified is the easing mode used when going to from the previous
15863 // key to the specified key.
15865 // For instance, the code below:
15867 // |[
15868 // clutter_state_set (state, NULL, "hover",
15869 // button, "opacity", CLUTTER_LINEAR, 255,
15870 // button, "scale-x", CLUTTER_EASE_OUT_CUBIC, 1.2,
15871 // button, "scale-y", CLUTTER_EASE_OUT_CUBIC, 1.2,
15872 // NULL);
15873 // ]|
15875 // will create a transition from any state (a @source_state_name or NULL is
15876 // treated as a wildcard) and a state named "hover"; the
15877 // <emphasis>button</emphasis> object will have the #ClutterActor:opacity
15878 // property animated to a value of 255 using %CLUTTER_LINEAR as the animation
15879 // mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties
15880 // animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation
15881 // mode. To change the state (and start the transition) you can use the
15882 // clutter_state_set_state() function:
15884 // |[
15885 // clutter_state_set_state (state, "hover");
15886 // ]|
15888 // If a given object, state_name, property tuple already exist in the
15889 // #ClutterState instance, then the mode and value will be replaced with
15890 // the new specified values.
15892 // If a property name is prefixed with "delayed::" two additional
15893 // arguments per key are expected: a value relative to the full state time
15894 // to pause before transitioning and a similar value to pause after
15895 // transitioning, e.g.:
15897 // |[
15898 // clutter_state_set (state, "hover", "toggled",
15899 // button, "delayed::scale-x", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
15900 // button, "delayed::scale-y", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
15901 // NULL);
15902 // ]|
15904 // will pause for 20% of the duration of the transition before animating,
15905 // and 20% of the duration after animating.
15906 // <source_state_name>: the name of the source state keys are being added for
15907 // <target_state_name>: the name of the target state keys are being added for
15908 // <first_object>: a #GObject
15909 // <first_property_name>: a property of @first_object to specify a key for
15910 // <first_mode>: the id of the alpha function to use
15911 /+ Not available -- variadic methods unsupported - use the C function directly.
15912 alias clutter_state_set set; // Variadic
15915 // VERSION: 1.4
15916 // Specifies a #ClutterAnimator to be used when transitioning between
15917 // the two named states.
15919 // The @animator allows specifying a transition between the state that is
15920 // more elaborate than the basic transitions allowed by the tweening of
15921 // properties defined in the #ClutterState keys.
15923 // If @animator is %NULL it will unset an existing animator.
15925 // #ClutterState will take a reference on the passed @animator, if any
15926 // <source_state_name>: the name of a source state
15927 // <target_state_name>: the name of a target state
15928 // <animator>: a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator
15929 void set_animator()(char* source_state_name, char* target_state_name, Animator* animator=null) {
15930 clutter_state_set_animator(&this, source_state_name, target_state_name, animator);
15933 // VERSION: 1.4
15934 // Sets the duration of a transition.
15936 // If both state names are %NULL the default duration for @state is set.
15938 // If only @target_state_name is specified, the passed @duration becomes
15939 // the default duration for transitions to the target state.
15941 // If both states names are specified, the passed @duration only applies
15942 // to the specified transition.
15943 // <source_state_name>: the name of the source state, or %NULL
15944 // <target_state_name>: the name of the target state, or %NULL
15945 // <duration>: the duration of the transition, in milliseconds
15946 void set_duration()(char* source_state_name, char* target_state_name, uint duration) {
15947 clutter_state_set_duration(&this, source_state_name, target_state_name, duration);
15950 // VERSION: 1.4
15951 // Sets one specific end key for a state name, @object, @property_name
15952 // combination.
15954 // chaining of multiple calls
15955 // RETURNS: the #ClutterState instance, allowing
15956 // <source_state_name>: the source transition to specify transition for, or %NULL to specify the default fallback when a more specific source state doesn't exist.
15957 // <target_state_name>: the name of the transition to set a key value for.
15958 // <object>: the #GObject to set a key for
15959 // <property_name>: the property to set a key for
15960 // <mode>: the id of the alpha function to use
15961 // <value>: the value for property_name of object in state_name
15962 // <pre_delay>: relative time of the transition to be idle in the beginning of the transition
15963 // <post_delay>: relative time of the transition to be idle in the end of the transition
15964 State* set_key()(char* source_state_name, char* target_state_name, GObject2.Object* object, char* property_name, uint mode, GObject2.Value* value, double pre_delay, double post_delay) {
15965 return clutter_state_set_key(&this, source_state_name, target_state_name, object, property_name, mode, value, pre_delay, post_delay);
15968 // VERSION: 1.4
15969 // Change the current state of #ClutterState to @target_state_name.
15971 // The state will animate during its transition, see
15972 // #clutter_state_warp_to_state for animation-free state switching.
15974 // Setting a %NULL state will stop the current animation and unset
15975 // the current state, but keys will be left intact.
15977 // state transition. The returned timeline is owned by the #ClutterState
15978 // and it should not be unreferenced
15979 // RETURNS: the #ClutterTimeline that drives the
15980 // <target_state_name>: the state to transition to
15981 Timeline* set_state()(char* target_state_name) {
15982 return clutter_state_set_state(&this, target_state_name);
15985 // VERSION: 1.4
15986 // Change to the specified target state immediately with no animation.
15988 // See clutter_state_set_state().
15990 // state transition. The returned timeline is owned by the #ClutterState
15991 // and it should not be unreferenced
15992 // RETURNS: the #ClutterTimeline that drives the
15993 // <target_state_name>: the state to transition to
15994 Timeline* warp_to_state()(char* target_state_name) {
15995 return clutter_state_warp_to_state(&this, target_state_name);
15998 // VERSION: 1.4
15999 // The ::completed signal is emitted when a #ClutterState reaches
16000 // the target state specified by clutter_state_set_state() or
16001 // clutter_state_warp_to_state().
16002 extern (C) alias static void function (State* this_, void* user_data=null) signal_completed;
16004 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
16005 return super_.signal_connect!name(cb, data, cf);
16008 ulong signal_connect(string name:"completed", CB:signal_completed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
16009 return signal_connect_data!()(&this, cast(char*)"completed",
16010 cast(GObject2.Callback)cb, data, null, cf);
16015 // The <structname>ClutterStateClass</structname> structure contains
16016 // only private data
16017 struct StateClass /* Version 1.4 */ {
16018 private GObject2.ObjectClass parent_class;
16019 extern (C) void function (State* state) completed;
16020 private void*[8] _padding_dummy;
16024 // <structname>ClutterStateKey</structname> is an opaque structure whose
16025 // members cannot be accessed directly
16026 struct StateKey /* Version 1.4 */ {
16028 // VERSION: 1.4
16029 // Retrieves the easing mode used for @state_key.
16030 // RETURNS: the mode of a #ClutterStateKey
16031 c_ulong get_mode()() {
16032 return clutter_state_key_get_mode(&this);
16035 // VERSION: 1.4
16036 // Retrieves the object instance this #ClutterStateKey applies to.
16037 // RETURNS: the object this state key applies to.
16038 GObject2.Object* get_object()() {
16039 return clutter_state_key_get_object(&this);
16042 // VERSION: 1.4
16043 // Retrieves the duration of the pause after transitioning is complete
16044 // as a fraction of the total transition time.
16045 // RETURNS: the post delay, used after doing the transition.
16046 double get_post_delay()() {
16047 return clutter_state_key_get_post_delay(&this);
16050 // VERSION: 1.4
16051 // Retrieves the pause before transitioning starts as a fraction of
16052 // the total transition time.
16053 // RETURNS: the pre delay used before starting the transition.
16054 double get_pre_delay()() {
16055 return clutter_state_key_get_pre_delay(&this);
16058 // VERSION: 1.4
16059 // Retrieves the name of the property this #ClutterStateKey applies to
16061 // by the #ClutterStateKey and should never be modified or freed
16062 // RETURNS: the name of the property. The returned string is owned
16063 char* get_property_name()() {
16064 return clutter_state_key_get_property_name(&this);
16067 // VERSION: 1.4
16068 // Retrieves the #GType of the property a key applies to
16070 // You can use this type to initialize the #GValue to pass to
16071 // clutter_state_key_get_value()
16072 // RETURNS: the #GType of the property
16073 Type get_property_type()() {
16074 return clutter_state_key_get_property_type(&this);
16077 // VERSION: 1.4
16078 // Retrieves the name of the source state of the @state_key
16080 // if this is the generic state key for the given property when
16081 // transitioning to the target state. The returned string is owned
16082 // by the #ClutterStateKey and should never be modified or freed
16083 // RETURNS: the name of the source state for this key, or %NULL
16084 char* get_source_state_name()() {
16085 return clutter_state_key_get_source_state_name(&this);
16088 // VERSION: 1.4
16089 // Get the name of the source state this #ClutterStateKey contains,
16090 // or NULL if this is the generic state key for the given property
16091 // when transitioning to the target state.
16093 // the key is generic
16094 // RETURNS: the name of the source state for this key, or NULL if
16095 char* get_target_state_name()() {
16096 return clutter_state_key_get_target_state_name(&this);
16099 // VERSION: 1.4
16100 // Retrieves a copy of the value for a #ClutterStateKey.
16102 // The #GValue needs to be already initialized for the value type
16103 // of the property or to a type that allow transformation from the value
16104 // type of the key.
16106 // Use g_value_unset() when done.
16108 // and %FALSE otherwise
16109 // RETURNS: %TRUE if the value was successfully retrieved,
16110 // <value>: a #GValue initialized with the correct type for the @state_key
16111 int get_value()(GObject2.Value* value) {
16112 return clutter_state_key_get_value(&this, value);
16116 struct StatePrivate {
16119 // Named colors, for accessing global colors defined by Clutter
16120 enum StaticColor /* Version 1.6 */ {
16121 WHITE = 0,
16122 BLACK = 1,
16123 RED = 2,
16124 DARK_RED = 3,
16125 GREEN = 4,
16126 DARK_GREEN = 5,
16127 BLUE = 6,
16128 DARK_BLUE = 7,
16129 CYAN = 8,
16130 DARK_CYAN = 9,
16131 MAGENTA = 10,
16132 DARK_MAGENTA = 11,
16133 YELLOW = 12,
16134 DARK_YELLOW = 13,
16135 GRAY = 14,
16136 DARK_GRAY = 15,
16137 LIGHT_GRAY = 16,
16138 BUTTER = 17,
16139 BUTTER_LIGHT = 18,
16140 BUTTER_DARK = 19,
16141 ORANGE = 20,
16142 ORANGE_LIGHT = 21,
16143 ORANGE_DARK = 22,
16144 CHOCOLATE = 23,
16145 CHOCOLATE_LIGHT = 24,
16146 CHOCOLATE_DARK = 25,
16147 CHAMELEON = 26,
16148 CHAMELEON_LIGHT = 27,
16149 CHAMELEON_DARK = 28,
16150 SKY_BLUE = 29,
16151 SKY_BLUE_LIGHT = 30,
16152 SKY_BLUE_DARK = 31,
16153 PLUM = 32,
16154 PLUM_LIGHT = 33,
16155 PLUM_DARK = 34,
16156 SCARLET_RED = 35,
16157 SCARLET_RED_LIGHT = 36,
16158 SCARLET_RED_DARK = 37,
16159 ALUMINIUM_1 = 38,
16160 ALUMINIUM_2 = 39,
16161 ALUMINIUM_3 = 40,
16162 ALUMINIUM_4 = 41,
16163 ALUMINIUM_5 = 42,
16164 ALUMINIUM_6 = 43,
16165 TRANSPARENT = 44
16167 enum int StickyKeys_Enable = 65141;
16168 enum int Stop = 269025064;
16169 enum int Subtitle = 269025178;
16170 enum int Super_L = 65515;
16171 enum int Super_R = 65516;
16172 enum int Support = 269025150;
16173 enum int Suspend = 269025191;
16175 // The <structname>ClutterSwipeAction</structname> structure contains
16176 // only private data and should be accessed using the provided API
16177 struct SwipeAction /* : GestureAction */ /* Version 1.8 */ {
16178 alias parent_instance this;
16179 alias parent_instance super_;
16180 alias parent_instance gestureaction;
16181 GestureAction parent_instance;
16182 private SwipeActionPrivate* priv;
16185 // VERSION: 1.8
16186 // Creates a new #ClutterSwipeAction instance
16187 // RETURNS: the newly created #ClutterSwipeAction
16188 static SwipeAction* new_()() {
16189 return clutter_swipe_action_new();
16192 // VERSION: 1.8
16193 // The ::swept signal is emitted when a swipe gesture is recognized on the
16194 // attached actor.
16195 // <actor>: the #ClutterActor attached to the @action
16196 // <direction>: the main direction of the swipe gesture
16197 extern (C) alias static void function (SwipeAction* this_, Actor* actor, SwipeDirection* direction, void* user_data=null) signal_swept;
16199 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
16200 return super_.signal_connect!name(cb, data, cf);
16203 ulong signal_connect(string name:"swept", CB:signal_swept)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
16204 return signal_connect_data!()(&this, cast(char*)"swept",
16205 cast(GObject2.Callback)cb, data, null, cf);
16210 // The <structname>ClutterSwipeActionClass</structname> structure contains
16211 // only private data.
16212 struct SwipeActionClass /* Version 1.8 */ {
16213 private GestureActionClass parent_class;
16214 extern (C) void function (SwipeAction* action, Actor* actor, SwipeDirection direction) swept;
16215 extern (C) void function () _clutter_swipe_action1;
16216 extern (C) void function () _clutter_swipe_action2;
16217 extern (C) void function () _clutter_swipe_action3;
16218 extern (C) void function () _clutter_swipe_action4;
16219 extern (C) void function () _clutter_swipe_action5;
16220 extern (C) void function () _clutter_swipe_action6;
16221 extern (C) void function () _clutter_swipe_action7;
16224 struct SwipeActionPrivate {
16227 // The main direction of the swipe gesture
16228 enum SwipeDirection /* Version 1.8 */ {
16229 UP = 1,
16230 DOWN = 2,
16231 LEFT = 4,
16232 RIGHT = 8
16234 enum int Switch_VT_1 = 269024769;
16235 enum int Switch_VT_10 = 269024778;
16236 enum int Switch_VT_11 = 269024779;
16237 enum int Switch_VT_12 = 269024780;
16238 enum int Switch_VT_2 = 269024770;
16239 enum int Switch_VT_3 = 269024771;
16240 enum int Switch_VT_4 = 269024772;
16241 enum int Switch_VT_5 = 269024773;
16242 enum int Switch_VT_6 = 269024774;
16243 enum int Switch_VT_7 = 269024775;
16244 enum int Switch_VT_8 = 269024776;
16245 enum int Switch_VT_9 = 269024777;
16246 enum int Sys_Req = 65301;
16247 enum int T = 84;
16248 enum int THORN = 222;
16249 enum int Tab = 65289;
16250 // The alignment policies available on each axis of the #ClutterTableLayout
16251 enum TableAlignment /* Version 1.4 */ {
16252 START = 0,
16253 CENTER = 1,
16254 END = 2
16257 // The #ClutterTableLayout structure contains only private data
16258 // and should be accessed using the provided API
16259 struct TableLayout /* : LayoutManager */ /* Version 1.4 */ {
16260 alias parent_instance this;
16261 alias parent_instance super_;
16262 alias parent_instance layoutmanager;
16263 LayoutManager parent_instance;
16264 private TableLayoutPrivate* priv;
16267 // VERSION: 1.4
16268 // Creates a new #ClutterTableLayout layout manager
16269 // RETURNS: the newly created #ClutterTableLayout
16270 static TableLayout* new_()() {
16271 return clutter_table_layout_new();
16274 // VERSION: 1.4
16275 // Retrieves the horizontal and vertical alignment policies for @actor
16276 // as set using clutter_table_layout_pack() or
16277 // clutter_table_layout_set_alignment().
16278 // <actor>: a #ClutterActor child of @layout
16279 // <x_align>: return location for the horizontal alignment policy
16280 // <y_align>: return location for the vertical alignment policy
16281 void get_alignment()(Actor* actor, /*out*/ TableAlignment* x_align, /*out*/ TableAlignment* y_align) {
16282 clutter_table_layout_get_alignment(&this, actor, x_align, y_align);
16285 // VERSION: 1.4
16286 // Retrieve the current number of columns in @layout
16287 // RETURNS: the number of columns
16288 int get_column_count()() {
16289 return clutter_table_layout_get_column_count(&this);
16292 // VERSION: 1.4
16293 // Retrieves the spacing set using clutter_table_layout_set_column_spacing()
16294 // RETURNS: the spacing between columns of the #ClutterTableLayout
16295 uint get_column_spacing()() {
16296 return clutter_table_layout_get_column_spacing(&this);
16299 // VERSION: 1.4
16300 // Retrieves the duration set using clutter_table_layout_set_easing_duration()
16301 // RETURNS: the duration of the animations, in milliseconds
16302 uint get_easing_duration()() {
16303 return clutter_table_layout_get_easing_duration(&this);
16306 // VERSION: 1.4
16307 // Retrieves the easing mode set using clutter_table_layout_set_easing_mode()
16308 // RETURNS: an easing mode
16309 c_ulong get_easing_mode()() {
16310 return clutter_table_layout_get_easing_mode(&this);
16313 // VERSION: 1.4
16314 // Retrieves the horizontal and vertical expand policies for @actor
16315 // as set using clutter_table_layout_pack() or clutter_table_layout_set_expand()
16316 // <actor>: a #ClutterActor child of @layout
16317 // <x_expand>: return location for the horizontal expand policy
16318 // <y_expand>: return location for the vertical expand policy
16319 void get_expand()(Actor* actor, /*out*/ int* x_expand, /*out*/ int* y_expand) {
16320 clutter_table_layout_get_expand(&this, actor, x_expand, y_expand);
16323 // VERSION: 1.4
16324 // Retrieves the horizontal and vertical fill policies for @actor
16325 // as set using clutter_table_layout_pack() or clutter_table_layout_set_fill()
16326 // <actor>: a #ClutterActor child of @layout
16327 // <x_fill>: return location for the horizontal fill policy
16328 // <y_fill>: return location for the vertical fill policy
16329 void get_fill()(Actor* actor, /*out*/ int* x_fill, /*out*/ int* y_fill) {
16330 clutter_table_layout_get_fill(&this, actor, x_fill, y_fill);
16333 // VERSION: 1.4
16334 // Retrieve the current number rows in the @layout
16335 // RETURNS: the number of rows
16336 int get_row_count()() {
16337 return clutter_table_layout_get_row_count(&this);
16340 // VERSION: 1.4
16341 // Retrieves the spacing set using clutter_table_layout_set_row_spacing()
16342 // RETURNS: the spacing between rows of the #ClutterTableLayout
16343 uint get_row_spacing()() {
16344 return clutter_table_layout_get_row_spacing(&this);
16347 // VERSION: 1.4
16348 // Retrieves the row and column span for @actor as set using
16349 // clutter_table_layout_pack() or clutter_table_layout_set_span()
16350 // <actor>: a #ClutterActor child of @layout
16351 // <column_span>: return location for the col span
16352 // <row_span>: return location for the row span
16353 void get_span()(Actor* actor, /*out*/ int* column_span, /*out*/ int* row_span) {
16354 clutter_table_layout_get_span(&this, actor, column_span, row_span);
16357 // VERSION: 1.4
16358 // Retrieves whether @layout should animate changes in the layout properties
16360 // Since clutter_table_layout_set_use_animations()
16361 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
16362 int get_use_animations()() {
16363 return clutter_table_layout_get_use_animations(&this);
16366 // VERSION: 1.4
16367 // Packs @actor inside the #ClutterContainer associated to @layout
16368 // at the given row and column.
16369 // <actor>: a #ClutterActor
16370 // <column>: the column the @actor should be put, or -1 to append
16371 // <row>: the row the @actor should be put, or -1 to append
16372 void pack()(Actor* actor, int column, int row) {
16373 clutter_table_layout_pack(&this, actor, column, row);
16376 // VERSION: 1.4
16377 // Sets the horizontal and vertical alignment policies for @actor
16378 // inside @layout
16379 // <actor>: a #ClutterActor child of @layout
16380 // <x_align>: Horizontal alignment policy for @actor
16381 // <y_align>: Vertical alignment policy for @actor
16382 void set_alignment()(Actor* actor, TableAlignment x_align, TableAlignment y_align) {
16383 clutter_table_layout_set_alignment(&this, actor, x_align, y_align);
16386 // VERSION: 1.4
16387 // Sets the spacing between columns of @layout
16388 // <spacing>: the spacing between columns of the layout, in pixels
16389 void set_column_spacing()(uint spacing) {
16390 clutter_table_layout_set_column_spacing(&this, spacing);
16393 // VERSION: 1.4
16394 // Sets the duration of the animations used by @layout when animating changes
16395 // in the layout properties
16397 // Use clutter_table_layout_set_use_animations() to enable and disable the
16398 // animations
16399 // <msecs>: the duration of the animations, in milliseconds
16400 void set_easing_duration()(uint msecs) {
16401 clutter_table_layout_set_easing_duration(&this, msecs);
16404 // VERSION: 1.4
16405 // Sets the easing mode to be used by @layout when animating changes in layout
16406 // properties
16408 // Use clutter_table_layout_set_use_animations() to enable and disable the
16409 // animations
16410 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
16411 void set_easing_mode()(c_ulong mode) {
16412 clutter_table_layout_set_easing_mode(&this, mode);
16415 // VERSION: 1.4
16416 // Sets the horizontal and vertical expand policies for @actor
16417 // inside @layout
16418 // <actor>: a #ClutterActor child of @layout
16419 // <x_expand>: whether @actor should allocate extra space horizontally
16420 // <y_expand>: whether @actor should allocate extra space vertically
16421 void set_expand()(Actor* actor, int x_expand, int y_expand) {
16422 clutter_table_layout_set_expand(&this, actor, x_expand, y_expand);
16425 // VERSION: 1.4
16426 // Sets the horizontal and vertical fill policies for @actor
16427 // inside @layout
16428 // <actor>: a #ClutterActor child of @layout
16429 // <x_fill>: whether @actor should fill horizontally the allocated space
16430 // <y_fill>: whether @actor should fill vertically the allocated space
16431 void set_fill()(Actor* actor, int x_fill, int y_fill) {
16432 clutter_table_layout_set_fill(&this, actor, x_fill, y_fill);
16435 // VERSION: 1.4
16436 // Sets the spacing between rows of @layout
16437 // <spacing>: the spacing between rows of the layout, in pixels
16438 void set_row_spacing()(uint spacing) {
16439 clutter_table_layout_set_row_spacing(&this, spacing);
16442 // VERSION: 1.4
16443 // Sets the row and column span for @actor
16444 // inside @layout
16445 // <actor>: a #ClutterActor child of @layout
16446 // <column_span>: Column span for @actor
16447 // <row_span>: Row span for @actor
16448 void set_span()(Actor* actor, int column_span, int row_span) {
16449 clutter_table_layout_set_span(&this, actor, column_span, row_span);
16452 // VERSION: 1.4
16453 // Sets whether @layout should animate changes in the layout properties
16455 // The duration of the animations is controlled by
16456 // clutter_table_layout_set_easing_duration(); the easing mode to be used
16457 // by the animations is controlled by clutter_table_layout_set_easing_mode()
16458 // <animate>: %TRUE if the @layout should use animations
16459 void set_use_animations()(int animate) {
16460 clutter_table_layout_set_use_animations(&this, animate);
16465 // The #ClutterTableLayoutClass structure contains only private
16466 // data and should be accessed using the provided API
16467 struct TableLayoutClass /* Version 1.4 */ {
16468 private LayoutManagerClass parent_class;
16471 struct TableLayoutPrivate {
16474 enum int Tabovedot = 16785002;
16475 enum int TaskPane = 269025151;
16476 enum int Tcaron = 427;
16477 enum int Tcedilla = 478;
16478 enum int Terminal = 269025152;
16479 enum int Terminate_Server = 65237;
16480 // The #ClutterText struct contains only private data.
16481 struct Text /* : Actor */ /* Version 1.0 */ {
16482 mixin Atk.ImplementorIface.__interface__;
16483 mixin Animatable.__interface__;
16484 mixin Scriptable.__interface__;
16485 alias parent_instance this;
16486 alias parent_instance super_;
16487 alias parent_instance actor;
16488 Actor parent_instance;
16489 private TextPrivate* priv;
16492 // VERSION: 1.0
16493 // Creates a new #ClutterText actor. This actor can be used to
16494 // display and edit text.
16495 // RETURNS: the newly created #ClutterText actor
16496 static Text* new_()() {
16497 return clutter_text_new();
16500 // VERSION: 1.0
16501 // Creates a new #ClutterText actor, using @font_name as the font
16502 // description; @text will be used to set the contents of the actor;
16503 // and @color will be used as the color to render @text.
16505 // This function is equivalent to calling clutter_text_new(),
16506 // clutter_text_set_font_name(), clutter_text_set_text() and
16507 // clutter_text_set_color().
16508 // RETURNS: the newly created #ClutterText actor
16509 // <font_name>: a string with a font description
16510 // <text>: the contents of the actor
16511 // <color>: the color to be used to render @text
16512 static Text* new_full()(char* font_name, char* text, Color* color) {
16513 return clutter_text_new_full(font_name, text, color);
16516 // VERSION: 1.0
16517 // Creates a new #ClutterText actor, using @font_name as the font
16518 // description; @text will be used to set the contents of the actor.
16520 // This function is equivalent to calling clutter_text_new(),
16521 // clutter_text_set_font_name(), and clutter_text_set_text().
16522 // RETURNS: the newly created #ClutterText actor
16523 // <font_name>: a string with a font description
16524 // <text>: the contents of the actor
16525 static Text* new_with_text()(char* font_name, char* text) {
16526 return clutter_text_new_with_text(font_name, text);
16529 // VERSION: 1.0
16530 // Emits the #ClutterText::activate signal, if @self has been set
16531 // as activatable using clutter_text_set_activatable().
16533 // This function can be used to emit the ::activate signal inside
16534 // a #ClutterActor::captured-event or #ClutterActor::key-press-event
16535 // signal handlers before the default signal handler for the
16536 // #ClutterText is invoked.
16538 // and %FALSE otherwise
16539 // RETURNS: %TRUE if the ::activate signal has been emitted,
16540 int activate()() {
16541 return clutter_text_activate(&this);
16544 // VERSION: 1.0
16545 // Deletes @n_chars inside a #ClutterText actor, starting from the
16546 // current cursor position.
16547 // <n_chars>: the number of characters to delete
16548 void delete_chars()(uint n_chars) {
16549 clutter_text_delete_chars(&this, n_chars);
16552 // VERSION: 1.0
16553 // Deletes the currently selected text
16555 // This function is only useful in subclasses of #ClutterText
16557 // is empty, and %FALSE otherwise
16558 // RETURNS: %TRUE if text was deleted or if the text actor
16559 int delete_selection()() {
16560 return clutter_text_delete_selection(&this);
16563 // VERSION: 1.0
16564 // Deletes the text inside a #ClutterText actor between @start_pos
16565 // and @end_pos.
16567 // The starting and ending positions are expressed in characters,
16568 // not in bytes.
16569 // <start_pos>: starting position
16570 // <end_pos>: ending position
16571 void delete_text()(ssize_t start_pos, ssize_t end_pos) {
16572 clutter_text_delete_text(&this, start_pos, end_pos);
16575 // VERSION: 1.0
16576 // Retrieves whether a #ClutterText is activatable or not.
16577 // RETURNS: %TRUE if the actor is activatable
16578 int get_activatable()() {
16579 return clutter_text_get_activatable(&this);
16582 // VERSION: 1.0
16583 // Gets the attribute list that was set on the #ClutterText actor
16584 // clutter_text_set_attributes(), if any.
16586 // returned value is owned by the #ClutterText and should not be unreferenced.
16587 // RETURNS: the attribute list, or %NULL if none was set. The
16588 Pango.AttrList* get_attributes()() {
16589 return clutter_text_get_attributes(&this);
16592 // VERSION: 1.0
16593 // Retrieves the contents of the #ClutterText actor between
16594 // @start_pos and @end_pos, but not including @end_pos.
16596 // The positions are specified in characters, not in bytes.
16598 // the text actor between the specified positions. Use g_free()
16599 // to free the resources when done
16600 // RETURNS: a newly allocated string with the contents of
16601 // <start_pos>: start of text, in characters
16602 // <end_pos>: end of text, in characters
16603 char* /*new*/ get_chars()(ssize_t start_pos, ssize_t end_pos) {
16604 return clutter_text_get_chars(&this, start_pos, end_pos);
16607 // VERSION: 1.0
16608 // Retrieves the text color as set by clutter_text_set_color().
16609 // <color>: return location for a #ClutterColor
16610 void get_color()(/*out*/ Color* color) {
16611 clutter_text_get_color(&this, color);
16614 // VERSION: 1.0
16615 // Retrieves the color of the cursor of a #ClutterText actor.
16616 // <color>: return location for a #ClutterColor
16617 void get_cursor_color()(/*out*/ Color* color) {
16618 clutter_text_get_cursor_color(&this, color);
16621 // VERSION: 1.0
16622 // Retrieves the cursor position.
16623 // RETURNS: the cursor position, in characters
16624 int get_cursor_position()() {
16625 return clutter_text_get_cursor_position(&this);
16628 // VERSION: 1.0
16629 // Retrieves the size of the cursor of a #ClutterText actor.
16630 // RETURNS: the size of the cursor, in pixels
16631 uint get_cursor_size()() {
16632 return clutter_text_get_cursor_size(&this);
16635 // VERSION: 1.0
16636 // Retrieves whether the cursor of a #ClutterText actor is visible.
16637 // RETURNS: %TRUE if the cursor is visible
16638 int get_cursor_visible()() {
16639 return clutter_text_get_cursor_visible(&this);
16642 // VERSION: 1.0
16643 // Retrieves whether a #ClutterText is editable or not.
16644 // RETURNS: %TRUE if the actor is editable
16645 int get_editable()() {
16646 return clutter_text_get_editable(&this);
16649 // VERSION: 1.0
16650 // Returns the ellipsizing position of a #ClutterText actor, as
16651 // set by clutter_text_set_ellipsize().
16652 // RETURNS: #PangoEllipsizeMode
16653 Pango.EllipsizeMode get_ellipsize()() {
16654 return clutter_text_get_ellipsize(&this);
16657 // VERSION: 1.2
16658 // Retrieves the #PangoFontDescription used by @self
16660 // by the #ClutterText actor and it should not be modified or freed
16661 // RETURNS: a #PangoFontDescription. The returned value is owned
16662 Pango.FontDescription* /*new*/ get_font_description()() {
16663 return clutter_text_get_font_description(&this);
16666 // VERSION: 1.0
16667 // Retrieves the font name as set by clutter_text_set_font_name().
16669 // string is owned by the #ClutterText actor and should not be
16670 // modified or freed
16671 // RETURNS: a string containing the font name. The returned
16672 char* get_font_name()() {
16673 return clutter_text_get_font_name(&this);
16676 // VERSION: 0.6
16677 // Retrieves whether the #ClutterText actor should justify its contents
16678 // on both margins.
16679 // RETURNS: %TRUE if the text should be justified
16680 int get_justify()() {
16681 return clutter_text_get_justify(&this);
16684 // VERSION: 1.0
16685 // Retrieves the current #PangoLayout used by a #ClutterText actor.
16687 // the #ClutterText actor and should not be modified or freed
16688 // RETURNS: a #PangoLayout. The returned object is owned by
16689 Pango.Layout* get_layout()() {
16690 return clutter_text_get_layout(&this);
16693 // VERSION: 1.7
16694 // Obtains the coordinates where the #ClutterText will draw the #PangoLayout
16695 // representing the text.
16696 // <x>: location to store X offset of layout, or %NULL
16697 // <y>: location to store Y offset of layout, or %NULL
16698 void get_layout_offsets()(/*out*/ int* x, /*out*/ int* y) {
16699 clutter_text_get_layout_offsets(&this, x, y);
16702 // VERSION: 1.0
16703 // Retrieves the alignment of a #ClutterText, as set by
16704 // clutter_text_set_line_alignment().
16705 // RETURNS: a #PangoAlignment
16706 Pango.Alignment get_line_alignment()() {
16707 return clutter_text_get_line_alignment(&this);
16710 // VERSION: 1.0
16711 // Retrieves the value set using clutter_text_set_line_wrap().
16713 // its contents
16714 // RETURNS: %TRUE if the #ClutterText actor should wrap
16715 int get_line_wrap()() {
16716 return clutter_text_get_line_wrap(&this);
16719 // VERSION: 1.0
16720 // Retrieves the line wrap mode used by the #ClutterText actor.
16722 // See clutter_text_set_line_wrap_mode ().
16723 // RETURNS: the wrap mode used by the #ClutterText
16724 Pango.WrapMode get_line_wrap_mode()() {
16725 return clutter_text_get_line_wrap_mode(&this);
16728 // VERSION: 1.0
16729 // Gets the maximum length of text that can be set into a text actor.
16731 // See clutter_text_set_max_length().
16732 // RETURNS: the maximum number of characters.
16733 int get_max_length()() {
16734 return clutter_text_get_max_length(&this);
16737 // VERSION: 1.0
16738 // Retrieves the character to use in place of the actual text
16739 // as set by clutter_text_set_password_char().
16741 // character is not set
16742 // RETURNS: a Unicode character or 0 if the password
16743 dchar get_password_char()() {
16744 return clutter_text_get_password_char(&this);
16747 // VERSION: 1.0
16748 // Retrieves whether a #ClutterText is selectable or not.
16749 // RETURNS: %TRUE if the actor is selectable
16750 int get_selectable()() {
16751 return clutter_text_get_selectable(&this);
16754 // VERSION: 1.8
16755 // Retrieves the color of selected text of a #ClutterText actor.
16756 // <color>: return location for a #ClutterColor
16757 void get_selected_text_color()(/*out*/ Color* color) {
16758 clutter_text_get_selected_text_color(&this, color);
16761 // VERSION: 1.0
16762 // Retrieves the currently selected text.
16764 // selected text, or %NULL. Use g_free() to free the returned
16765 // string.
16766 // RETURNS: a newly allocated string containing the currently
16767 char* /*new*/ get_selection()() {
16768 return clutter_text_get_selection(&this);
16771 // VERSION: 1.0
16772 // Retrieves the other end of the selection of a #ClutterText actor,
16773 // in characters from the current cursor position.
16774 // RETURNS: the position of the other end of the selection
16775 int get_selection_bound()() {
16776 return clutter_text_get_selection_bound(&this);
16779 // VERSION: 1.0
16780 // Retrieves the color of the selection of a #ClutterText actor.
16781 // <color>: return location for a #ClutterColor
16782 void get_selection_color()(/*out*/ Color* color) {
16783 clutter_text_get_selection_color(&this, color);
16786 // VERSION: 1.0
16787 // Retrieves whether the #ClutterText actor is in single line mode.
16788 // RETURNS: %TRUE if the #ClutterText actor is in single line mode
16789 int get_single_line_mode()() {
16790 return clutter_text_get_single_line_mode(&this);
16793 // VERSION: 1.0
16794 // Retrieves a pointer to the current contents of a #ClutterText
16795 // actor.
16797 // If you need a copy of the contents for manipulating, either
16798 // use g_strdup() on the returned string, or use:
16800 // |[
16801 // copy = clutter_text_get_chars (text, 0, -1);
16802 // ]|
16804 // Which will return a newly allocated string.
16806 // If the #ClutterText actor is empty, this function will return
16807 // an empty string, and not %NULL.
16809 // string is owned by the #ClutterText actor and should never be modified
16810 // or freed
16811 // RETURNS: the contents of the actor. The returned
16812 char* get_text()() {
16813 return clutter_text_get_text(&this);
16816 // VERSION: 1.0
16817 // Retrieves whether the contents of the #ClutterText actor should be
16818 // parsed for the Pango text markup.
16819 // RETURNS: %TRUE if the contents will be parsed for markup
16820 int get_use_markup()() {
16821 return clutter_text_get_use_markup(&this);
16824 // VERSION: 1.0
16825 // Inserts @text into a #ClutterActor at the given position.
16827 // If @position is a negative number, the text will be appended
16828 // at the end of the current contents of the #ClutterText.
16830 // The position is expressed in characters, not in bytes.
16831 // <text>: the text to be inserted
16832 // <position>: the position of the insertion, or -1
16833 void insert_text()(char* text, ssize_t position) {
16834 clutter_text_insert_text(&this, text, position);
16837 // VERSION: 1.0
16838 // Inserts @wc at the current cursor position of a
16839 // #ClutterText actor.
16840 // <wc>: a Unicode character
16841 void insert_unichar()(dchar wc) {
16842 clutter_text_insert_unichar(&this, wc);
16845 // VERSION: 1.0
16846 // Retrieves the coordinates of the given @position.
16847 // RETURNS: %TRUE if the conversion was successful
16848 // <position>: position in characters
16849 // <x>: return location for the X coordinate, or %NULL
16850 // <y>: return location for the Y coordinate, or %NULL
16851 // <line_height>: return location for the line height, or %NULL
16852 int position_to_coords()(int position, /*out*/ float* x, /*out*/ float* y, /*out*/ float* line_height) {
16853 return clutter_text_position_to_coords(&this, position, x, y, line_height);
16856 // VERSION: 1.0
16857 // Sets whether a #ClutterText actor should be activatable.
16859 // An activatable #ClutterText actor will emit the #ClutterText::activate
16860 // signal whenever the 'Enter' (or 'Return') key is pressed; if it is not
16861 // activatable, a new line will be appended to the current content.
16863 // An activatable #ClutterText must also be set as editable using
16864 // clutter_text_set_editable().
16865 // <activatable>: whether the #ClutterText actor should be activatable
16866 void set_activatable()(int activatable) {
16867 clutter_text_set_activatable(&this, activatable);
16870 // VERSION: 1.0
16871 // Sets the attributes list that are going to be applied to the
16872 // #ClutterText contents.
16874 // The #ClutterText actor will take a reference on the #PangoAttrList
16875 // passed to this function.
16876 // <attrs>: a #PangoAttrList or %NULL to unset the attributes
16877 void set_attributes()(Pango.AttrList* attrs) {
16878 clutter_text_set_attributes(&this, attrs);
16881 // VERSION: 1.0
16882 // Sets the color of the contents of a #ClutterText actor.
16884 // The overall opacity of the #ClutterText actor will be the
16885 // result of the alpha value of @color and the composited
16886 // opacity of the actor itself on the scenegraph, as returned
16887 // by clutter_actor_get_paint_opacity().
16888 // <color>: a #ClutterColor
16889 void set_color()(Color* color) {
16890 clutter_text_set_color(&this, color);
16893 // VERSION: 1.0
16894 // Sets the color of the cursor of a #ClutterText actor.
16896 // If @color is %NULL, the cursor color will be the same as the
16897 // text color.
16898 // <color>: the color of the cursor, or %NULL to unset it
16899 void set_cursor_color()(Color* color) {
16900 clutter_text_set_cursor_color(&this, color);
16903 // VERSION: 1.0
16904 // Sets the cursor of a #ClutterText actor at @position.
16906 // The position is expressed in characters, not in bytes.
16907 // <position>: the new cursor position, in characters
16908 void set_cursor_position()(int position) {
16909 clutter_text_set_cursor_position(&this, position);
16912 // VERSION: 1.0
16913 // Sets the size of the cursor of a #ClutterText. The cursor
16914 // will only be visible if the #ClutterText:cursor-visible property
16915 // is set to %TRUE.
16916 // <size>: the size of the cursor, in pixels, or -1 to use the default value
16917 void set_cursor_size()(int size) {
16918 clutter_text_set_cursor_size(&this, size);
16921 // VERSION: 1.0
16922 // Sets whether the cursor of a #ClutterText actor should be
16923 // visible or not.
16925 // The color of the cursor will be the same as the text color
16926 // unless clutter_text_set_cursor_color() has been called.
16928 // The size of the cursor can be set using clutter_text_set_cursor_size().
16930 // The position of the cursor can be changed programmatically using
16931 // clutter_text_set_cursor_position().
16932 // <cursor_visible>: whether the cursor should be visible
16933 void set_cursor_visible()(int cursor_visible) {
16934 clutter_text_set_cursor_visible(&this, cursor_visible);
16937 // VERSION: 1.0
16938 // Sets whether the #ClutterText actor should be editable.
16940 // An editable #ClutterText with key focus set using
16941 // clutter_actor_grab_key_focus() or clutter_stage_set_key_focus()
16942 // will receive key events and will update its contents accordingly.
16943 // <editable>: whether the #ClutterText should be editable
16944 void set_editable()(int editable) {
16945 clutter_text_set_editable(&this, editable);
16948 // VERSION: 1.0
16949 // Sets the mode used to ellipsize (add an ellipsis: "...") to the
16950 // text if there is not enough space to render the entire contents
16951 // of a #ClutterText actor
16952 // <mode>: a #PangoEllipsizeMode
16953 void set_ellipsize()(Pango.EllipsizeMode mode) {
16954 clutter_text_set_ellipsize(&this, mode);
16957 // VERSION: 1.2
16958 // Sets @font_desc as the font description for a #ClutterText
16960 // The #PangoFontDescription is copied by the #ClutterText actor
16961 // so you can safely call pango_font_description_free() on it after
16962 // calling this function.
16963 // <font_desc>: a #PangoFontDescription
16964 void set_font_description()(Pango.FontDescription* font_desc) {
16965 clutter_text_set_font_description(&this, font_desc);
16968 // VERSION: 1.0
16969 // Sets the font used by a #ClutterText. The @font_name string
16970 // must either be %NULL, which means that the font name from the
16971 // default #ClutterBackend will be used; or be something that can
16972 // be parsed by the pango_font_description_from_string() function,
16973 // like:
16975 // |[
16976 // clutter_text_set_font_name (text, "Sans 10pt");
16977 // clutter_text_set_font_name (text, "Serif 16px");
16978 // clutter_text_set_font_name (text, "Helvetica 10");
16979 // ]|
16980 // <font_name>: a font name, or %NULL to set the default font name
16981 void set_font_name()(char* font_name=null) {
16982 clutter_text_set_font_name(&this, font_name);
16985 // VERSION: 1.0
16986 // Sets whether the text of the #ClutterText actor should be justified
16987 // on both margins. This setting is ignored if Clutter is compiled
16988 // against Pango &lt; 1.18.
16989 // <justify>: whether the text should be justified
16990 void set_justify()(int justify) {
16991 clutter_text_set_justify(&this, justify);
16994 // VERSION: 1.0
16995 // Sets the way that the lines of a wrapped label are aligned with
16996 // respect to each other. This does not affect the overall alignment
16997 // of the label within its allocated or specified width.
16999 // To align a #ClutterText actor you should add it to a container
17000 // that supports alignment, or use the anchor point.
17001 // <alignment>: A #PangoAlignment
17002 void set_line_alignment()(Pango.Alignment alignment) {
17003 clutter_text_set_line_alignment(&this, alignment);
17006 // VERSION: 1.0
17007 // Sets whether the contents of a #ClutterText actor should wrap,
17008 // if they don't fit the size assigned to the actor.
17009 // <line_wrap>: whether the contents should wrap
17010 void set_line_wrap()(int line_wrap) {
17011 clutter_text_set_line_wrap(&this, line_wrap);
17014 // VERSION: 1.0
17015 // If line wrapping is enabled (see clutter_text_set_line_wrap()) this
17016 // function controls how the line wrapping is performed. The default is
17017 // %PANGO_WRAP_WORD which means wrap on word boundaries.
17018 // <wrap_mode>: the line wrapping mode
17019 void set_line_wrap_mode()(Pango.WrapMode wrap_mode) {
17020 clutter_text_set_line_wrap_mode(&this, wrap_mode);
17023 // VERSION: 1.0
17024 // Sets @markup as the contents of a #ClutterText.
17026 // This is a convenience function for setting a string containing
17027 // Pango markup, and it is logically equivalent to:
17029 // |[
17030 // /&ast; the order is important &ast;/
17031 // clutter_text_set_text (CLUTTER_TEXT (actor), markup);
17032 // clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
17033 // ]|
17034 // <markup>: a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string)
17035 void set_markup()(char* markup) {
17036 clutter_text_set_markup(&this, markup);
17039 // VERSION: 1.0
17040 // Sets the maximum allowed length of the contents of the actor. If the
17041 // current contents are longer than the given length, then they will be
17042 // truncated to fit.
17043 // <max>: the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string
17044 void set_max_length()(int max) {
17045 clutter_text_set_max_length(&this, max);
17048 // VERSION: 1.0
17049 // Sets the character to use in place of the actual text in a
17050 // password text actor.
17052 // If @wc is 0 the text will be displayed as it is entered in the
17053 // #ClutterText actor.
17054 // <wc>: a Unicode character, or 0 to unset the password character
17055 void set_password_char()(dchar wc) {
17056 clutter_text_set_password_char(&this, wc);
17059 // VERSION: 1.2
17060 // Sets, or unsets, the pre-edit string. This function is useful
17061 // for input methods to display a string (with eventual specific
17062 // Pango attributes) before it is entered inside the #ClutterText
17063 // buffer.
17065 // The preedit string and attributes are ignored if the #ClutterText
17066 // actor is not editable.
17068 // This function should not be used by applications
17069 // <preedit_str>: the pre-edit string, or %NULL to unset it
17070 // <preedit_attrs>: the pre-edit string attributes
17071 // <cursor_pos>: the cursor position for the pre-edit string
17072 void set_preedit_string()(char* preedit_str, Pango.AttrList* preedit_attrs, uint cursor_pos) {
17073 clutter_text_set_preedit_string(&this, preedit_str, preedit_attrs, cursor_pos);
17076 // VERSION: 1.0
17077 // Sets whether a #ClutterText actor should be selectable.
17079 // A selectable #ClutterText will allow selecting its contents using
17080 // the pointer or the keyboard.
17081 // <selectable>: whether the #ClutterText actor should be selectable
17082 void set_selectable()(int selectable) {
17083 clutter_text_set_selectable(&this, selectable);
17086 // VERSION: 1.8
17087 // Sets the selected text color of a #ClutterText actor.
17089 // If @color is %NULL, the selected text color will be the same as the
17090 // selection color, which then falls back to cursor, and then text color.
17091 // <color>: the selected text color, or %NULL to unset it
17092 void set_selected_text_color()(Color* color) {
17093 clutter_text_set_selected_text_color(&this, color);
17096 // VERSION: 1.0
17097 // Selects the region of text between @start_pos and @end_pos.
17099 // This function changes the position of the cursor to match
17100 // @start_pos and the selection bound to match @end_pos.
17101 // <start_pos>: start of the selection, in characters
17102 // <end_pos>: end of the selection, in characters
17103 void set_selection()(ssize_t start_pos, ssize_t end_pos) {
17104 clutter_text_set_selection(&this, start_pos, end_pos);
17107 // VERSION: 1.0
17108 // Sets the other end of the selection, starting from the current
17109 // cursor position.
17111 // If @selection_bound is -1, the selection unset.
17112 // <selection_bound>: the position of the end of the selection, in characters
17113 void set_selection_bound()(int selection_bound) {
17114 clutter_text_set_selection_bound(&this, selection_bound);
17117 // VERSION: 1.0
17118 // Sets the color of the selection of a #ClutterText actor.
17120 // If @color is %NULL, the selection color will be the same as the
17121 // cursor color, or if no cursor color is set either then it will be
17122 // the same as the text color.
17123 // <color>: the color of the selection, or %NULL to unset it
17124 void set_selection_color()(Color* color) {
17125 clutter_text_set_selection_color(&this, color);
17128 // VERSION: 1.0
17129 // Sets whether a #ClutterText actor should be in single line mode
17130 // or not. Only editable #ClutterText<!-- -->s can be in single line
17131 // mode.
17133 // A text actor in single line mode will not wrap text and will clip
17134 // the visible area to the predefined size. The contents of the
17135 // text actor will scroll to display the end of the text if its length
17136 // is bigger than the allocated width.
17138 // When setting the single line mode the #ClutterText:activatable
17139 // property is also set as a side effect. Instead of entering a new
17140 // line character, the text actor will emit the #ClutterText::activate
17141 // signal.
17142 // <single_line>: whether to enable single line mode
17143 void set_single_line_mode()(int single_line) {
17144 clutter_text_set_single_line_mode(&this, single_line);
17147 // VERSION: 1.0
17148 // Sets the contents of a #ClutterText actor.
17150 // If the #ClutterText:use-markup property was set to %TRUE it
17151 // will be reset to %FALSE as a side effect. If you want to
17152 // maintain the #ClutterText:use-markup you should use the
17153 // clutter_text_set_markup() function instead
17154 // <text>: the text to set. Passing %NULL is the same as passing "" (the empty string)
17155 void set_text()(char* text) {
17156 clutter_text_set_text(&this, text);
17159 // VERSION: 1.0
17160 // Sets whether the contents of the #ClutterText actor contains markup
17161 // in <link linkend="PangoMarkupFormat">Pango's text markup language</link>.
17163 // Setting #ClutterText:use-markup on an editable #ClutterText will
17164 // not have any effect except hiding the markup.
17166 // See also #ClutterText:use-markup.
17167 // <setting>: %TRUE if the text should be parsed for markup.
17168 void set_use_markup()(int setting) {
17169 clutter_text_set_use_markup(&this, setting);
17172 // VERSION: 1.0
17173 // The ::activate signal is emitted each time the actor is 'activated'
17174 // by the user, normally by pressing the 'Enter' key. The signal is
17175 // emitted only if #ClutterText:activatable is set to %TRUE.
17176 extern (C) alias static void function (Text* this_, void* user_data=null) signal_activate;
17178 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17179 return super_.signal_connect!name(cb, data, cf);
17182 ulong signal_connect(string name:"activate", CB:signal_activate)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17183 return signal_connect_data!()(&this, cast(char*)"activate",
17184 cast(GObject2.Callback)cb, data, null, cf);
17187 // VERSION: 1.0
17188 // The ::cursor-event signal is emitted whenever the cursor position
17189 // changes inside a #ClutterText actor. Inside @geometry it is stored
17190 // the current position and size of the cursor, relative to the actor
17191 // itself.
17192 // <geometry>: the coordinates of the cursor
17193 extern (C) alias static void function (Text* this_, Geometry* geometry, void* user_data=null) signal_cursor_event;
17194 ulong signal_connect(string name:"cursor-event", CB:signal_cursor_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17195 return signal_connect_data!()(&this, cast(char*)"cursor-event",
17196 cast(GObject2.Callback)cb, data, null, cf);
17199 // VERSION: 1.2
17200 // This signal is emitted when text is deleted from the actor by
17201 // the user. It is emitted before @self text changes.
17202 // <start_pos>: the starting position
17203 // <end_pos>: the end position
17204 extern (C) alias static void function (Text* this_, int start_pos, int end_pos, void* user_data=null) signal_delete_text;
17205 ulong signal_connect(string name:"delete-text", CB:signal_delete_text)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17206 return signal_connect_data!()(&this, cast(char*)"delete-text",
17207 cast(GObject2.Callback)cb, data, null, cf);
17210 // VERSION: 1.2
17211 // This signal is emitted when text is inserted into the actor by
17212 // the user. It is emitted before @self text changes.
17213 // <new_text>: the new text to insert
17214 // <new_text_length>: the length of the new text, in bytes, or -1 if new_text is nul-terminated
17215 // <position>: the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text.
17216 extern (C) alias static void function (Text* this_, char* new_text, int new_text_length, void* position, void* user_data=null) signal_insert_text;
17217 ulong signal_connect(string name:"insert-text", CB:signal_insert_text)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17218 return signal_connect_data!()(&this, cast(char*)"insert-text",
17219 cast(GObject2.Callback)cb, data, null, cf);
17222 // VERSION: 1.0
17223 // The ::text-changed signal is emitted after @actor's text changes
17224 extern (C) alias static void function (Text* this_, void* user_data=null) signal_text_changed;
17225 ulong signal_connect(string name:"text-changed", CB:signal_text_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17226 return signal_connect_data!()(&this, cast(char*)"text-changed",
17227 cast(GObject2.Callback)cb, data, null, cf);
17231 // The #ClutterTextClass struct contains only private data.
17232 struct TextClass /* Version 1.0 */ {
17233 private ActorClass parent_class;
17234 extern (C) void function (Text* self) text_changed;
17235 extern (C) void function (Text* self) activate;
17236 extern (C) void function (Text* self, Geometry* geometry) cursor_event;
17237 extern (C) void function () _clutter_reserved1;
17238 extern (C) void function () _clutter_reserved2;
17239 extern (C) void function () _clutter_reserved3;
17240 extern (C) void function () _clutter_reserved4;
17241 extern (C) void function () _clutter_reserved5;
17242 extern (C) void function () _clutter_reserved6;
17243 extern (C) void function () _clutter_reserved7;
17244 extern (C) void function () _clutter_reserved8;
17247 // The text direction to be used by #ClutterActor<!-- -->s
17248 enum TextDirection /* Version 1.2 */ {
17249 DEFAULT = 0,
17250 LTR = 1,
17251 RTL = 2
17253 struct TextPrivate {
17257 // The #ClutterTexture structure contains only private data
17258 // and should be accessed using the provided API
17259 struct Texture /* : Actor */ /* Version 0.1 */ {
17260 mixin Atk.ImplementorIface.__interface__;
17261 mixin Animatable.__interface__;
17262 mixin Scriptable.__interface__;
17263 alias parent this;
17264 alias parent super_;
17265 alias parent actor;
17266 Actor parent;
17267 private TexturePrivate* priv;
17270 // Creates a new empty #ClutterTexture object.
17271 // RETURNS: A newly created #ClutterTexture object.
17272 static Texture* new_()() {
17273 return clutter_texture_new();
17276 // VERSION: 0.6
17277 // DEPRECATED (v1.8) constructor: new_from_actor - Use the #ClutterOffscreenEffect and #ClutterShaderEffect
17278 // Creates a new #ClutterTexture object with its source a prexisting
17279 // actor (and associated children). The textures content will contain
17280 // 'live' redirected output of the actors scene.
17282 // Note this function is intented as a utility call for uniformly applying
17283 // shaders to groups and other potential visual effects. It requires that
17284 // the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend
17285 // and the target system.
17287 // Some tips on usage:
17289 // <itemizedlist>
17290 // <listitem>
17291 // <para>The source actor must be made visible (i.e by calling
17292 // #clutter_actor_show).</para>
17293 // </listitem>
17294 // <listitem>
17295 // <para>The source actor must have a parent in order for it to be
17296 // allocated a size from the layouting mechanism. If the source
17297 // actor does not have a parent when this function is called then
17298 // the ClutterTexture will adopt it and allocate it at its
17299 // preferred size. Using this you can clone an actor that is
17300 // otherwise not displayed. Because of this feature if you do
17301 // intend to display the source actor then you must make sure that
17302 // the actor is parented before calling
17303 // clutter_texture_new_from_actor() or that you unparent it before
17304 // adding it to a container.</para>
17305 // </listitem>
17306 // <listitem>
17307 // <para>When getting the image for the clone texture, Clutter
17308 // will attempt to render the source actor exactly as it would
17309 // appear if it was rendered on screen. The source actor's parent
17310 // transformations are taken into account. Therefore if your
17311 // source actor is rotated along the X or Y axes so that it has
17312 // some depth, the texture will appear differently depending on
17313 // the on-screen location of the source actor. While painting the
17314 // source actor, Clutter will set up a temporary asymmetric
17315 // perspective matrix as the projection matrix so that the source
17316 // actor will be projected as if a small section of the screen was
17317 // being viewed. Before version 0.8.2, an orthogonal identity
17318 // projection was used which meant that the source actor would be
17319 // clipped if any part of it was not on the zero Z-plane.</para>
17320 // </listitem>
17321 // <listitem>
17322 // <para>Avoid reparenting the source with the created texture.</para>
17323 // </listitem>
17324 // <listitem>
17325 // <para>A group can be padded with a transparent rectangle as to
17326 // provide a border to contents for shader output (blurring text
17327 // for example).</para>
17328 // </listitem>
17329 // <listitem>
17330 // <para>The texture will automatically resize to contain a further
17331 // transformed source. However, this involves overhead and can be
17332 // avoided by placing the source actor in a bounding group
17333 // sized large enough to contain any child tranformations.</para>
17334 // </listitem>
17335 // <listitem>
17336 // <para>Uploading pixel data to the texture (e.g by using
17337 // clutter_texture_set_from_file()) will destroy the offscreen texture
17338 // data and end redirection.</para>
17339 // </listitem>
17340 // <listitem>
17341 // <para>cogl_texture_get_data() with the handle returned by
17342 // clutter_texture_get_cogl_texture() can be used to read the
17343 // offscreen texture pixels into a pixbuf.</para>
17344 // </listitem>
17345 // </itemizedlist>
17348 // directly on the intended #ClutterActor to replace the functionality of
17349 // this function.
17350 // RETURNS: A newly created #ClutterTexture object, or %NULL on failure.
17351 // <actor>: A source #ClutterActor
17352 static Texture* new_from_actor()(Actor* actor) {
17353 return clutter_texture_new_from_actor(actor);
17356 // VERSION: 0.8
17357 // Creates a new ClutterTexture actor to display the image contained a
17358 // file. If the image failed to load then NULL is returned and @error
17359 // is set.
17361 // error.
17362 // RETURNS: A newly created #ClutterTexture object or NULL on
17363 // <filename>: The name of an image file to load.
17364 static Texture* new_from_file()(char* filename, GLib2.Error** error=null) {
17365 return clutter_texture_new_from_file(filename, error);
17368 // Gets the size in pixels of the untransformed underlying image
17369 // <width>: return location for the width, or %NULL
17370 // <height>: return location for the height, or %NULL
17371 void get_base_size()(/*out*/ int* width, /*out*/ int* height) {
17372 clutter_texture_get_base_size(&this, width, height);
17375 // VERSION: 1.0
17376 // Returns a handle to the underlying COGL material used for drawing
17377 // the actor.
17379 // material is owned by the #ClutterTexture and it should not be
17380 // unreferenced
17381 // RETURNS: a handle for a #CoglMaterial. The
17382 Cogl.Handle get_cogl_material()() {
17383 return clutter_texture_get_cogl_material(&this);
17386 // VERSION: 0.8
17387 // Retrieves the handle to the underlying COGL texture used for drawing
17388 // the actor. No extra reference is taken so if you need to keep the
17389 // handle then you should call cogl_handle_ref() on it.
17391 // The texture handle returned is the first layer of the material
17392 // handle used by the #ClutterTexture. If you need to access the other
17393 // layers you should use clutter_texture_get_cogl_material() instead
17394 // and use the #CoglMaterial API.
17396 // handle is owned by the #ClutterTexture and it should not be unreferenced
17397 // RETURNS: a #CoglHandle for the texture. The returned
17398 Cogl.Handle get_cogl_texture()() {
17399 return clutter_texture_get_cogl_texture(&this);
17402 // VERSION: 0.8
17403 // Gets the filter quality used when scaling a texture.
17404 // RETURNS: The filter quality value.
17405 TextureQuality get_filter_quality()() {
17406 return clutter_texture_get_filter_quality(&this);
17409 // VERSION: 1.0
17410 // Retrieves the value set using clutter_texture_set_keep_aspect_ratio()
17412 // aspect ratio of the underlying image
17413 // RETURNS: %TRUE if the #ClutterTexture should maintain the
17414 int get_keep_aspect_ratio()() {
17415 return clutter_texture_get_keep_aspect_ratio(&this);
17418 // VERSION: 1.0
17419 // Retrieves the value set using clutter_texture_set_load_async()
17421 // disk asynchronously
17422 // RETURNS: %TRUE if the #ClutterTexture should load the data from
17423 int get_load_async()() {
17424 return clutter_texture_get_load_async(&this);
17427 // VERSION: 1.0
17428 // Retrieves the value set by clutter_texture_set_load_data_async()
17430 // data from a file asynchronously
17431 // RETURNS: %TRUE if the #ClutterTexture should load the image
17432 int get_load_data_async()() {
17433 return clutter_texture_get_load_data_async(&this);
17436 // VERSION: 0.8
17437 // Gets the maximum waste that will be used when creating a texture or
17438 // -1 if slicing is disabled.
17440 // unlimited.
17441 // RETURNS: The maximum waste or -1 if the texture waste is
17442 int get_max_tile_waste()() {
17443 return clutter_texture_get_max_tile_waste(&this);
17446 // VERSION: 1.4
17447 // Retrieves the value set by clutter_texture_set_load_data_async()
17449 // using the alpha channel when picking.
17450 // RETURNS: %TRUE if the #ClutterTexture should define its shape
17451 int get_pick_with_alpha()() {
17452 return clutter_texture_get_pick_with_alpha(&this);
17455 // VERSION: 1.0
17456 // Retrieves the pixel format used by @texture. This is
17457 // equivalent to:
17459 // |[
17460 // handle = clutter_texture_get_pixel_format (texture);
17462 // if (handle != COGL_INVALID_HANDLE)
17463 // format = cogl_texture_get_format (handle);
17464 // ]|
17465 // RETURNS: a #CoglPixelFormat value
17466 Cogl.PixelFormat get_pixel_format()() {
17467 return clutter_texture_get_pixel_format(&this);
17470 // VERSION: 1.0
17471 // Retrieves the horizontal and vertical repeat values set
17472 // using clutter_texture_set_repeat()
17473 // <repeat_x>: return location for the horizontal repeat
17474 // <repeat_y>: return location for the vertical repeat
17475 void get_repeat()(/*out*/ int* repeat_x, /*out*/ int* repeat_y) {
17476 clutter_texture_get_repeat(&this, repeat_x, repeat_y);
17479 // VERSION: 1.0
17480 // Retrieves the value set with clutter_texture_set_sync_size()
17482 // preferred size of the underlying image data
17483 // RETURNS: %TRUE if the #ClutterTexture should have the same
17484 int get_sync_size()() {
17485 return clutter_texture_get_sync_size(&this);
17488 // VERSION: 0.6
17489 // Updates a sub-region of the pixel data in a #ClutterTexture.
17490 // RETURNS: %TRUE on success, %FALSE on failure.
17491 // <data>: Image data in RGB type colorspace.
17492 // <has_alpha>: Set to TRUE if image data has an alpha channel.
17493 // <x>: X coordinate of upper left corner of region to update.
17494 // <y>: Y coordinate of upper left corner of region to update.
17495 // <width>: Width in pixels of region to update.
17496 // <height>: Height in pixels of region to update.
17497 // <rowstride>: Distance in bytes between row starts on source buffer.
17498 // <bpp>: bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
17499 // <flags>: #ClutterTextureFlags
17500 int set_area_from_rgb_data()(ubyte* data, int has_alpha, int x, int y, int width, int height, int rowstride, int bpp, TextureFlags flags, GLib2.Error** error=null) {
17501 return clutter_texture_set_area_from_rgb_data(&this, data, has_alpha, x, y, width, height, rowstride, bpp, flags, error);
17504 // VERSION: 0.8
17505 // Replaces the underlying Cogl material drawn by this actor with
17506 // @cogl_material. A reference to the material is taken so if the
17507 // handle is no longer needed it should be deref'd with
17508 // cogl_handle_unref. Texture data is attached to the material so
17509 // calling this function also replaces the Cogl
17510 // texture. #ClutterTexture requires that the material have a texture
17511 // layer so you should set one on the material before calling this
17512 // function.
17513 // <cogl_material>: A CoglHandle for a material
17514 void set_cogl_material()(Cogl.Handle cogl_material) {
17515 clutter_texture_set_cogl_material(&this, cogl_material);
17518 // VERSION: 0.8
17519 // Replaces the underlying COGL texture drawn by this actor with
17520 // @cogl_tex. A reference to the texture is taken so if the handle is
17521 // no longer needed it should be deref'd with cogl_handle_unref.
17522 // <cogl_tex>: A CoglHandle for a texture
17523 void set_cogl_texture()(Cogl.Handle cogl_tex) {
17524 clutter_texture_set_cogl_texture(&this, cogl_tex);
17527 // VERSION: 0.8
17528 // Sets the filter quality when scaling a texture. The quality is an
17529 // enumeration currently the following values are supported:
17530 // %CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour
17531 // interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a
17532 // bit more expensive (bilinear interpolation), and
17533 // %CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to
17534 // improve scaled down rendering as well (by using mipmaps). The default value
17535 // is %CLUTTER_TEXTURE_QUALITY_MEDIUM.
17536 // <filter_quality>: new filter quality value
17537 void set_filter_quality()(TextureQuality filter_quality) {
17538 clutter_texture_set_filter_quality(&this, filter_quality);
17541 // VERSION: 0.8
17542 // Sets the #ClutterTexture image data from an image file. In case of
17543 // failure, %FALSE is returned and @error is set.
17545 // If #ClutterTexture:load-async is set to %TRUE, this function
17546 // will return as soon as possible, and the actual image loading
17547 // from disk will be performed asynchronously. #ClutterTexture::size-change
17548 // will be emitten when the size of the texture is available and
17549 // #ClutterTexture::load-finished will be emitted when the image has been
17550 // loaded or if an error occurred.
17551 // RETURNS: %TRUE if the image was successfully loaded and set
17552 // <filename>: The filename of the image in GLib file name encoding
17553 int set_from_file()(char* filename, GLib2.Error** error=null) {
17554 return clutter_texture_set_from_file(&this, filename, error);
17557 // VERSION: 0.4.
17558 // Sets #ClutterTexture image data.
17559 // RETURNS: %TRUE on success, %FALSE on failure.
17560 // <data>: Image data in RGBA type colorspace.
17561 // <has_alpha>: Set to TRUE if image data has an alpha channel.
17562 // <width>: Width in pixels of image data.
17563 // <height>: Height in pixels of image data
17564 // <rowstride>: Distance in bytes between row starts.
17565 // <bpp>: bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
17566 // <flags>: #ClutterTextureFlags
17567 int set_from_rgb_data()(ubyte* data, int has_alpha, int width, int height, int rowstride, int bpp, TextureFlags flags, GLib2.Error** error=null) {
17568 return clutter_texture_set_from_rgb_data(&this, data, has_alpha, width, height, rowstride, bpp, flags, error);
17571 // VERSION: 0.4
17572 // Sets a #ClutterTexture from YUV image data. If an error occurred,
17573 // %FALSE is returned and @error is set.
17574 // RETURNS: %TRUE if the texture was successfully updated
17575 // <data>: Image data in YUV type colorspace.
17576 // <width>: Width in pixels of image data.
17577 // <height>: Height in pixels of image data
17578 // <flags>: #ClutterTextureFlags
17579 int set_from_yuv_data()(ubyte* data, int width, int height, TextureFlags flags, GLib2.Error** error=null) {
17580 return clutter_texture_set_from_yuv_data(&this, data, width, height, flags, error);
17583 // VERSION: 1.0
17584 // Sets whether @texture should have a preferred size maintaining
17585 // the aspect ratio of the underlying image
17586 // <keep_aspect>: %TRUE to maintain aspect ratio
17587 void set_keep_aspect_ratio()(int keep_aspect) {
17588 clutter_texture_set_keep_aspect_ratio(&this, keep_aspect);
17591 // VERSION: 1.0
17592 // Sets whether @texture should use a worker thread to load the data
17593 // from disk asynchronously. Setting @load_async to %TRUE will make
17594 // clutter_texture_set_from_file() return immediately.
17596 // See the #ClutterTexture:load-async property documentation, and
17597 // clutter_texture_set_load_data_async().
17598 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
17599 void set_load_async()(int load_async) {
17600 clutter_texture_set_load_async(&this, load_async);
17603 // VERSION: 1.0
17604 // Sets whether @texture should use a worker thread to load the data
17605 // from disk asynchronously. Setting @load_async to %TRUE will make
17606 // clutter_texture_set_from_file() block until the #ClutterTexture has
17607 // determined the width and height of the image data.
17609 // See the #ClutterTexture:load-async property documentation, and
17610 // clutter_texture_set_load_async().
17611 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
17612 void set_load_data_async()(int load_async) {
17613 clutter_texture_set_load_data_async(&this, load_async);
17616 // VERSION: 1.4
17617 // Sets whether @texture should have it's shape defined by the alpha
17618 // channel when picking.
17620 // Be aware that this is a bit more costly than the default picking
17621 // due to the texture lookup, extra test against the alpha value and
17622 // the fact that it will also interrupt the batching of geometry done
17623 // internally.
17625 // Also there is currently no control over the threshold used to
17626 // determine what value of alpha is considered pickable, and so only
17627 // fully opaque parts of the texture will react to picking.
17628 // <pick_with_alpha>: %TRUE if the alpha channel should affect the picking shape
17629 void set_pick_with_alpha()(int pick_with_alpha) {
17630 clutter_texture_set_pick_with_alpha(&this, pick_with_alpha);
17633 // VERSION: 1.0
17634 // Sets whether the @texture should repeat horizontally or
17635 // vertically when the actor size is bigger than the image size
17636 // <repeat_x>: %TRUE if the texture should repeat horizontally
17637 // <repeat_y>: %TRUE if the texture should repeat vertically
17638 void set_repeat()(int repeat_x, int repeat_y) {
17639 clutter_texture_set_repeat(&this, repeat_x, repeat_y);
17642 // VERSION: 1.0
17643 // Sets whether @texture should have the same preferred size as the
17644 // underlying image data.
17645 // <sync_size>: %TRUE if the texture should have the same size of the underlying image data
17646 void set_sync_size()(int sync_size) {
17647 clutter_texture_set_sync_size(&this, sync_size);
17650 // VERSION: 1.0
17651 // The ::load-finished signal is emitted when a texture load has
17652 // completed. If there was an error during loading, @error will
17653 // be set, otherwise it will be %NULL
17654 // <error>: A set error, or %NULL
17655 extern (C) alias static void function (Texture* this_, GLib2.Error* error, void* user_data=null) signal_load_finished;
17657 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17658 return super_.signal_connect!name(cb, data, cf);
17661 ulong signal_connect(string name:"load-finished", CB:signal_load_finished)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17662 return signal_connect_data!()(&this, cast(char*)"load-finished",
17663 cast(GObject2.Callback)cb, data, null, cf);
17666 // The ::pixbuf-change signal is emitted each time the pixbuf
17667 // used by @texture changes.
17668 extern (C) alias static void function (Texture* this_, void* user_data=null) signal_pixbuf_change;
17669 ulong signal_connect(string name:"pixbuf-change", CB:signal_pixbuf_change)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17670 return signal_connect_data!()(&this, cast(char*)"pixbuf-change",
17671 cast(GObject2.Callback)cb, data, null, cf);
17674 // The ::size-change signal is emitted each time the size of the
17675 // pixbuf used by @texture changes. The new size is given as
17676 // argument to the callback.
17677 // <width>: the width of the new texture
17678 // <height>: the height of the new texture
17679 extern (C) alias static void function (Texture* this_, int width, int height, void* user_data=null) signal_size_change;
17680 ulong signal_connect(string name:"size-change", CB:signal_size_change)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17681 return signal_connect_data!()(&this, cast(char*)"size-change",
17682 cast(GObject2.Callback)cb, data, null, cf);
17686 // The #ClutterTextureClass structure contains only private data
17687 struct TextureClass /* Version 0.1 */ {
17688 private ActorClass parent_class;
17689 extern (C) void function (Texture* texture, int width, int height) size_change;
17690 extern (C) void function (Texture* texture) pixbuf_change;
17691 extern (C) void function (Texture* texture, GLib2.Error* error) load_finished;
17692 extern (C) void function () _clutter_texture1;
17693 extern (C) void function () _clutter_texture2;
17694 extern (C) void function () _clutter_texture3;
17695 extern (C) void function () _clutter_texture4;
17696 extern (C) void function () _clutter_texture5;
17699 // Error enumeration for #ClutterTexture
17700 enum TextureError /* Version 0.4 */ {
17701 OUT_OF_MEMORY = 0,
17702 NO_YUV = 1,
17703 BAD_FORMAT = 2
17706 // Flags for clutter_texture_set_from_rgb_data() and
17707 // clutter_texture_set_from_yuv_data().
17708 enum TextureFlags /* Version 0.4 */ {
17709 NONE = 0,
17710 RGB_FLAG_BGR = 2,
17711 RGB_FLAG_PREMULT = 4,
17712 YUV_FLAG_YUV2 = 8
17714 struct TexturePrivate {
17717 // Enumaration controlling the texture quality.
17718 enum TextureQuality /* Version 0.8 */ {
17719 LOW = 0,
17720 MEDIUM = 1,
17721 HIGH = 2
17723 enum int Thai_baht = 3551;
17724 enum int Thai_bobaimai = 3514;
17725 enum int Thai_chochan = 3496;
17726 enum int Thai_chochang = 3498;
17727 enum int Thai_choching = 3497;
17728 enum int Thai_chochoe = 3500;
17729 enum int Thai_dochada = 3502;
17730 enum int Thai_dodek = 3508;
17731 enum int Thai_fofa = 3517;
17732 enum int Thai_fofan = 3519;
17733 enum int Thai_hohip = 3531;
17734 enum int Thai_honokhuk = 3534;
17735 enum int Thai_khokhai = 3490;
17736 enum int Thai_khokhon = 3493;
17737 enum int Thai_khokhuat = 3491;
17738 enum int Thai_khokhwai = 3492;
17739 enum int Thai_khorakhang = 3494;
17740 enum int Thai_kokai = 3489;
17741 enum int Thai_lakkhangyao = 3557;
17742 enum int Thai_lekchet = 3575;
17743 enum int Thai_lekha = 3573;
17744 enum int Thai_lekhok = 3574;
17745 enum int Thai_lekkao = 3577;
17746 enum int Thai_leknung = 3569;
17747 enum int Thai_lekpaet = 3576;
17748 enum int Thai_leksam = 3571;
17749 enum int Thai_leksi = 3572;
17750 enum int Thai_leksong = 3570;
17751 enum int Thai_leksun = 3568;
17752 enum int Thai_lochula = 3532;
17753 enum int Thai_loling = 3525;
17754 enum int Thai_lu = 3526;
17755 enum int Thai_maichattawa = 3563;
17756 enum int Thai_maiek = 3560;
17757 enum int Thai_maihanakat = 3537;
17758 enum int Thai_maihanakat_maitho = 3550;
17759 enum int Thai_maitaikhu = 3559;
17760 enum int Thai_maitho = 3561;
17761 enum int Thai_maitri = 3562;
17762 enum int Thai_maiyamok = 3558;
17763 enum int Thai_moma = 3521;
17764 enum int Thai_ngongu = 3495;
17765 enum int Thai_nikhahit = 3565;
17766 enum int Thai_nonen = 3507;
17767 enum int Thai_nonu = 3513;
17768 enum int Thai_oang = 3533;
17769 enum int Thai_paiyannoi = 3535;
17770 enum int Thai_phinthu = 3546;
17771 enum int Thai_phophan = 3518;
17772 enum int Thai_phophung = 3516;
17773 enum int Thai_phosamphao = 3520;
17774 enum int Thai_popla = 3515;
17775 enum int Thai_rorua = 3523;
17776 enum int Thai_ru = 3524;
17777 enum int Thai_saraa = 3536;
17778 enum int Thai_saraaa = 3538;
17779 enum int Thai_saraae = 3553;
17780 enum int Thai_saraaimaimalai = 3556;
17781 enum int Thai_saraaimaimuan = 3555;
17782 enum int Thai_saraam = 3539;
17783 enum int Thai_sarae = 3552;
17784 enum int Thai_sarai = 3540;
17785 enum int Thai_saraii = 3541;
17786 enum int Thai_sarao = 3554;
17787 enum int Thai_sarau = 3544;
17788 enum int Thai_saraue = 3542;
17789 enum int Thai_sarauee = 3543;
17790 enum int Thai_sarauu = 3545;
17791 enum int Thai_sorusi = 3529;
17792 enum int Thai_sosala = 3528;
17793 enum int Thai_soso = 3499;
17794 enum int Thai_sosua = 3530;
17795 enum int Thai_thanthakhat = 3564;
17796 enum int Thai_thonangmontho = 3505;
17797 enum int Thai_thophuthao = 3506;
17798 enum int Thai_thothahan = 3511;
17799 enum int Thai_thothan = 3504;
17800 enum int Thai_thothong = 3512;
17801 enum int Thai_thothung = 3510;
17802 enum int Thai_topatak = 3503;
17803 enum int Thai_totao = 3509;
17804 enum int Thai_wowaen = 3527;
17805 enum int Thai_yoyak = 3522;
17806 enum int Thai_yoying = 3501;
17807 enum int Thorn = 222;
17808 enum int Time = 269025183;
17810 // The #ClutterTimeline structure contains only private data
17811 // and should be accessed using the provided API
17812 struct Timeline /* : GObject.Object */ /* Version 0.2 */ {
17813 alias parent this;
17814 alias parent super_;
17815 alias parent object;
17816 GObject2.Object parent;
17817 private TimelinePrivate* priv;
17820 // VERSION: 0.6
17821 // Creates a new #ClutterTimeline with a duration of @msecs.
17823 // g_object_unref() when done using it
17824 // RETURNS: the newly created #ClutterTimeline instance. Use
17825 // <msecs>: Duration of the timeline in milliseconds
17826 static Timeline* /*new*/ new_()(uint msecs) {
17827 return clutter_timeline_new(msecs);
17830 // VERSION: 0.8
17831 // Adds a named marker that will be hit when the timeline has been
17832 // running for @msecs milliseconds. Markers are unique string
17833 // identifiers for a given time. Once @timeline reaches
17834 // @msecs, it will emit a ::marker-reached signal for each marker
17835 // attached to that time.
17837 // A marker can be removed with clutter_timeline_remove_marker(). The
17838 // timeline can be advanced to a marker using
17839 // clutter_timeline_advance_to_marker().
17840 // <marker_name>: the unique name for this marker
17841 // <msecs>: position of the marker in milliseconds
17842 void add_marker_at_time()(char* marker_name, uint msecs) {
17843 clutter_timeline_add_marker_at_time(&this, marker_name, msecs);
17846 // Advance timeline to the requested point. The point is given as a
17847 // time in milliseconds since the timeline started.
17849 // <note><para>The @timeline will not emit the #ClutterTimeline::new-frame
17850 // signal for the given time. The first ::new-frame signal after the call to
17851 // clutter_timeline_advance() will be emit the skipped markers.
17852 // </para></note>
17853 // <msecs>: Time to advance to
17854 void advance()(uint msecs) {
17855 clutter_timeline_advance(&this, msecs);
17858 // VERSION: 0.8
17859 // Advances @timeline to the time of the given @marker_name.
17861 // <note><para>Like clutter_timeline_advance(), this function will not
17862 // emit the #ClutterTimeline::new-frame for the time where @marker_name
17863 // is set, nor it will emit #ClutterTimeline::marker-reached for
17864 // @marker_name.</para></note>
17865 // <marker_name>: the name of the marker
17866 void advance_to_marker()(char* marker_name) {
17867 clutter_timeline_advance_to_marker(&this, marker_name);
17870 // VERSION: 0.4
17871 // Create a new #ClutterTimeline instance which has property values
17872 // matching that of supplied timeline. The cloned timeline will not
17873 // be started and will not be positioned to the current position of
17875 // from @timeline
17876 // RETURNS: a new #ClutterTimeline, cloned
17877 Timeline* /*new*/ clone()() {
17878 return clutter_timeline_clone(&this);
17881 // VERSION: 1.6
17882 // Retrieves the value set by clutter_timeline_set_auto_reverse().
17884 // %FALSE otherwise
17885 // RETURNS: %TRUE if the timeline should automatically reverse, and
17886 int get_auto_reverse()() {
17887 return clutter_timeline_get_auto_reverse(&this);
17890 // VERSION: 0.4
17891 // Retrieves the delay set using clutter_timeline_set_delay().
17892 // RETURNS: the delay in milliseconds.
17893 uint get_delay()() {
17894 return clutter_timeline_get_delay(&this);
17897 // VERSION: 0.6
17898 // Retrieves the amount of time elapsed since the last
17899 // ClutterTimeline::new-frame signal.
17901 // This function is only useful inside handlers for the ::new-frame
17902 // signal, and its behaviour is undefined if the timeline is not
17903 // playing.
17905 // last frame
17906 // RETURNS: the amount of time in milliseconds elapsed since the
17907 uint get_delta()() {
17908 return clutter_timeline_get_delta(&this);
17911 // VERSION: 0.6
17912 // Retrieves the direction of the timeline set with
17913 // clutter_timeline_set_direction().
17914 // RETURNS: the direction of the timeline
17915 TimelineDirection get_direction()() {
17916 return clutter_timeline_get_direction(&this);
17919 // VERSION: 0.6
17920 // Retrieves the duration of a #ClutterTimeline in milliseconds.
17921 // See clutter_timeline_set_duration().
17922 // RETURNS: the duration of the timeline, in milliseconds.
17923 uint get_duration()() {
17924 return clutter_timeline_get_duration(&this);
17927 // Request the current time position of the timeline.
17928 // RETURNS: current elapsed time in milliseconds.
17929 uint get_elapsed_time()() {
17930 return clutter_timeline_get_elapsed_time(&this);
17933 // Gets whether @timeline is looping
17934 // RETURNS: %TRUE if the timeline is looping
17935 int get_loop()() {
17936 return clutter_timeline_get_loop(&this);
17939 // VERSION: 0.6
17940 // The position of the timeline in a [0, 1] interval.
17941 // RETURNS: the position of the timeline.
17942 double get_progress()() {
17943 return clutter_timeline_get_progress(&this);
17946 // VERSION: 0.8
17947 // Checks whether @timeline has a marker set with the given name.
17948 // RETURNS: %TRUE if the marker was found
17949 // <marker_name>: the name of the marker
17950 int has_marker()(char* marker_name) {
17951 return clutter_timeline_has_marker(&this, marker_name);
17954 // Queries state of a #ClutterTimeline.
17955 // RETURNS: %TRUE if timeline is currently playing
17956 int is_playing()() {
17957 return clutter_timeline_is_playing(&this);
17960 // VERSION: 0.8
17961 // Retrieves the list of markers at time @msecs. If @msecs is a
17962 // negative integer, all the markers attached to @timeline will be
17963 // returned.
17965 // a newly allocated, %NULL terminated string array containing the names
17966 // of the markers. Use g_strfreev() when done.
17967 // <msecs>: the time to check, or -1
17968 // <n_markers>: the number of markers returned
17969 char** /*new*/ list_markers()(int msecs, /*out*/ size_t* n_markers) {
17970 return clutter_timeline_list_markers(&this, msecs, n_markers);
17972 // Pauses the #ClutterTimeline on current frame
17973 void pause()() {
17974 clutter_timeline_pause(&this);
17977 // VERSION: 0.8
17978 // Removes @marker_name, if found, from @timeline.
17979 // <marker_name>: the name of the marker to remove
17980 void remove_marker()(char* marker_name) {
17981 clutter_timeline_remove_marker(&this, marker_name);
17984 // Rewinds #ClutterTimeline to the first frame if its direction is
17985 // %CLUTTER_TIMELINE_FORWARD and the last frame if it is
17986 // %CLUTTER_TIMELINE_BACKWARD.
17987 void rewind()() {
17988 clutter_timeline_rewind(&this);
17991 // VERSION: 1.6
17992 // Sets whether @timeline should reverse the direction after the
17993 // emission of the #ClutterTimeline::completed signal.
17995 // Setting the #ClutterTimeline:auto-reverse property to %TRUE is the
17996 // equivalent of connecting a callback to the #ClutterTimeline::completed
17997 // signal and changing the direction of the timeline from that callback;
17998 // for instance, this code:
18000 // |[
18001 // static void
18002 // reverse_timeline (ClutterTimeline *timeline)
18003 // {
18004 // ClutterTimelineDirection dir = clutter_timeline_get_direction (timeline);
18006 // if (dir == CLUTTER_TIMELINE_FORWARD)
18007 // dir = CLUTTER_TIMELINE_BACKWARD;
18008 // else
18009 // dir = CLUTTER_TIMELINE_FORWARD;
18011 // clutter_timeline_set_direction (timeline, dir);
18012 // }
18013 // ...
18014 // timeline = clutter_timeline_new (1000);
18015 // clutter_timeline_set_loop (timeline);
18016 // g_signal_connect (timeline, "completed",
18017 // G_CALLBACK (reverse_timeline),
18018 // NULL);
18019 // ]|
18021 // can be effectively replaced by:
18023 // |[
18024 // timeline = clutter_timeline_new (1000);
18025 // clutter_timeline_set_loop (timeline);
18026 // clutter_timeline_set_auto_reverse (timeline);
18027 // ]|
18028 // <reverse>: %TRUE if the @timeline should reverse the direction
18029 void set_auto_reverse()(int reverse) {
18030 clutter_timeline_set_auto_reverse(&this, reverse);
18033 // VERSION: 0.4
18034 // Sets the delay, in milliseconds, before @timeline should start.
18035 // <msecs>: delay in milliseconds
18036 void set_delay()(uint msecs) {
18037 clutter_timeline_set_delay(&this, msecs);
18040 // VERSION: 0.6
18041 // Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
18042 // %CLUTTER_TIMELINE_BACKWARD.
18043 // <direction>: the direction of the timeline
18044 void set_direction()(TimelineDirection direction) {
18045 clutter_timeline_set_direction(&this, direction);
18048 // VERSION: 0.6
18049 // Sets the duration of the timeline, in milliseconds. The speed
18050 // of the timeline depends on the ClutterTimeline:fps setting.
18051 // <msecs>: duration of the timeline in milliseconds
18052 void set_duration()(uint msecs) {
18053 clutter_timeline_set_duration(&this, msecs);
18056 // Sets whether @timeline should loop.
18057 // <loop>: %TRUE for enable looping
18058 void set_loop()(int loop) {
18059 clutter_timeline_set_loop(&this, loop);
18062 // Advance timeline by the requested time in milliseconds
18063 // <msecs>: Amount of time to skip
18064 void skip()(uint msecs) {
18065 clutter_timeline_skip(&this, msecs);
18067 // Starts the #ClutterTimeline playing.
18068 void start()() {
18069 clutter_timeline_start(&this);
18071 // Stops the #ClutterTimeline and moves to frame 0
18072 void stop()() {
18073 clutter_timeline_stop(&this);
18076 // The ::completed signal is emitted when the timeline reaches the
18077 // number of frames specified by the ClutterTimeline:num-frames property.
18078 extern (C) alias static void function (Timeline* this_, void* user_data=null) signal_completed;
18080 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18081 return super_.signal_connect!name(cb, data, cf);
18084 ulong signal_connect(string name:"completed", CB:signal_completed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18085 return signal_connect_data!()(&this, cast(char*)"completed",
18086 cast(GObject2.Callback)cb, data, null, cf);
18089 // VERSION: 0.8
18090 // The ::marker-reached signal is emitted each time a timeline
18091 // reaches a marker set with
18092 // clutter_timeline_add_marker_at_time(). This signal is detailed
18093 // with the name of the marker as well, so it is possible to connect
18094 // a callback to the ::marker-reached signal for a specific marker
18095 // with:
18097 // <informalexample><programlisting>
18098 // clutter_timeline_add_marker_at_time (timeline, "foo", 500);
18099 // clutter_timeline_add_marker_at_time (timeline, "bar", 750);
18101 // g_signal_connect (timeline, "marker-reached",
18102 // G_CALLBACK (each_marker_reached), NULL);
18103 // g_signal_connect (timeline, "marker-reached::foo",
18104 // G_CALLBACK (foo_marker_reached), NULL);
18105 // g_signal_connect (timeline, "marker-reached::bar",
18106 // G_CALLBACK (bar_marker_reached), NULL);
18107 // </programlisting></informalexample>
18109 // In the example, the first callback will be invoked for both
18110 // the "foo" and "bar" marker, while the second and third callbacks
18111 // will be invoked for the "foo" or "bar" markers, respectively.
18112 // <marker_name>: the name of the marker reached
18113 // <msecs>: the elapsed time
18114 extern (C) alias static void function (Timeline* this_, char* marker_name, int msecs, void* user_data=null) signal_marker_reached;
18115 ulong signal_connect(string name:"marker-reached", CB:signal_marker_reached)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18116 return signal_connect_data!()(&this, cast(char*)"marker-reached",
18117 cast(GObject2.Callback)cb, data, null, cf);
18120 // The ::new-frame signal is emitted for each timeline running
18121 // timeline before a new frame is drawn to give animations a chance
18122 // to update the scene.
18123 // <msecs>: the elapsed time between 0 and duration
18124 extern (C) alias static void function (Timeline* this_, int msecs, void* user_data=null) signal_new_frame;
18125 ulong signal_connect(string name:"new-frame", CB:signal_new_frame)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18126 return signal_connect_data!()(&this, cast(char*)"new-frame",
18127 cast(GObject2.Callback)cb, data, null, cf);
18129 // The ::paused signal is emitted when clutter_timeline_pause() is invoked.
18130 extern (C) alias static void function (Timeline* this_, void* user_data=null) signal_paused;
18131 ulong signal_connect(string name:"paused", CB:signal_paused)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18132 return signal_connect_data!()(&this, cast(char*)"paused",
18133 cast(GObject2.Callback)cb, data, null, cf);
18136 // The ::started signal is emitted when the timeline starts its run.
18137 // This might be as soon as clutter_timeline_start() is invoked or
18138 // after the delay set in the ClutterTimeline:delay property has
18139 // expired.
18140 extern (C) alias static void function (Timeline* this_, void* user_data=null) signal_started;
18141 ulong signal_connect(string name:"started", CB:signal_started)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18142 return signal_connect_data!()(&this, cast(char*)"started",
18143 cast(GObject2.Callback)cb, data, null, cf);
18147 // The #ClutterTimelineClass structure contains only private data
18148 struct TimelineClass /* Version 0.2 */ {
18149 private GObject2.ObjectClass parent_class;
18150 extern (C) void function (Timeline* timeline) started;
18151 extern (C) void function (Timeline* timeline) completed;
18152 extern (C) void function (Timeline* timeline) paused;
18153 extern (C) void function (Timeline* timeline, int msecs) new_frame;
18154 extern (C) void function (Timeline* timeline, char* marker_name, int msecs) marker_reached;
18155 extern (C) void function () _clutter_timeline_1;
18156 extern (C) void function () _clutter_timeline_2;
18157 extern (C) void function () _clutter_timeline_3;
18158 extern (C) void function () _clutter_timeline_4;
18159 extern (C) void function () _clutter_timeline_5;
18162 // The direction of a #ClutterTimeline
18163 enum TimelineDirection /* Version 0.6 */ {
18164 FORWARD = 0,
18165 BACKWARD = 1
18167 struct TimelinePrivate {
18171 // <structname>ClutterTimeoutPool</structname> is an opaque structure
18172 // whose members cannot be directly accessed.
18173 struct TimeoutPool /* Version 0.6 */ {
18175 // VERSION: 0.4
18176 // DEPRECATED method: add - 1.6
18177 // Sets a function to be called at regular intervals, and puts it inside
18178 // the @pool. The function is repeatedly called until it returns %FALSE,
18179 // at which point the timeout is automatically destroyed and the function
18180 // won't be called again. If @notify is not %NULL, the @notify function
18181 // will be called. The first call to @func will be at the end of @interval.
18183 // Since Clutter 0.8 this will try to compensate for delays. For
18184 // example, if @func takes half the interval time to execute then the
18185 // function will be called again half the interval time after it
18186 // finished. Before version 0.8 it would not fire until a full
18187 // interval after the function completes so the delay between calls
18188 // would be @interval * 1.5. This function does not however try to
18189 // invoke the function multiple times to catch up missing frames if
18190 // @func takes more than @interval ms to execute.
18192 // Use clutter_timeout_pool_remove() to stop the timeout.
18193 // RETURNS: the ID (greater than 0) of the timeout inside the pool.
18194 // <fps>: the time between calls to the function, in frames per second
18195 // <func>: function to call
18196 // <data>: data to pass to the function, or %NULL
18197 // <notify>: function to call when the timeout is removed, or %NULL
18198 uint add()(uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) {
18199 return clutter_timeout_pool_add(&this, fps, func, data, notify);
18202 // VERSION: 0.4
18203 // DEPRECATED method: remove - 1.6
18204 // Removes a timeout function with @id_ from the timeout pool. The id
18205 // is the same returned when adding a function to the timeout pool with
18206 // clutter_timeout_pool_add().
18207 // <id_>: the id of the timeout to remove
18208 void remove()(uint id_) {
18209 clutter_timeout_pool_remove(&this, id_);
18212 // Unintrospectable function: new() / clutter_timeout_pool_new()
18213 // VERSION: 0.4
18214 // DEPRECATED function: new - 1.6
18215 // Creates a new timeout pool source. A timeout pool should be used when
18216 // multiple timeout functions, running at the same priority, are needed and
18217 // the g_timeout_add() API might lead to starvation of the time slice of
18218 // the main loop. A timeout pool allocates a single time slice of the main
18219 // loop and runs every timeout function inside it. The timeout pool is
18220 // always sorted, so that the extraction of the next timeout function is
18221 // a constant time operation.
18223 // is owned by the GLib default context and will be automatically
18224 // destroyed when the context is destroyed. It is possible to force
18225 // the destruction of the timeout pool using g_source_destroy()
18226 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
18227 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
18228 static TimeoutPool* new_()(int priority) {
18229 return clutter_timeout_pool_new(priority);
18233 enum int ToDoList = 269025055;
18234 enum int Tools = 269025153;
18235 enum int TopMenu = 269025186;
18236 enum int TouchpadOff = 269025201;
18237 enum int TouchpadOn = 269025200;
18238 enum int TouchpadToggle = 269025193;
18239 enum int Touroku = 65323;
18240 enum int Travel = 269025154;
18241 enum int Tslash = 940;
18242 enum int U = 85;
18243 enum int UWB = 269025174;
18244 enum int Uacute = 218;
18245 enum int Ubelowdot = 16785124;
18246 enum int Ubreve = 733;
18247 enum int Ucircumflex = 219;
18248 enum int Udiaeresis = 220;
18249 enum int Udoubleacute = 475;
18250 enum int Ugrave = 217;
18251 enum int Uhook = 16785126;
18252 enum int Uhorn = 16777647;
18253 enum int Uhornacute = 16785128;
18254 enum int Uhornbelowdot = 16785136;
18255 enum int Uhorngrave = 16785130;
18256 enum int Uhornhook = 16785132;
18257 enum int Uhorntilde = 16785134;
18258 enum int Ukrainian_GHE_WITH_UPTURN = 1725;
18259 enum int Ukrainian_I = 1718;
18260 enum int Ukrainian_IE = 1716;
18261 enum int Ukrainian_YI = 1719;
18262 enum int Ukrainian_ghe_with_upturn = 1709;
18263 enum int Ukrainian_i = 1702;
18264 enum int Ukrainian_ie = 1700;
18265 enum int Ukrainian_yi = 1703;
18266 enum int Ukranian_I = 1718;
18267 enum int Ukranian_JE = 1716;
18268 enum int Ukranian_YI = 1719;
18269 enum int Ukranian_i = 1702;
18270 enum int Ukranian_je = 1700;
18271 enum int Ukranian_yi = 1703;
18272 enum int Umacron = 990;
18273 enum int Undo = 65381;
18274 enum int Ungrab = 269024800;
18276 // The type of unit in which a value is expressed
18278 // This enumeration might be expanded at later date
18279 enum UnitType /* Version 1.0 */ {
18280 PIXEL = 0,
18281 EM = 1,
18282 MM = 2,
18283 POINT = 3,
18284 CM = 4
18287 // An opaque structure, to be used to store sizing and positioning
18288 // values along with their unit.
18289 struct Units /* Version 1.0 */ {
18290 private UnitType unit_type;
18291 private float value, pixels;
18292 private uint pixels_set;
18293 private int serial, __padding_1;
18294 private long __padding_2;
18297 // VERSION: 1.0
18298 // Copies @units
18300 // #ClutterUnits structure. Use clutter_units_free() to free
18301 // the allocated resources
18302 // RETURNS: the newly created copy of a
18303 Units* /*new*/ copy()() {
18304 return clutter_units_copy(&this);
18307 // VERSION: 1.0
18308 // Frees the resources allocated by @units
18310 // You should only call this function on a #ClutterUnits
18311 // created using clutter_units_copy()
18312 void free()() {
18313 clutter_units_free(&this);
18316 // VERSION: 1.2
18317 // Stores a value in centimeters inside @units
18318 // <cm>: centimeters
18319 void from_cm()(float cm) {
18320 clutter_units_from_cm(&this, cm);
18323 // VERSION: 1.0
18324 // Stores a value in em inside @units, using the default font
18325 // name as returned by clutter_backend_get_font_name()
18326 // <em>: em
18327 void from_em()(float em) {
18328 clutter_units_from_em(&this, em);
18331 // VERSION: 1.0
18332 // Stores a value in em inside @units using @font_name
18333 // <font_name>: the font name and size
18334 // <em>: em
18335 void from_em_for_font()(char* font_name, float em) {
18336 clutter_units_from_em_for_font(&this, font_name, em);
18339 // VERSION: 1.0
18340 // Stores a value in millimiters inside @units
18341 // <mm>: millimeters
18342 void from_mm()(float mm) {
18343 clutter_units_from_mm(&this, mm);
18346 // VERSION: 1.0
18347 // Stores a value in pixels inside @units
18348 // <px>: pixels
18349 void from_pixels()(int px) {
18350 clutter_units_from_pixels(&this, px);
18353 // VERSION: 1.0
18354 // Stores a value in typographic points inside @units
18355 // <pt>: typographic points
18356 void from_pt()(float pt) {
18357 clutter_units_from_pt(&this, pt);
18360 // VERSION: 1.0
18361 // Parses a value and updates @units with it
18363 // A #ClutterUnits expressed in string should match:
18365 // |[
18366 // units: wsp* unit-value wsp* unit-name? wsp*
18367 // unit-value: number
18368 // unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm'
18369 // number: digit+
18370 // | digit* sep digit+
18371 // sep: '.' | ','
18372 // digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
18373 // wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+
18374 // ]|
18376 // For instance, these are valid strings:
18378 // |[
18379 // 10 px
18380 // 5.1 em
18381 // 24 pt
18382 // 12.6 mm
18383 // .3 cm
18384 // ]|
18386 // While these are not:
18388 // |[
18389 // 42 cats
18390 // omg!1!ponies
18391 // ]|
18393 // <note><para>If no unit is specified, pixels are assumed.</para></note>
18395 // and %FALSE otherwise
18396 // RETURNS: %TRUE if the string was successfully parsed,
18397 // <str>: the string to convert
18398 int from_string()(char* str) {
18399 return clutter_units_from_string(&this, str);
18402 // VERSION: 1.0
18403 // Retrieves the unit type of the value stored inside @units
18404 // RETURNS: a unit type
18405 UnitType get_unit_type()() {
18406 return clutter_units_get_unit_type(&this);
18409 // VERSION: 1.0
18410 // Retrieves the value stored inside @units
18411 // RETURNS: the value stored inside a #ClutterUnits
18412 float get_unit_value()() {
18413 return clutter_units_get_unit_value(&this);
18416 // VERSION: 1.0
18417 // Converts a value in #ClutterUnits to pixels
18418 // RETURNS: the value in pixels
18419 float to_pixels()() {
18420 return clutter_units_to_pixels(&this);
18423 // VERSION: 1.0
18424 // Converts @units into a string
18426 // See clutter_units_from_string() for the units syntax and for
18427 // examples of output
18429 // <note>Fractional values are truncated to the second decimal
18430 // position for em, mm and cm, and to the first decimal position for
18431 // typographic points. Pixels are integers.</note>
18433 // #ClutterUnits value. Use g_free() to free the string
18434 // RETURNS: a newly allocated string containing the encoded
18435 char* /*new*/ to_string()() {
18436 return clutter_units_to_string(&this);
18440 enum int Uogonek = 985;
18441 enum int Up = 65362;
18442 enum int Uring = 473;
18443 enum int User1KB = 269025157;
18444 enum int User2KB = 269025158;
18445 enum int UserPB = 269025156;
18446 enum int Utilde = 989;
18447 enum int V = 86;
18448 enum double VERSION = 1.800000;
18449 enum int VERSION_HEX = 0;
18450 enum VERSION_S = "1.8.3";
18451 enum int VendorHome = 269025076;
18452 // Vertex of an actor in 3D space, expressed in pixels
18453 struct Vertex /* Version 0.4 */ {
18454 float x, y, z;
18457 // VERSION: 1.0
18458 // Creates a new #ClutterVertex for the point in 3D space
18459 // identified by the 3 coordinates @x, @y, @z
18461 // clutter_vertex_free() to free the resources
18462 // RETURNS: the newly allocate #ClutterVertex. Use
18463 // <x>: X coordinate
18464 // <y>: Y coordinate
18465 // <z>: Z coordinate
18466 static Vertex* /*new*/ new_()(float x, float y, float z) {
18467 return clutter_vertex_new(x, y, z);
18470 // VERSION: 1.0
18471 // Copies @vertex
18473 // clutter_vertex_free() to free the allocated resources
18474 // RETURNS: a newly allocated copy of #ClutterVertex. Use
18475 Vertex* /*new*/ copy()() {
18476 return clutter_vertex_copy(&this);
18479 // VERSION: 1.0
18480 // Compares @vertex_a and @vertex_b for equality
18481 // RETURNS: %TRUE if the passed #ClutterVertex are equal
18482 // <vertex_b>: a #ClutterVertex
18483 int equal()(Vertex* vertex_b) {
18484 return clutter_vertex_equal(&this, vertex_b);
18487 // VERSION: 1.0
18488 // Frees a #ClutterVertex allocated using clutter_vertex_copy()
18489 void free()() {
18490 clutter_vertex_free(&this);
18494 enum int Video = 269025159;
18495 enum int View = 269025185;
18496 enum int VoidSymbol = 16777215;
18497 enum int W = 87;
18498 enum int WINDOWING_GLX = 1;
18499 enum int WINDOWING_X11 = 1;
18500 enum int WLAN = 269025173;
18501 enum int WWW = 269025070;
18502 enum int Wacute = 16785026;
18503 enum int WakeUp = 269025067;
18504 enum int Wcircumflex = 16777588;
18505 enum int Wdiaeresis = 16785028;
18506 enum int WebCam = 269025167;
18507 enum int Wgrave = 16785024;
18508 enum int WheelButton = 269025160;
18509 enum int WindowClear = 269025109;
18510 enum int WonSign = 16785577;
18511 enum int Word = 269025161;
18512 enum int X = 88;
18513 enum X11FilterReturn {
18514 CONTINUE = 0,
18515 TRANSLATE = 1,
18516 REMOVE = 2
18518 enum X11XInputEventTypes {
18519 KEY_PRESS_EVENT = 0,
18520 KEY_RELEASE_EVENT = 1,
18521 BUTTON_PRESS_EVENT = 2,
18522 BUTTON_RELEASE_EVENT = 3,
18523 MOTION_NOTIFY_EVENT = 4,
18524 LAST_EVENT = 5
18526 enum int Xabovedot = 16785034;
18527 enum int Xfer = 269025162;
18528 enum int Y = 89;
18529 enum int Yacute = 221;
18530 enum int Ybelowdot = 16785140;
18531 enum int Ycircumflex = 16777590;
18532 enum int Ydiaeresis = 5054;
18533 enum int Yellow = 269025189;
18534 enum int Ygrave = 16785138;
18535 enum int Yhook = 16785142;
18536 enum int Ytilde = 16785144;
18537 enum int Z = 90;
18538 enum int Zabovedot = 431;
18539 enum int Zacute = 428;
18540 enum int Zcaron = 430;
18541 enum int Zen_Koho = 65341;
18542 enum int Zenkaku = 65320;
18543 enum int Zenkaku_Hankaku = 65322;
18544 enum int ZoomIn = 269025163;
18545 enum int ZoomOut = 269025164;
18546 enum int Zstroke = 16777653;
18547 enum int a = 97;
18548 enum int aacute = 225;
18549 enum int abelowdot = 16785057;
18550 enum int abovedot = 511;
18551 enum int abreve = 483;
18552 enum int abreveacute = 16785071;
18553 enum int abrevebelowdot = 16785079;
18554 enum int abrevegrave = 16785073;
18555 enum int abrevehook = 16785075;
18556 enum int abrevetilde = 16785077;
18557 enum int acircumflex = 226;
18558 enum int acircumflexacute = 16785061;
18559 enum int acircumflexbelowdot = 16785069;
18560 enum int acircumflexgrave = 16785063;
18561 enum int acircumflexhook = 16785065;
18562 enum int acircumflextilde = 16785067;
18563 enum int acute = 180;
18564 enum int adiaeresis = 228;
18565 enum int ae = 230;
18566 enum int agrave = 224;
18567 enum int ahook = 16785059;
18568 enum int amacron = 992;
18569 enum int ampersand = 38;
18570 enum int aogonek = 433;
18571 enum int apostrophe = 39;
18572 enum int approxeq = 16785992;
18573 enum int approximate = 2248;
18574 enum int aring = 229;
18575 enum int asciicircum = 94;
18576 enum int asciitilde = 126;
18577 enum int asterisk = 42;
18578 enum int at = 64;
18579 enum int atilde = 227;
18580 enum int b = 98;
18581 enum int babovedot = 16784899;
18582 enum int backslash = 92;
18583 enum int ballotcross = 2804;
18584 enum int bar = 124;
18585 static void base_init()() {
18586 clutter_base_init();
18589 enum int because = 16785973;
18590 enum int blank = 2527;
18591 enum int botintegral = 2213;
18592 enum int botleftparens = 2220;
18593 enum int botleftsqbracket = 2216;
18594 enum int botleftsummation = 2226;
18595 enum int botrightparens = 2222;
18596 enum int botrightsqbracket = 2218;
18597 enum int botrightsummation = 2230;
18598 enum int bott = 2550;
18599 enum int botvertsummationconnector = 2228;
18600 enum int braceleft = 123;
18601 enum int braceright = 125;
18602 enum int bracketleft = 91;
18603 enum int bracketright = 93;
18604 enum int braille_blank = 16787456;
18605 enum int braille_dot_1 = 65521;
18606 enum int braille_dot_10 = 65530;
18607 enum int braille_dot_2 = 65522;
18608 enum int braille_dot_3 = 65523;
18609 enum int braille_dot_4 = 65524;
18610 enum int braille_dot_5 = 65525;
18611 enum int braille_dot_6 = 65526;
18612 enum int braille_dot_7 = 65527;
18613 enum int braille_dot_8 = 65528;
18614 enum int braille_dot_9 = 65529;
18615 enum int braille_dots_1 = 16787457;
18616 enum int braille_dots_12 = 16787459;
18617 enum int braille_dots_123 = 16787463;
18618 enum int braille_dots_1234 = 16787471;
18619 enum int braille_dots_12345 = 16787487;
18620 enum int braille_dots_123456 = 16787519;
18621 enum int braille_dots_1234567 = 16787583;
18622 enum int braille_dots_12345678 = 16787711;
18623 enum int braille_dots_1234568 = 16787647;
18624 enum int braille_dots_123457 = 16787551;
18625 enum int braille_dots_1234578 = 16787679;
18626 enum int braille_dots_123458 = 16787615;
18627 enum int braille_dots_12346 = 16787503;
18628 enum int braille_dots_123467 = 16787567;
18629 enum int braille_dots_1234678 = 16787695;
18630 enum int braille_dots_123468 = 16787631;
18631 enum int braille_dots_12347 = 16787535;
18632 enum int braille_dots_123478 = 16787663;
18633 enum int braille_dots_12348 = 16787599;
18634 enum int braille_dots_1235 = 16787479;
18635 enum int braille_dots_12356 = 16787511;
18636 enum int braille_dots_123567 = 16787575;
18637 enum int braille_dots_1235678 = 16787703;
18638 enum int braille_dots_123568 = 16787639;
18639 enum int braille_dots_12357 = 16787543;
18640 enum int braille_dots_123578 = 16787671;
18641 enum int braille_dots_12358 = 16787607;
18642 enum int braille_dots_1236 = 16787495;
18643 enum int braille_dots_12367 = 16787559;
18644 enum int braille_dots_123678 = 16787687;
18645 enum int braille_dots_12368 = 16787623;
18646 enum int braille_dots_1237 = 16787527;
18647 enum int braille_dots_12378 = 16787655;
18648 enum int braille_dots_1238 = 16787591;
18649 enum int braille_dots_124 = 16787467;
18650 enum int braille_dots_1245 = 16787483;
18651 enum int braille_dots_12456 = 16787515;
18652 enum int braille_dots_124567 = 16787579;
18653 enum int braille_dots_1245678 = 16787707;
18654 enum int braille_dots_124568 = 16787643;
18655 enum int braille_dots_12457 = 16787547;
18656 enum int braille_dots_124578 = 16787675;
18657 enum int braille_dots_12458 = 16787611;
18658 enum int braille_dots_1246 = 16787499;
18659 enum int braille_dots_12467 = 16787563;
18660 enum int braille_dots_124678 = 16787691;
18661 enum int braille_dots_12468 = 16787627;
18662 enum int braille_dots_1247 = 16787531;
18663 enum int braille_dots_12478 = 16787659;
18664 enum int braille_dots_1248 = 16787595;
18665 enum int braille_dots_125 = 16787475;
18666 enum int braille_dots_1256 = 16787507;
18667 enum int braille_dots_12567 = 16787571;
18668 enum int braille_dots_125678 = 16787699;
18669 enum int braille_dots_12568 = 16787635;
18670 enum int braille_dots_1257 = 16787539;
18671 enum int braille_dots_12578 = 16787667;
18672 enum int braille_dots_1258 = 16787603;
18673 enum int braille_dots_126 = 16787491;
18674 enum int braille_dots_1267 = 16787555;
18675 enum int braille_dots_12678 = 16787683;
18676 enum int braille_dots_1268 = 16787619;
18677 enum int braille_dots_127 = 16787523;
18678 enum int braille_dots_1278 = 16787651;
18679 enum int braille_dots_128 = 16787587;
18680 enum int braille_dots_13 = 16787461;
18681 enum int braille_dots_134 = 16787469;
18682 enum int braille_dots_1345 = 16787485;
18683 enum int braille_dots_13456 = 16787517;
18684 enum int braille_dots_134567 = 16787581;
18685 enum int braille_dots_1345678 = 16787709;
18686 enum int braille_dots_134568 = 16787645;
18687 enum int braille_dots_13457 = 16787549;
18688 enum int braille_dots_134578 = 16787677;
18689 enum int braille_dots_13458 = 16787613;
18690 enum int braille_dots_1346 = 16787501;
18691 enum int braille_dots_13467 = 16787565;
18692 enum int braille_dots_134678 = 16787693;
18693 enum int braille_dots_13468 = 16787629;
18694 enum int braille_dots_1347 = 16787533;
18695 enum int braille_dots_13478 = 16787661;
18696 enum int braille_dots_1348 = 16787597;
18697 enum int braille_dots_135 = 16787477;
18698 enum int braille_dots_1356 = 16787509;
18699 enum int braille_dots_13567 = 16787573;
18700 enum int braille_dots_135678 = 16787701;
18701 enum int braille_dots_13568 = 16787637;
18702 enum int braille_dots_1357 = 16787541;
18703 enum int braille_dots_13578 = 16787669;
18704 enum int braille_dots_1358 = 16787605;
18705 enum int braille_dots_136 = 16787493;
18706 enum int braille_dots_1367 = 16787557;
18707 enum int braille_dots_13678 = 16787685;
18708 enum int braille_dots_1368 = 16787621;
18709 enum int braille_dots_137 = 16787525;
18710 enum int braille_dots_1378 = 16787653;
18711 enum int braille_dots_138 = 16787589;
18712 enum int braille_dots_14 = 16787465;
18713 enum int braille_dots_145 = 16787481;
18714 enum int braille_dots_1456 = 16787513;
18715 enum int braille_dots_14567 = 16787577;
18716 enum int braille_dots_145678 = 16787705;
18717 enum int braille_dots_14568 = 16787641;
18718 enum int braille_dots_1457 = 16787545;
18719 enum int braille_dots_14578 = 16787673;
18720 enum int braille_dots_1458 = 16787609;
18721 enum int braille_dots_146 = 16787497;
18722 enum int braille_dots_1467 = 16787561;
18723 enum int braille_dots_14678 = 16787689;
18724 enum int braille_dots_1468 = 16787625;
18725 enum int braille_dots_147 = 16787529;
18726 enum int braille_dots_1478 = 16787657;
18727 enum int braille_dots_148 = 16787593;
18728 enum int braille_dots_15 = 16787473;
18729 enum int braille_dots_156 = 16787505;
18730 enum int braille_dots_1567 = 16787569;
18731 enum int braille_dots_15678 = 16787697;
18732 enum int braille_dots_1568 = 16787633;
18733 enum int braille_dots_157 = 16787537;
18734 enum int braille_dots_1578 = 16787665;
18735 enum int braille_dots_158 = 16787601;
18736 enum int braille_dots_16 = 16787489;
18737 enum int braille_dots_167 = 16787553;
18738 enum int braille_dots_1678 = 16787681;
18739 enum int braille_dots_168 = 16787617;
18740 enum int braille_dots_17 = 16787521;
18741 enum int braille_dots_178 = 16787649;
18742 enum int braille_dots_18 = 16787585;
18743 enum int braille_dots_2 = 16787458;
18744 enum int braille_dots_23 = 16787462;
18745 enum int braille_dots_234 = 16787470;
18746 enum int braille_dots_2345 = 16787486;
18747 enum int braille_dots_23456 = 16787518;
18748 enum int braille_dots_234567 = 16787582;
18749 enum int braille_dots_2345678 = 16787710;
18750 enum int braille_dots_234568 = 16787646;
18751 enum int braille_dots_23457 = 16787550;
18752 enum int braille_dots_234578 = 16787678;
18753 enum int braille_dots_23458 = 16787614;
18754 enum int braille_dots_2346 = 16787502;
18755 enum int braille_dots_23467 = 16787566;
18756 enum int braille_dots_234678 = 16787694;
18757 enum int braille_dots_23468 = 16787630;
18758 enum int braille_dots_2347 = 16787534;
18759 enum int braille_dots_23478 = 16787662;
18760 enum int braille_dots_2348 = 16787598;
18761 enum int braille_dots_235 = 16787478;
18762 enum int braille_dots_2356 = 16787510;
18763 enum int braille_dots_23567 = 16787574;
18764 enum int braille_dots_235678 = 16787702;
18765 enum int braille_dots_23568 = 16787638;
18766 enum int braille_dots_2357 = 16787542;
18767 enum int braille_dots_23578 = 16787670;
18768 enum int braille_dots_2358 = 16787606;
18769 enum int braille_dots_236 = 16787494;
18770 enum int braille_dots_2367 = 16787558;
18771 enum int braille_dots_23678 = 16787686;
18772 enum int braille_dots_2368 = 16787622;
18773 enum int braille_dots_237 = 16787526;
18774 enum int braille_dots_2378 = 16787654;
18775 enum int braille_dots_238 = 16787590;
18776 enum int braille_dots_24 = 16787466;
18777 enum int braille_dots_245 = 16787482;
18778 enum int braille_dots_2456 = 16787514;
18779 enum int braille_dots_24567 = 16787578;
18780 enum int braille_dots_245678 = 16787706;
18781 enum int braille_dots_24568 = 16787642;
18782 enum int braille_dots_2457 = 16787546;
18783 enum int braille_dots_24578 = 16787674;
18784 enum int braille_dots_2458 = 16787610;
18785 enum int braille_dots_246 = 16787498;
18786 enum int braille_dots_2467 = 16787562;
18787 enum int braille_dots_24678 = 16787690;
18788 enum int braille_dots_2468 = 16787626;
18789 enum int braille_dots_247 = 16787530;
18790 enum int braille_dots_2478 = 16787658;
18791 enum int braille_dots_248 = 16787594;
18792 enum int braille_dots_25 = 16787474;
18793 enum int braille_dots_256 = 16787506;
18794 enum int braille_dots_2567 = 16787570;
18795 enum int braille_dots_25678 = 16787698;
18796 enum int braille_dots_2568 = 16787634;
18797 enum int braille_dots_257 = 16787538;
18798 enum int braille_dots_2578 = 16787666;
18799 enum int braille_dots_258 = 16787602;
18800 enum int braille_dots_26 = 16787490;
18801 enum int braille_dots_267 = 16787554;
18802 enum int braille_dots_2678 = 16787682;
18803 enum int braille_dots_268 = 16787618;
18804 enum int braille_dots_27 = 16787522;
18805 enum int braille_dots_278 = 16787650;
18806 enum int braille_dots_28 = 16787586;
18807 enum int braille_dots_3 = 16787460;
18808 enum int braille_dots_34 = 16787468;
18809 enum int braille_dots_345 = 16787484;
18810 enum int braille_dots_3456 = 16787516;
18811 enum int braille_dots_34567 = 16787580;
18812 enum int braille_dots_345678 = 16787708;
18813 enum int braille_dots_34568 = 16787644;
18814 enum int braille_dots_3457 = 16787548;
18815 enum int braille_dots_34578 = 16787676;
18816 enum int braille_dots_3458 = 16787612;
18817 enum int braille_dots_346 = 16787500;
18818 enum int braille_dots_3467 = 16787564;
18819 enum int braille_dots_34678 = 16787692;
18820 enum int braille_dots_3468 = 16787628;
18821 enum int braille_dots_347 = 16787532;
18822 enum int braille_dots_3478 = 16787660;
18823 enum int braille_dots_348 = 16787596;
18824 enum int braille_dots_35 = 16787476;
18825 enum int braille_dots_356 = 16787508;
18826 enum int braille_dots_3567 = 16787572;
18827 enum int braille_dots_35678 = 16787700;
18828 enum int braille_dots_3568 = 16787636;
18829 enum int braille_dots_357 = 16787540;
18830 enum int braille_dots_3578 = 16787668;
18831 enum int braille_dots_358 = 16787604;
18832 enum int braille_dots_36 = 16787492;
18833 enum int braille_dots_367 = 16787556;
18834 enum int braille_dots_3678 = 16787684;
18835 enum int braille_dots_368 = 16787620;
18836 enum int braille_dots_37 = 16787524;
18837 enum int braille_dots_378 = 16787652;
18838 enum int braille_dots_38 = 16787588;
18839 enum int braille_dots_4 = 16787464;
18840 enum int braille_dots_45 = 16787480;
18841 enum int braille_dots_456 = 16787512;
18842 enum int braille_dots_4567 = 16787576;
18843 enum int braille_dots_45678 = 16787704;
18844 enum int braille_dots_4568 = 16787640;
18845 enum int braille_dots_457 = 16787544;
18846 enum int braille_dots_4578 = 16787672;
18847 enum int braille_dots_458 = 16787608;
18848 enum int braille_dots_46 = 16787496;
18849 enum int braille_dots_467 = 16787560;
18850 enum int braille_dots_4678 = 16787688;
18851 enum int braille_dots_468 = 16787624;
18852 enum int braille_dots_47 = 16787528;
18853 enum int braille_dots_478 = 16787656;
18854 enum int braille_dots_48 = 16787592;
18855 enum int braille_dots_5 = 16787472;
18856 enum int braille_dots_56 = 16787504;
18857 enum int braille_dots_567 = 16787568;
18858 enum int braille_dots_5678 = 16787696;
18859 enum int braille_dots_568 = 16787632;
18860 enum int braille_dots_57 = 16787536;
18861 enum int braille_dots_578 = 16787664;
18862 enum int braille_dots_58 = 16787600;
18863 enum int braille_dots_6 = 16787488;
18864 enum int braille_dots_67 = 16787552;
18865 enum int braille_dots_678 = 16787680;
18866 enum int braille_dots_68 = 16787616;
18867 enum int braille_dots_7 = 16787520;
18868 enum int braille_dots_78 = 16787648;
18869 enum int braille_dots_8 = 16787584;
18870 enum int breve = 418;
18871 enum int brokenbar = 166;
18872 enum int c = 99;
18873 enum int cabovedot = 741;
18874 enum int cacute = 486;
18876 // VERSION: 1.0
18877 // Utility function for setting the source color of @cr using
18878 // a #ClutterColor. This function is the equivalent of:
18880 // |[
18881 // cairo_set_source_rgba (cr,
18882 // color->red / 255.0,
18883 // color->green / 255.0,
18884 // color->blue / 255.0,
18885 // color->alpha / 255.0);
18886 // ]|
18887 // <cr>: a Cairo context
18888 // <color>: a #ClutterColor
18889 static void cairo_set_source_color()(cairo.Context* cr, Color* color) {
18890 clutter_cairo_set_source_color(cr, color);
18893 enum int careof = 2744;
18894 enum int caret = 2812;
18895 enum int caron = 439;
18896 enum int ccaron = 488;
18897 enum int ccedilla = 231;
18898 enum int ccircumflex = 742;
18899 enum int cedilla = 184;
18900 enum int cent_ = 162;
18902 // VERSION: 1.2
18903 // Run-time version check, to check the version the Clutter library
18904 // that an application is currently linked against
18906 // This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION
18907 // pre-processor macro
18909 // greater than (@major, @minor, @micro), and %FALSE otherwise
18910 // RETURNS: %TRUE if the version of the Clutter library is
18911 // <major>: major version, like 1 in 1.2.3
18912 // <minor>: minor version, like 2 in 1.2.3
18913 // <micro>: micro version, like 3 in 1.2.3
18914 static int check_version()(uint major, uint minor, uint micro) {
18915 return clutter_check_version(major, minor, micro);
18918 enum int checkerboard = 2529;
18919 enum int checkmark = 2803;
18920 enum int circle = 3023;
18922 // VERSION: 0.8
18923 // Clears the internal cache of glyphs used by the Pango
18924 // renderer. This will free up some memory and GL texture
18925 // resources. The cache will be automatically refilled as more text is
18926 // drawn.
18927 static void clear_glyph_cache()() {
18928 clutter_clear_glyph_cache();
18931 enum int club = 2796;
18932 enum int colon = 58;
18934 // VERSION: 0.2
18935 // MOVED TO: Color.equal
18936 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
18938 // This function can be passed to g_hash_table_new() as the @key_equal_func
18939 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
18940 // RETURNS: %TRUE if the two colors are the same.
18941 // <v1>: a #ClutterColor
18942 // <v2>: a #ClutterColor
18943 static int color_equal()(const(void)* v1, const(void)* v2) {
18944 return clutter_color_equal(v1, v2);
18948 // VERSION: 1.6
18949 // MOVED TO: Color.get_static
18950 // Retrieves a static color for the given @color name
18952 // Static colors are created by Clutter and are guaranteed to always be
18953 // available and valid
18955 // is owned by Clutter and it should never be modified or freed
18956 // RETURNS: a pointer to a static color; the returned pointer
18957 // <color>: the named global color
18958 static Color* color_get_static()(StaticColor color) {
18959 return clutter_color_get_static(color);
18963 // VERSION: 1.0
18964 // MOVED TO: Color.hash
18965 // Converts a #ClutterColor to a hash value.
18967 // This function can be passed to g_hash_table_new() as the @hash_func
18968 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
18969 // RETURNS: a hash value corresponding to the color
18970 // <v>: a #ClutterColor
18971 static uint color_hash()(const(void)* v) {
18972 return clutter_color_hash(v);
18975 enum int comma = 44;
18977 // VERSION: 0.8
18978 // MOVED TO: Container.class_find_child_property
18979 // Looks up the #GParamSpec for a child property of @klass.
18981 // if no such property exist.
18982 // RETURNS: The #GParamSpec for the property or %NULL
18983 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
18984 // <property_name>: a property name.
18985 static GObject2.ParamSpec* container_class_find_child_property()(GObject2.ObjectClass* klass, char* property_name) {
18986 return clutter_container_class_find_child_property(klass, property_name);
18990 // VERSION: 0.8
18991 // MOVED TO: Container.class_list_child_properties
18992 // Returns an array of #GParamSpec for all child properties.
18994 // of #GParamSpec<!-- -->s which should be freed after use.
18995 // RETURNS: an array
18996 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
18997 // <n_properties>: return location for length of returned array.
18998 static GObject2.ParamSpec** /*new*/ container_class_list_child_properties()(GObject2.ObjectClass* klass, /*out*/ uint* n_properties) {
18999 return clutter_container_class_list_child_properties(klass, n_properties);
19002 enum int containsas = 16785931;
19003 enum int copyright = 169;
19004 enum int cr = 2532;
19005 enum int crossinglines = 2542;
19006 enum int cuberoot = 16785947;
19007 enum int currency = 164;
19008 enum int cursor = 2815;
19009 enum int d = 100;
19010 enum int dabovedot = 16784907;
19011 enum int dagger = 2801;
19012 enum int dcaron = 495;
19013 enum int dead_A = 65153;
19014 enum int dead_E = 65155;
19015 enum int dead_I = 65157;
19016 enum int dead_O = 65159;
19017 enum int dead_U = 65161;
19018 enum int dead_a = 65152;
19019 enum int dead_abovecomma = 65124;
19020 enum int dead_abovedot = 65110;
19021 enum int dead_abovereversedcomma = 65125;
19022 enum int dead_abovering = 65112;
19023 enum int dead_acute = 65105;
19024 enum int dead_belowbreve = 65131;
19025 enum int dead_belowcircumflex = 65129;
19026 enum int dead_belowcomma = 65134;
19027 enum int dead_belowdiaeresis = 65132;
19028 enum int dead_belowdot = 65120;
19029 enum int dead_belowmacron = 65128;
19030 enum int dead_belowring = 65127;
19031 enum int dead_belowtilde = 65130;
19032 enum int dead_breve = 65109;
19033 enum int dead_capital_schwa = 65163;
19034 enum int dead_caron = 65114;
19035 enum int dead_cedilla = 65115;
19036 enum int dead_circumflex = 65106;
19037 enum int dead_currency = 65135;
19038 enum int dead_dasia = 65125;
19039 enum int dead_diaeresis = 65111;
19040 enum int dead_doubleacute = 65113;
19041 enum int dead_doublegrave = 65126;
19042 enum int dead_e = 65154;
19043 enum int dead_grave = 65104;
19044 enum int dead_hook = 65121;
19045 enum int dead_horn = 65122;
19046 enum int dead_i = 65156;
19047 enum int dead_invertedbreve = 65133;
19048 enum int dead_iota = 65117;
19049 enum int dead_macron = 65108;
19050 enum int dead_o = 65158;
19051 enum int dead_ogonek = 65116;
19052 enum int dead_perispomeni = 65107;
19053 enum int dead_psili = 65124;
19054 enum int dead_semivoiced_sound = 65119;
19055 enum int dead_small_schwa = 65162;
19056 enum int dead_stroke = 65123;
19057 enum int dead_tilde = 65107;
19058 enum int dead_u = 65160;
19059 enum int dead_voiced_sound = 65118;
19060 enum int decimalpoint = 2749;
19061 enum int degree = 176;
19062 enum int diaeresis = 168;
19063 enum int diamond = 2797;
19064 enum int digitspace = 2725;
19065 enum int dintegral = 16785964;
19066 enum int division = 247;
19068 // VERSION: 0.4
19069 // Processes an event.
19071 // The @event must be a valid #ClutterEvent and have a #ClutterStage
19072 // associated to it.
19074 // This function is only useful when embedding Clutter inside another
19075 // toolkit, and it should never be called by applications.
19076 // <event>: a #ClutterEvent.
19077 static void do_event()(Event* event) {
19078 clutter_do_event(event);
19081 enum int dollar = 36;
19082 enum int doubbaselinedot = 2735;
19083 enum int doubleacute = 445;
19084 enum int doubledagger = 2802;
19085 enum int doublelowquotemark = 2814;
19086 enum int downarrow = 2302;
19087 enum int downcaret = 2984;
19088 enum int downshoe = 3030;
19089 enum int downstile = 3012;
19090 enum int downtack = 3010;
19091 enum int dstroke = 496;
19092 enum int e = 101;
19093 enum int eabovedot = 1004;
19094 enum int eacute = 233;
19095 enum int ebelowdot = 16785081;
19096 enum int ecaron = 492;
19097 enum int ecircumflex = 234;
19098 enum int ecircumflexacute = 16785087;
19099 enum int ecircumflexbelowdot = 16785095;
19100 enum int ecircumflexgrave = 16785089;
19101 enum int ecircumflexhook = 16785091;
19102 enum int ecircumflextilde = 16785093;
19103 enum int ediaeresis = 235;
19104 enum int egrave = 232;
19105 enum int ehook = 16785083;
19106 enum int eightsubscript = 16785544;
19107 enum int eightsuperior = 16785528;
19108 enum int elementof = 16785928;
19109 enum int ellipsis = 2734;
19110 enum int em3space = 2723;
19111 enum int em4space = 2724;
19112 enum int emacron = 954;
19113 enum int emdash = 2729;
19114 enum int emfilledcircle = 2782;
19115 enum int emfilledrect = 2783;
19116 enum int emopencircle = 2766;
19117 enum int emopenrectangle = 2767;
19118 enum int emptyset = 16785925;
19119 enum int emspace = 2721;
19120 enum int endash = 2730;
19121 enum int enfilledcircbullet = 2790;
19122 enum int enfilledsqbullet = 2791;
19123 enum int eng = 959;
19124 enum int enopencircbullet = 2784;
19125 enum int enopensquarebullet = 2785;
19126 enum int enspace = 2722;
19127 enum int eogonek = 490;
19128 enum int equal = 61;
19129 enum int eth = 240;
19130 enum int etilde = 16785085;
19132 // VERSION: 0.4
19133 // MOVED TO: Event.get
19134 // Pops an event off the event queue. Applications should not need to call
19135 // this.
19136 // RETURNS: A #ClutterEvent or NULL if queue empty
19137 static Event* /*new*/ event_get()() {
19138 return clutter_event_get();
19142 // VERSION: 0.4
19143 // MOVED TO: Event.peek
19144 // Returns a pointer to the first event from the event queue but
19145 // does not remove it.
19146 // RETURNS: A #ClutterEvent or NULL if queue empty.
19147 static Event* event_peek()() {
19148 return clutter_event_peek();
19152 // VERSION: 0.4
19153 // Checks if events are pending in the event queue.
19154 // RETURNS: TRUE if there are pending events, FALSE otherwise.
19155 static int events_pending()() {
19156 return clutter_events_pending();
19159 enum int exclam = 33;
19160 enum int exclamdown = 161;
19161 enum int f = 102;
19162 enum int fabovedot = 16784927;
19164 // VERSION: 0.1.1
19165 // Checks whether @feature is available. @feature can be a logical
19166 // OR of #ClutterFeatureFlags.
19167 // RETURNS: %TRUE if a feature is available
19168 // <feature>: a #ClutterFeatureFlags
19169 static int feature_available()(FeatureFlags feature) {
19170 return clutter_feature_available(feature);
19174 // VERSION: 0.1.1
19175 // Returns all the supported features.
19176 // RETURNS: a logical OR of all the supported features.
19177 static FeatureFlags feature_get_all()() {
19178 return clutter_feature_get_all();
19181 enum int femalesymbol = 2808;
19182 enum int ff = 2531;
19183 enum int figdash = 2747;
19184 enum int filledlefttribullet = 2780;
19185 enum int filledrectbullet = 2779;
19186 enum int filledrighttribullet = 2781;
19187 enum int filledtribulletdown = 2793;
19188 enum int filledtribulletup = 2792;
19189 enum int fiveeighths = 2757;
19190 enum int fivesixths = 2743;
19191 enum int fivesubscript = 16785541;
19192 enum int fivesuperior = 16785525;
19193 enum int fourfifths = 2741;
19194 enum int foursubscript = 16785540;
19195 enum int foursuperior = 16785524;
19196 enum int fourthroot = 16785948;
19198 // Unintrospectable function: frame_source_add() / clutter_frame_source_add()
19199 // VERSION: 0.8
19200 // DEPRECATED function: frame_source_add - 1.6
19201 // Simple wrapper around clutter_frame_source_add_full().
19202 // RETURNS: the ID (greater than 0) of the event source.
19203 // <fps>: the number of times per second to call the function
19204 // <func>: function to call
19205 // <data>: data to pass to the function
19206 static uint frame_source_add()(uint fps, GLib2.SourceFunc func, void* data) {
19207 return clutter_frame_source_add(fps, func, data);
19211 // VERSION: 0.8
19212 // DEPRECATED function: frame_source_add_full - 1.6
19213 // Sets a function to be called at regular intervals with the given
19214 // priority. The function is called repeatedly until it returns
19215 // %FALSE, at which point the timeout is automatically destroyed and
19216 // the function will not be called again. The @notify function is
19217 // called when the timeout is destroyed. The first call to the
19218 // function will be at the end of the first @interval.
19220 // This function is similar to g_timeout_add_full() except that it
19221 // will try to compensate for delays. For example, if @func takes half
19222 // the interval time to execute then the function will be called again
19223 // half the interval time after it finished. In contrast
19224 // g_timeout_add_full() would not fire until a full interval after the
19225 // function completes so the delay between calls would be 1.0 / @fps *
19226 // 1.5. This function does not however try to invoke the function
19227 // multiple times to catch up missing frames if @func takes more than
19228 // @interval ms to execute.
19229 // RETURNS: the ID (greater than 0) of the event source.
19230 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
19231 // <fps>: the number of times per second to call the function
19232 // <func>: function to call
19233 // <data>: data to pass to the function
19234 // <notify>: function to call when the timeout source is removed
19235 static uint frame_source_add_full()(int priority, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) {
19236 return clutter_frame_source_add_full(priority, fps, func, data, notify);
19239 enum int function_ = 2294;
19240 enum int g = 103;
19241 enum int gabovedot = 757;
19242 enum int gbreve = 699;
19243 enum int gcaron = 16777703;
19244 enum int gcedilla = 955;
19245 enum int gcircumflex = 760;
19247 // VERSION: 1.4
19248 // Returns whether Clutter has accessibility support enabled. As
19249 // least, a value of TRUE means that there are a proper AtkUtil
19250 // implementation available
19251 // RETURNS: %TRUE if Clutter has accessibility support enabled
19252 static int get_accessibility_enabled()() {
19253 return clutter_get_accessibility_enabled();
19257 // VERSION: 0.6
19258 // DEPRECATED (v1.8) function: get_actor_by_gid - The id is not used any longer.
19259 // Retrieves the #ClutterActor with @id_.
19261 // The returned actor does not have its reference count increased.
19262 // RETURNS: the actor with the passed id or %NULL.
19263 // <id_>: a #ClutterActor unique id.
19264 static Actor* get_actor_by_gid()(uint id_) {
19265 return clutter_get_actor_by_gid(id_);
19269 // VERSION: 1.2
19270 // If an event is currently being processed, return that event.
19271 // This function is intended to be used to access event state
19272 // that might not be exposed by higher-level widgets. For
19273 // example, to get the key modifier state from a Button 'clicked'
19274 // event.
19275 // RETURNS: The current ClutterEvent, or %NULL if none
19276 static Event* get_current_event()() {
19277 return clutter_get_current_event();
19281 // VERSION: 1.0
19282 // Retrieves the timestamp of the last event, if there is an
19283 // event or if the event has a timestamp.
19284 // RETURNS: the event timestamp, or %CLUTTER_CURRENT_TIME
19285 static uint get_current_event_time()() {
19286 return clutter_get_current_event_time();
19290 // Check if clutter has debugging turned on.
19291 // RETURNS: TRUE if debugging is turned on, FALSE otherwise.
19292 static int get_debug_enabled()() {
19293 return clutter_get_debug_enabled();
19297 // VERSION: 0.4
19298 // Retrieves the default #ClutterBackend used by Clutter. The
19299 // #ClutterBackend holds backend-specific configuration options.
19301 // not ref or unref the returned object. Applications should rarely
19302 // need to use this.
19303 // RETURNS: the default backend. You should
19304 static Backend* get_default_backend()() {
19305 return clutter_get_default_backend();
19309 // VERSION: 0.6
19310 // Retrieves the default frame rate. See clutter_set_default_frame_rate().
19311 // RETURNS: the default frame rate
19312 static uint get_default_frame_rate()() {
19313 return clutter_get_default_frame_rate();
19317 // VERSION: 1.2
19318 // Retrieves the default direction for the text. The text direction is
19319 // determined by the locale and/or by the <varname>CLUTTER_TEXT_DIRECTION</varname>
19320 // environment variable.
19322 // The default text direction can be overridden on a per-actor basis by using
19323 // clutter_actor_set_text_direction().
19324 // RETURNS: the default text direction
19325 static TextDirection get_default_text_direction()() {
19326 return clutter_get_default_text_direction();
19330 // VERSION: 1.0
19331 // Gets the current font flags for rendering text. See
19332 // clutter_set_font_flags().
19333 // RETURNS: The font flags
19334 static FontFlags get_font_flags()() {
19335 return clutter_get_font_flags();
19339 // VERSION: 1.0
19340 // Retrieves the #PangoFontMap instance used by Clutter.
19341 // You can use the global font map object with the COGL
19342 // Pango API.
19344 // value is owned by Clutter and it should never be unreferenced.
19345 // RETURNS: the #PangoFontMap instance. The returned
19346 static Pango.FontMap* get_font_map()() {
19347 return clutter_get_font_map();
19351 // VERSION: 0.8
19352 // Retrieves the #ClutterInputDevice from its @id_. This is a convenience
19353 // wrapper for clutter_device_manager_get_device() and it is functionally
19354 // equivalent to:
19356 // |[
19357 // ClutterDeviceManager *manager;
19358 // ClutterInputDevice *device;
19360 // manager = clutter_device_manager_get_default ();
19361 // device = clutter_device_manager_get_device (manager, id);
19362 // ]|
19363 // RETURNS: a #ClutterInputDevice, or %NULL
19364 // <id_>: the unique id for a device
19365 static InputDevice* get_input_device_for_id()(int id_) {
19366 return clutter_get_input_device_for_id(id_);
19370 // VERSION: 0.6
19371 // Queries the current keyboard grab of clutter.
19372 // RETURNS: the actor currently holding the keyboard grab, or NULL if there is no grab.
19373 static Actor* get_keyboard_grab()() {
19374 return clutter_get_keyboard_grab();
19378 // VERSION: 0.6
19379 // DEPRECATED (v1.8) function: get_motion_events_enabled - Use clutter_stage_get_motion_events_enabled() instead.
19380 // Gets whether the per-actor motion events are enabled.
19381 // RETURNS: %TRUE if the motion events are enabled
19382 static int get_motion_events_enabled()() {
19383 return clutter_get_motion_events_enabled();
19387 // Unintrospectable function: get_option_group() / clutter_get_option_group()
19388 // VERSION: 0.2
19389 // Returns a #GOptionGroup for the command line arguments recognized
19390 // by Clutter. You should add this group to your #GOptionContext with
19391 // g_option_context_add_group(), if you are using g_option_context_parse()
19392 // to parse your commandline arguments.
19394 // Calling g_option_context_parse() with Clutter's #GOptionGroup will result
19395 // in Clutter's initialization. That is, the following code:
19397 // |[
19398 // g_option_context_set_main_group (context, clutter_get_option_group ());
19399 // res = g_option_context_parse (context, &amp;argc, &amp;argc, NULL);
19400 // ]|
19402 // is functionally equivalent to:
19404 // |[
19405 // clutter_init (&amp;argc, &amp;argv);
19406 // ]|
19408 // After g_option_context_parse() on a #GOptionContext containing the
19409 // Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be
19410 // initialized.
19412 // recognized by Clutter
19413 // RETURNS: a #GOptionGroup for the commandline arguments
19414 static GLib2.OptionGroup* /*new*/ get_option_group()() {
19415 return clutter_get_option_group();
19419 // Unintrospectable function: get_option_group_without_init() / clutter_get_option_group_without_init()
19420 // VERSION: 0.8.2
19421 // Returns a #GOptionGroup for the command line arguments recognized
19422 // by Clutter. You should add this group to your #GOptionContext with
19423 // g_option_context_add_group(), if you are using g_option_context_parse()
19424 // to parse your commandline arguments.
19426 // Unlike clutter_get_option_group(), calling g_option_context_parse() with
19427 // the #GOptionGroup returned by this function requires a subsequent explicit
19428 // call to clutter_init(); use this function when needing to set foreign
19429 // display connection with clutter_x11_set_display(), or with
19430 // <function>gtk_clutter_init()</function>.
19432 // recognized by Clutter
19433 // RETURNS: a #GOptionGroup for the commandline arguments
19434 static GLib2.OptionGroup* /*new*/ get_option_group_without_init()() {
19435 return clutter_get_option_group_without_init();
19439 // VERSION: 0.6
19440 // Queries the current pointer grab of clutter.
19441 // RETURNS: the actor currently holding the pointer grab, or NULL if there is no grab.
19442 static Actor* get_pointer_grab()() {
19443 return clutter_get_pointer_grab();
19447 // VERSION: 0.6
19448 // Retrieves the Clutter script id, if any.
19450 // a UI definition file. The returned string is owned by the object and
19451 // should never be modified or freed.
19452 // RETURNS: the script id, or %NULL if @object was not defined inside
19453 // <gobject>: a #GObject
19454 static char* get_script_id()(GObject2.Object* gobject) {
19455 return clutter_get_script_id(gobject);
19459 // VERSION: 0.4
19460 // Returns whether Clutter should print out the frames per second on the
19461 // console. You can enable this setting either using the
19462 // <literal>CLUTTER_SHOW_FPS</literal> environment variable or passing
19463 // the <literal>--clutter-show-fps</literal> command line argument. *
19464 // RETURNS: %TRUE if Clutter should show the FPS.
19465 static int get_show_fps()() {
19466 return clutter_get_show_fps();
19470 // Returns the approximate number of microseconds passed since clutter was
19471 // intialised.
19472 // RETURNS: Number of microseconds since clutter_init() was called.
19473 static c_ulong get_timestamp()() {
19474 return clutter_get_timestamp();
19478 // VERSION: 0.6
19479 // Grabs keyboard events, after the grab is done keyboard
19480 // events (#ClutterActor::key-press-event and #ClutterActor::key-release-event)
19481 // are delivered to this actor directly. The source set in the event will be
19482 // the actor that would have received the event if the keyboard grab was not
19483 // in effect.
19485 // Like pointer grabs, keyboard grabs should only be used as a last
19486 // resource.
19488 // See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus()
19489 // to perform a "soft" key grab and assign key focus to a specific actor.
19490 // <actor>: a #ClutterActor
19491 static void grab_keyboard()(Actor* actor) {
19492 clutter_grab_keyboard(actor);
19496 // VERSION: 0.6
19497 // Grabs pointer events, after the grab is done all pointer related events
19498 // (press, motion, release, enter, leave and scroll) are delivered to this
19499 // actor directly without passing through both capture and bubble phases of
19500 // the event delivery chain. The source set in the event will be the actor
19501 // that would have received the event if the pointer grab was not in effect.
19503 // <note><para>Grabs completely override the entire event delivery chain
19504 // done by Clutter. Pointer grabs should only be used as a last resource;
19505 // using the #ClutterActor::captured-event signal should always be the
19506 // preferred way to intercept event delivery to reactive actors.</para></note>
19508 // If you wish to grab all the pointer events for a specific input device,
19509 // you should use clutter_grab_pointer_for_device().
19510 // <actor>: a #ClutterActor
19511 static void grab_pointer()(Actor* actor) {
19512 clutter_grab_pointer(actor);
19516 // VERSION: 0.8
19517 // Grabs all the pointer events coming from the device @id for @actor.
19519 // If @id is -1 then this function is equivalent to clutter_grab_pointer().
19520 // <actor>: a #ClutterActor
19521 // <id_>: a device id, or -1
19522 static void grab_pointer_for_device()(Actor* actor, int id_) {
19523 clutter_grab_pointer_for_device(actor, id_);
19526 enum int grave = 96;
19527 enum int greater = 62;
19528 enum int greaterthanequal = 2238;
19529 enum int guillemotleft = 171;
19530 enum int guillemotright = 187;
19531 enum int h = 104;
19532 enum int hairspace = 2728;
19533 enum int hcircumflex = 694;
19534 enum int heart = 2798;
19535 enum int hebrew_aleph = 3296;
19536 enum int hebrew_ayin = 3314;
19537 enum int hebrew_bet = 3297;
19538 enum int hebrew_beth = 3297;
19539 enum int hebrew_chet = 3303;
19540 enum int hebrew_dalet = 3299;
19541 enum int hebrew_daleth = 3299;
19542 enum int hebrew_doublelowline = 3295;
19543 enum int hebrew_finalkaph = 3306;
19544 enum int hebrew_finalmem = 3309;
19545 enum int hebrew_finalnun = 3311;
19546 enum int hebrew_finalpe = 3315;
19547 enum int hebrew_finalzade = 3317;
19548 enum int hebrew_finalzadi = 3317;
19549 enum int hebrew_gimel = 3298;
19550 enum int hebrew_gimmel = 3298;
19551 enum int hebrew_he = 3300;
19552 enum int hebrew_het = 3303;
19553 enum int hebrew_kaph = 3307;
19554 enum int hebrew_kuf = 3319;
19555 enum int hebrew_lamed = 3308;
19556 enum int hebrew_mem = 3310;
19557 enum int hebrew_nun = 3312;
19558 enum int hebrew_pe = 3316;
19559 enum int hebrew_qoph = 3319;
19560 enum int hebrew_resh = 3320;
19561 enum int hebrew_samech = 3313;
19562 enum int hebrew_samekh = 3313;
19563 enum int hebrew_shin = 3321;
19564 enum int hebrew_taf = 3322;
19565 enum int hebrew_taw = 3322;
19566 enum int hebrew_tet = 3304;
19567 enum int hebrew_teth = 3304;
19568 enum int hebrew_waw = 3301;
19569 enum int hebrew_yod = 3305;
19570 enum int hebrew_zade = 3318;
19571 enum int hebrew_zadi = 3318;
19572 enum int hebrew_zain = 3302;
19573 enum int hebrew_zayin = 3302;
19574 enum int hexagram = 2778;
19575 enum int horizconnector = 2211;
19576 enum int horizlinescan1 = 2543;
19577 enum int horizlinescan3 = 2544;
19578 enum int horizlinescan5 = 2545;
19579 enum int horizlinescan7 = 2546;
19580 enum int horizlinescan9 = 2547;
19581 enum int hstroke = 689;
19582 enum int ht = 2530;
19583 enum int hyphen = 173;
19584 enum int i = 105;
19585 enum int iTouch = 269025120;
19586 enum int iacute = 237;
19587 enum int ibelowdot = 16785099;
19588 enum int ibreve = 16777517;
19589 enum int icircumflex = 238;
19590 enum int identical = 2255;
19591 enum int idiaeresis = 239;
19592 enum int idotless = 697;
19593 enum int ifonlyif = 2253;
19594 enum int igrave = 236;
19595 enum int ihook = 16785097;
19596 enum int imacron = 1007;
19597 enum int implies = 2254;
19598 enum int includedin = 2266;
19599 enum int includes = 2267;
19600 enum int infinity = 2242;
19602 // Initialises everything needed to operate with Clutter and parses some
19603 // standard command line options; @argc and @argv are adjusted accordingly
19604 // so your own code will never see those standard arguments.
19606 // It is safe to call this function multiple times.
19608 // <note>This function will not abort in case of errors during
19609 // initialization; clutter_init() will print out the error message on
19610 // stderr, and will return an error code. It is up to the application
19611 // code to handle this case. If you need to display the error message
19612 // yourself, you can use clutter_init_with_args(), which takes a #GError
19613 // pointer.</note>
19614 // RETURNS: a #ClutterInitError value
19615 // <argc>: The number of arguments in @argv
19616 // <argv>: A pointer to an array of arguments.
19617 static InitError init()(/*inout*/ int* argc, /*inout*/ char*** argv=null) {
19618 return clutter_init(argc, argv);
19621 // MOVED TO: InitError.quark
19622 static GLib2.Quark init_error_quark()() {
19623 return clutter_init_error_quark();
19627 // VERSION: 0.2
19628 // This function does the same work as clutter_init(). Additionally,
19629 // it allows you to add your own command line options, and it
19630 // automatically generates nicely formatted <option>--help</option>
19631 // output. Note that your program will be terminated after writing
19632 // out the help output. Also note that, in case of error, the
19633 // error message will be placed inside @error instead of being
19634 // printed on the display.
19636 // initialised, or other values or #ClutterInitError in case of
19637 // error.
19638 // RETURNS: %CLUTTER_INIT_SUCCESS if Clutter has been successfully
19639 // <argc>: a pointer to the number of command line arguments
19640 // <argv>: a pointer to the array of command line arguments
19641 // <parameter_string>: a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal>
19642 // <entries>: a %NULL terminated array of #GOptionEntry<!-- -->s describing the options of your program
19643 // <translation_domain>: a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL
19644 static InitError init_with_args()(/*inout*/ int* argc, /*inout*/ char*** argv, char* parameter_string, GLib2.OptionEntry* entries, char* translation_domain, GLib2.Error** error=null) {
19645 return clutter_init_with_args(argc, argv, parameter_string, entries, translation_domain, error);
19648 enum int integral = 2239;
19649 enum int intersection = 2268;
19650 enum int iogonek = 999;
19651 enum int itilde = 949;
19652 enum int j = 106;
19653 enum int jcircumflex = 700;
19654 enum int jot = 3018;
19655 enum int k = 107;
19656 enum int kana_A = 1201;
19657 enum int kana_CHI = 1217;
19658 enum int kana_E = 1204;
19659 enum int kana_FU = 1228;
19660 enum int kana_HA = 1226;
19661 enum int kana_HE = 1229;
19662 enum int kana_HI = 1227;
19663 enum int kana_HO = 1230;
19664 enum int kana_HU = 1228;
19665 enum int kana_I = 1202;
19666 enum int kana_KA = 1206;
19667 enum int kana_KE = 1209;
19668 enum int kana_KI = 1207;
19669 enum int kana_KO = 1210;
19670 enum int kana_KU = 1208;
19671 enum int kana_MA = 1231;
19672 enum int kana_ME = 1234;
19673 enum int kana_MI = 1232;
19674 enum int kana_MO = 1235;
19675 enum int kana_MU = 1233;
19676 enum int kana_N = 1245;
19677 enum int kana_NA = 1221;
19678 enum int kana_NE = 1224;
19679 enum int kana_NI = 1222;
19680 enum int kana_NO = 1225;
19681 enum int kana_NU = 1223;
19682 enum int kana_O = 1205;
19683 enum int kana_RA = 1239;
19684 enum int kana_RE = 1242;
19685 enum int kana_RI = 1240;
19686 enum int kana_RO = 1243;
19687 enum int kana_RU = 1241;
19688 enum int kana_SA = 1211;
19689 enum int kana_SE = 1214;
19690 enum int kana_SHI = 1212;
19691 enum int kana_SO = 1215;
19692 enum int kana_SU = 1213;
19693 enum int kana_TA = 1216;
19694 enum int kana_TE = 1219;
19695 enum int kana_TI = 1217;
19696 enum int kana_TO = 1220;
19697 enum int kana_TSU = 1218;
19698 enum int kana_TU = 1218;
19699 enum int kana_U = 1203;
19700 enum int kana_WA = 1244;
19701 enum int kana_WO = 1190;
19702 enum int kana_YA = 1236;
19703 enum int kana_YO = 1238;
19704 enum int kana_YU = 1237;
19705 enum int kana_a = 1191;
19706 enum int kana_closingbracket = 1187;
19707 enum int kana_comma = 1188;
19708 enum int kana_conjunctive = 1189;
19709 enum int kana_e = 1194;
19710 enum int kana_fullstop = 1185;
19711 enum int kana_i = 1192;
19712 enum int kana_middledot = 1189;
19713 enum int kana_o = 1195;
19714 enum int kana_openingbracket = 1186;
19715 enum int kana_switch = 65406;
19716 enum int kana_tsu = 1199;
19717 enum int kana_tu = 1199;
19718 enum int kana_u = 1193;
19719 enum int kana_ya = 1196;
19720 enum int kana_yo = 1198;
19721 enum int kana_yu = 1197;
19722 enum int kappa = 930;
19723 enum int kcedilla = 1011;
19725 // Converts @keyval from a Clutter key symbol to the corresponding
19726 // ISO10646 (Unicode) character.
19728 // character.
19729 // RETURNS: a Unicode character, or 0 if there is no corresponding
19730 // <keyval>: a key symbol
19731 static uint keysym_to_unicode()(uint keyval) {
19732 return clutter_keysym_to_unicode(keyval);
19735 enum int kra = 930;
19736 enum int l = 108;
19737 enum int lacute = 485;
19738 enum int latincross = 2777;
19739 enum int lbelowdot = 16784951;
19740 enum int lcaron = 437;
19741 enum int lcedilla = 950;
19742 enum int leftanglebracket = 2748;
19743 enum int leftarrow = 2299;
19744 enum int leftcaret = 2979;
19745 enum int leftdoublequotemark = 2770;
19746 enum int leftmiddlecurlybrace = 2223;
19747 enum int leftopentriangle = 2764;
19748 enum int leftpointer = 2794;
19749 enum int leftradical = 2209;
19750 enum int leftshoe = 3034;
19751 enum int leftsinglequotemark = 2768;
19752 enum int leftt = 2548;
19753 enum int lefttack = 3036;
19754 enum int less = 60;
19755 enum int lessthanequal = 2236;
19756 enum int lf = 2533;
19757 enum int logicaland = 2270;
19758 enum int logicalor = 2271;
19759 enum int lowleftcorner = 2541;
19760 enum int lowrightcorner = 2538;
19761 enum int lstroke = 435;
19762 enum int m = 109;
19763 enum int mabovedot = 16784961;
19764 enum int macron = 175;
19765 // Starts the Clutter mainloop.
19766 static void main_()() {
19767 clutter_main();
19771 // Retrieves the depth of the Clutter mainloop.
19772 // RETURNS: The level of the mainloop.
19773 static int main_level()() {
19774 return clutter_main_level();
19777 // Terminates the Clutter mainloop.
19778 static void main_quit()() {
19779 clutter_main_quit();
19782 enum int malesymbol = 2807;
19783 enum int maltesecross = 2800;
19784 enum int marker = 2751;
19785 enum int masculine = 186;
19786 enum int minus = 45;
19787 enum int minutes = 2774;
19788 enum int mu = 181;
19789 enum int multiply = 215;
19790 enum int musicalflat = 2806;
19791 enum int musicalsharp = 2805;
19792 enum int n = 110;
19793 enum int nabla = 2245;
19794 enum int nacute = 497;
19795 enum int ncaron = 498;
19796 enum int ncedilla = 1009;
19797 enum int ninesubscript = 16785545;
19798 enum int ninesuperior = 16785529;
19799 enum int nl = 2536;
19800 enum int nobreakspace = 160;
19801 enum int notapproxeq = 16785991;
19802 enum int notelementof = 16785929;
19803 enum int notequal = 2237;
19804 enum int notidentical = 16786018;
19805 enum int notsign = 172;
19806 enum int ntilde = 241;
19807 enum int numbersign = 35;
19808 enum int numerosign = 1712;
19809 enum int o = 111;
19810 enum int oacute = 243;
19811 enum int obarred = 16777845;
19812 enum int obelowdot = 16785101;
19813 enum int ocaron = 16777682;
19814 enum int ocircumflex = 244;
19815 enum int ocircumflexacute = 16785105;
19816 enum int ocircumflexbelowdot = 16785113;
19817 enum int ocircumflexgrave = 16785107;
19818 enum int ocircumflexhook = 16785109;
19819 enum int ocircumflextilde = 16785111;
19820 enum int odiaeresis = 246;
19821 enum int odoubleacute = 501;
19822 enum int oe = 5053;
19823 enum int ogonek = 434;
19824 enum int ograve = 242;
19825 enum int ohook = 16785103;
19826 enum int ohorn = 16777633;
19827 enum int ohornacute = 16785115;
19828 enum int ohornbelowdot = 16785123;
19829 enum int ohorngrave = 16785117;
19830 enum int ohornhook = 16785119;
19831 enum int ohorntilde = 16785121;
19832 enum int omacron = 1010;
19833 enum int oneeighth = 2755;
19834 enum int onefifth = 2738;
19835 enum int onehalf = 189;
19836 enum int onequarter = 188;
19837 enum int onesixth = 2742;
19838 enum int onesubscript = 16785537;
19839 enum int onesuperior = 185;
19840 enum int onethird = 2736;
19841 enum int ooblique = 248;
19842 enum int openrectbullet = 2786;
19843 enum int openstar = 2789;
19844 enum int opentribulletdown = 2788;
19845 enum int opentribulletup = 2787;
19846 enum int ordfeminine = 170;
19847 enum int oslash = 248;
19848 enum int otilde = 245;
19849 enum int overbar = 3008;
19850 enum int overline = 1150;
19851 enum int p = 112;
19852 enum int pabovedot = 16784983;
19853 enum int paragraph = 182;
19855 // Unintrospectable function: param_spec_color() / clutter_param_spec_color()
19856 // VERSION: 0.8.4
19857 // Creates a #GParamSpec for properties using #ClutterColor.
19858 // RETURNS: the newly created #GParamSpec
19859 // <name>: name of the property
19860 // <nick>: short name
19861 // <blurb>: description (can be translatable)
19862 // <default_value>: default value
19863 // <flags>: flags for the param spec
19864 static GObject2.ParamSpec* param_spec_color()(char* name, char* nick, char* blurb, Color* default_value, GObject2.ParamFlags flags) {
19865 return clutter_param_spec_color(name, nick, blurb, default_value, flags);
19869 // Unintrospectable function: param_spec_fixed() / clutter_param_spec_fixed()
19870 // VERSION: 0.8
19871 // Creates a #GParamSpec for properties using #CoglFixed values
19872 // RETURNS: the newly created #GParamSpec
19873 // <name>: name of the property
19874 // <nick>: short name
19875 // <blurb>: description (can be translatable)
19876 // <minimum>: lower boundary
19877 // <maximum>: higher boundary
19878 // <default_value>: default value
19879 // <flags>: flags for the param spec
19880 static GObject2.ParamSpec* param_spec_fixed()(char* name, char* nick, char* blurb, Cogl.Fixed minimum, Cogl.Fixed maximum, Cogl.Fixed default_value, GObject2.ParamFlags flags) {
19881 return clutter_param_spec_fixed(name, nick, blurb, minimum, maximum, default_value, flags);
19885 // Unintrospectable function: param_spec_units() / clutter_param_spec_units()
19886 // VERSION: 1.0
19887 // Creates a #GParamSpec for properties using #ClutterUnits.
19888 // RETURNS: the newly created #GParamSpec
19889 // <name>: name of the property
19890 // <nick>: short name
19891 // <blurb>: description (can be translatable)
19892 // <default_type>: the default type for the #ClutterUnits
19893 // <minimum>: lower boundary
19894 // <maximum>: higher boundary
19895 // <default_value>: default value
19896 // <flags>: flags for the param spec
19897 static GObject2.ParamSpec* param_spec_units()(char* name, char* nick, char* blurb, UnitType default_type, float minimum, float maximum, float default_value, GObject2.ParamFlags flags) {
19898 return clutter_param_spec_units(name, nick, blurb, default_type, minimum, maximum, default_value, flags);
19901 enum int parenleft = 40;
19902 enum int parenright = 41;
19903 enum int partdifferential = 16785922;
19904 enum int partialderivative = 2287;
19905 enum int percent = 37;
19906 enum int period = 46;
19907 enum int periodcentered = 183;
19908 enum int phonographcopyright = 2811;
19909 enum int plus = 43;
19910 enum int plusminus = 177;
19911 enum int prescription = 2772;
19912 enum int prolongedsound = 1200;
19913 enum int punctspace = 2726;
19914 enum int q = 113;
19915 enum int quad = 3020;
19916 enum int question = 63;
19917 enum int questiondown = 191;
19918 enum int quotedbl = 34;
19919 enum int quoteleft = 96;
19920 enum int quoteright = 39;
19921 enum int r = 114;
19922 enum int racute = 480;
19923 enum int radical = 2262;
19924 enum int rcaron = 504;
19925 enum int rcedilla = 947;
19927 // Forces a redraw of the entire stage. Applications should never use this
19928 // function, but queue a redraw using clutter_actor_queue_redraw().
19930 // This function should only be used by libraries integrating Clutter from
19931 // within another toolkit.
19932 static void redraw()(Stage* stage) {
19933 clutter_redraw(stage);
19936 enum int registered = 174;
19937 enum int rightanglebracket = 2750;
19938 enum int rightarrow = 2301;
19939 enum int rightcaret = 2982;
19940 enum int rightdoublequotemark = 2771;
19941 enum int rightmiddlecurlybrace = 2224;
19942 enum int rightmiddlesummation = 2231;
19943 enum int rightopentriangle = 2765;
19944 enum int rightpointer = 2795;
19945 enum int rightshoe = 3032;
19946 enum int rightsinglequotemark = 2769;
19947 enum int rightt = 2549;
19948 enum int righttack = 3068;
19949 enum int s = 115;
19950 enum int sabovedot = 16784993;
19951 enum int sacute = 438;
19952 enum int scaron = 441;
19953 enum int scedilla = 442;
19954 enum int schwa = 16777817;
19955 enum int scircumflex = 766;
19956 // MOVED TO: ScriptError.quark
19957 static GLib2.Quark script_error_quark()() {
19958 return clutter_script_error_quark();
19961 enum int script_switch = 65406;
19962 enum int seconds = 2775;
19963 enum int section = 167;
19964 enum int semicolon = 59;
19965 enum int semivoicedsound = 1247;
19967 // VERSION: 0.6
19968 // Sets the default frame rate. This frame rate will be used to limit
19969 // the number of frames drawn if Clutter is not able to synchronize
19970 // with the vertical refresh rate of the display. When synchronization
19971 // is possible, this value is ignored.
19972 // <frames_per_sec>: the new default frame rate
19973 static void set_default_frame_rate()(uint frames_per_sec) {
19974 clutter_set_default_frame_rate(frames_per_sec);
19978 // VERSION: 1.0
19979 // Sets the font quality options for subsequent text rendering
19980 // operations.
19982 // Using mipmapped textures will improve the quality for scaled down
19983 // text but will use more texture memory.
19985 // Enabling hinting improves text quality for static text but may
19986 // introduce some artifacts if the text is animated.
19987 // <flags>: The new flags
19988 static void set_font_flags()(FontFlags flags) {
19989 clutter_set_font_flags(flags);
19993 // VERSION: 0.6
19994 // DEPRECATED (v1.8) function: set_motion_events_enabled - Use clutter_stage_set_motion_events_enabled() instead.
19995 // Sets whether per-actor motion events should be enabled or not on
19996 // all #ClutterStage<!-- -->s managed by Clutter.
19998 // If @enable is %FALSE the following events will not work:
19999 // <itemizedlist>
20000 // <listitem><para>ClutterActor::motion-event, unless on the
20001 // #ClutterStage</para></listitem>
20002 // <listitem><para>ClutterActor::enter-event</para></listitem>
20003 // <listitem><para>ClutterActor::leave-event</para></listitem>
20004 // </itemizedlist>
20005 // <enable>: %TRUE to enable per-actor motion events
20006 static void set_motion_events_enabled()(int enable) {
20007 clutter_set_motion_events_enabled(enable);
20010 enum int seveneighths = 2758;
20011 enum int sevensubscript = 16785543;
20012 enum int sevensuperior = 16785527;
20013 // MOVED TO: ShaderError.quark
20014 static GLib2.Quark shader_error_quark()() {
20015 return clutter_shader_error_quark();
20018 enum int signaturemark = 2762;
20019 enum int signifblank = 2732;
20020 enum int similarequal = 2249;
20021 enum int singlelowquotemark = 2813;
20022 enum int sixsubscript = 16785542;
20023 enum int sixsuperior = 16785526;
20024 enum int slash = 47;
20025 enum int soliddiamond = 2528;
20026 enum int space = 32;
20027 enum int squareroot = 16785946;
20028 enum int ssharp = 223;
20029 enum int sterling = 163;
20030 enum int stricteq = 16786019;
20031 enum int t = 116;
20032 enum int tabovedot = 16785003;
20033 enum int tcaron = 443;
20034 enum int tcedilla = 510;
20035 enum int telephone = 2809;
20036 enum int telephonerecorder = 2810;
20037 // MOVED TO: TextureError.quark
20038 static GLib2.Quark texture_error_quark()() {
20039 return clutter_texture_error_quark();
20042 enum int therefore = 2240;
20043 enum int thinspace = 2727;
20044 enum int thorn = 254;
20046 // Unintrospectable function: threads_add_frame_source() / clutter_threads_add_frame_source()
20047 // VERSION: 0.8
20048 // DEPRECATED function: threads_add_frame_source - 1.6
20049 // Simple wrapper around clutter_threads_add_frame_source_full().
20050 // RETURNS: the ID (greater than 0) of the event source.
20051 // <fps>: the number of times per second to call the function
20052 // <func>: function to call
20053 // <data>: data to pass to the function
20054 static uint threads_add_frame_source()(uint fps, GLib2.SourceFunc func, void* data) {
20055 return clutter_threads_add_frame_source(fps, func, data);
20059 // VERSION: 0.8
20060 // DEPRECATED function: threads_add_frame_source_full - 1.6
20061 // Sets a function to be called at regular intervals holding the Clutter
20062 // threads lock, with the given priority. The function is called repeatedly
20063 // until it returns %FALSE, at which point the timeout is automatically
20064 // removed and the function will not be called again. The @notify function
20065 // is called when the timeout is removed.
20067 // This function is similar to clutter_threads_add_timeout_full()
20068 // except that it will try to compensate for delays. For example, if
20069 // @func takes half the interval time to execute then the function
20070 // will be called again half the interval time after it finished. In
20071 // contrast clutter_threads_add_timeout_full() would not fire until a
20072 // full interval after the function completes so the delay between
20073 // calls would be @interval * 1.5. This function does not however try
20074 // to invoke the function multiple times to catch up missing frames if
20075 // @func takes more than @interval ms to execute.
20077 // See also clutter_threads_add_idle_full().
20078 // RETURNS: the ID (greater than 0) of the event source.
20079 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
20080 // <fps>: the number of times per second to call the function
20081 // <func>: function to call
20082 // <data>: data to pass to the function
20083 // <notify>: function to call when the timeout source is removed
20084 static uint threads_add_frame_source_full()(int priority, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) {
20085 return clutter_threads_add_frame_source_full(priority, fps, func, data, notify);
20089 // Unintrospectable function: threads_add_idle() / clutter_threads_add_idle()
20090 // VERSION: 0.4
20091 // Simple wrapper around clutter_threads_add_idle_full() using the
20092 // default priority.
20093 // RETURNS: the ID (greater than 0) of the event source.
20094 // <func>: function to call
20095 // <data>: data to pass to the function
20096 static uint threads_add_idle()(GLib2.SourceFunc func, void* data) {
20097 return clutter_threads_add_idle(func, data);
20101 // VERSION: 0.4
20102 // Adds a function to be called whenever there are no higher priority
20103 // events pending. If the function returns %FALSE it is automatically
20104 // removed from the list of event sources and will not be called again.
20106 // This function can be considered a thread-safe variant of g_idle_add_full():
20107 // it will call @function while holding the Clutter lock. It is logically
20108 // equivalent to the following implementation:
20110 // |[
20111 // static gboolean
20112 // idle_safe_callback (gpointer data)
20113 // {
20114 // SafeClosure *closure = data;
20115 // gboolean res = FALSE;
20117 // /&ast; mark the critical section &ast;/
20119 // clutter_threads_enter();
20121 // /&ast; the callback does not need to acquire the Clutter
20122 // &ast; lock itself, as it is held by the this proxy handler
20123 // &ast;/
20124 // res = closure->callback (closure->data);
20126 // clutter_threads_leave();
20128 // return res;
20129 // }
20130 // static gulong
20131 // add_safe_idle (GSourceFunc callback,
20132 // gpointer data)
20133 // {
20134 // SafeClosure *closure = g_new0 (SafeClosure, 1);
20136 // closure-&gt;callback = callback;
20137 // closure-&gt;data = data;
20139 // return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
20140 // idle_safe_callback,
20141 // closure,
20142 // g_free)
20143 // }
20144 // ]|
20146 // This function should be used by threaded applications to make sure
20147 // that @func is emitted under the Clutter threads lock and invoked
20148 // from the same thread that started the Clutter main loop. For instance,
20149 // it can be used to update the UI using the results from a worker
20150 // thread:
20152 // |[
20153 // static gboolean
20154 // update_ui (gpointer data)
20155 // {
20156 // SomeClosure *closure = data;
20158 // /&ast; it is safe to call Clutter API from this function because
20159 // &ast; it is invoked from the same thread that started the main
20160 // &ast; loop and under the Clutter thread lock
20161 // &ast;/
20162 // clutter_label_set_text (CLUTTER_LABEL (closure-&gt;label),
20163 // closure-&gt;text);
20165 // g_object_unref (closure-&gt;label);
20166 // g_free (closure);
20168 // return FALSE;
20169 // }
20171 // /&ast; within another thread &ast;/
20172 // closure = g_new0 (SomeClosure, 1);
20173 // /&ast; always take a reference on GObject instances &ast;/
20174 // closure-&gt;label = g_object_ref (my_application-&gt;label);
20175 // closure-&gt;text = g_strdup (processed_text_to_update_the_label);
20177 // clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
20178 // update_ui,
20179 // closure,
20180 // NULL);
20181 // ]|
20182 // RETURNS: the ID (greater than 0) of the event source.
20183 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE
20184 // <func>: function to call
20185 // <data>: data to pass to the function
20186 // <notify>: functio to call when the idle source is removed
20187 static uint threads_add_idle_full()(int priority, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) {
20188 return clutter_threads_add_idle_full(priority, func, data, notify);
20192 // VERSION: 1.0
20193 // Adds a function to be called whenever Clutter is repainting a Stage.
20194 // If the function returns %FALSE it is automatically removed from the
20195 // list of repaint functions and will not be called again.
20197 // This function is guaranteed to be called from within the same thread
20198 // that called clutter_main(), and while the Clutter lock is being held.
20200 // A repaint function is useful to ensure that an update of the scenegraph
20201 // is performed before the scenegraph is repainted; for instance, uploading
20202 // a frame from a video into a #ClutterTexture.
20204 // When the repaint function is removed (either because it returned %FALSE
20205 // or because clutter_threads_remove_repaint_func() has been called) the
20206 // @notify function will be called, if any is set.
20208 // can use the returned integer to remove the repaint function by
20209 // calling clutter_threads_remove_repaint_func().
20210 // RETURNS: the ID (greater than 0) of the repaint function. You
20211 // <func>: the function to be called within the paint cycle
20212 // <data>: data to be passed to the function, or %NULL
20213 // <notify>: function to be called when removing the repaint function, or %NULL
20214 static uint threads_add_repaint_func()(GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) {
20215 return clutter_threads_add_repaint_func(func, data, notify);
20219 // Unintrospectable function: threads_add_timeout() / clutter_threads_add_timeout()
20220 // VERSION: 0.4
20221 // Simple wrapper around clutter_threads_add_timeout_full().
20222 // RETURNS: the ID (greater than 0) of the event source.
20223 // <interval>: the time between calls to the function, in milliseconds
20224 // <func>: function to call
20225 // <data>: data to pass to the function
20226 static uint threads_add_timeout()(uint interval, GLib2.SourceFunc func, void* data) {
20227 return clutter_threads_add_timeout(interval, func, data);
20231 // VERSION: 0.4
20232 // Sets a function to be called at regular intervals holding the Clutter
20233 // threads lock, with the given priority. The function is called repeatedly
20234 // until it returns %FALSE, at which point the timeout is automatically
20235 // removed and the function will not be called again. The @notify function
20236 // is called when the timeout is removed.
20238 // The first call to the function will be at the end of the first @interval.
20240 // It is important to note that, due to how the Clutter main loop is
20241 // implemented, the timing will not be accurate and it will not try to
20242 // "keep up" with the interval. A more reliable source is available
20243 // using clutter_threads_add_frame_source_full(), which is also internally
20244 // used by #ClutterTimeline.
20246 // See also clutter_threads_add_idle_full().
20247 // RETURNS: the ID (greater than 0) of the event source.
20248 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
20249 // <interval>: the time between calls to the function, in milliseconds
20250 // <func>: function to call
20251 // <data>: data to pass to the function
20252 // <notify>: function to call when the timeout source is removed
20253 static uint threads_add_timeout_full()(int priority, uint interval, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) {
20254 return clutter_threads_add_timeout_full(priority, interval, func, data, notify);
20258 // VERSION: 0.4
20259 // Locks the Clutter thread lock.
20260 static void threads_enter()() {
20261 clutter_threads_enter();
20265 // VERSION: 0.4
20266 // Initialises the Clutter threading mechanism, so that Clutter API can be
20267 // called by multiple threads, using clutter_threads_enter() and
20268 // clutter_threads_leave() to mark the critical sections.
20270 // You must call g_thread_init() before this function.
20272 // This function must be called before clutter_init().
20274 // It is safe to call this function multiple times.
20275 static void threads_init()() {
20276 clutter_threads_init();
20280 // VERSION: 0.4
20281 // Unlocks the Clutter thread lock.
20282 static void threads_leave()() {
20283 clutter_threads_leave();
20287 // VERSION: 1.0
20288 // Removes the repaint function with @handle_id as its id
20289 // <handle_id>: an unsigned integer greater than zero
20290 static void threads_remove_repaint_func()(uint handle_id) {
20291 clutter_threads_remove_repaint_func(handle_id);
20295 // Unintrospectable function: threads_set_lock_functions() / clutter_threads_set_lock_functions()
20296 // VERSION: 0.4
20297 // Allows the application to replace the standard method that
20298 // Clutter uses to protect its data structures. Normally, Clutter
20299 // creates a single #GMutex that is locked by clutter_threads_enter(),
20300 // and released by clutter_threads_leave(); using this function an
20301 // application provides, instead, a function @enter_fn that is
20302 // called by clutter_threads_enter() and a function @leave_fn that is
20303 // called by clutter_threads_leave().
20305 // The functions must provide at least same locking functionality
20306 // as the default implementation, but can also do extra application
20307 // specific processing.
20309 // As an example, consider an application that has its own recursive
20310 // lock that when held, holds the Clutter lock as well. When Clutter
20311 // unlocks the Clutter lock when entering a recursive main loop, the
20312 // application must temporarily release its lock as well.
20314 // Most threaded Clutter apps won't need to use this method.
20316 // This method must be called before clutter_threads_init(), and cannot
20317 // be called multiple times.
20318 // <enter_fn>: function called when aquiring the Clutter main lock
20319 // <leave_fn>: function called when releasing the Clutter main lock
20320 static void threads_set_lock_functions()(GObject2.Callback enter_fn, GObject2.Callback leave_fn) {
20321 clutter_threads_set_lock_functions(enter_fn, leave_fn);
20324 enum int threeeighths = 2756;
20325 enum int threefifths = 2740;
20326 enum int threequarters = 190;
20327 enum int threesubscript = 16785539;
20328 enum int threesuperior = 179;
20330 // Unintrospectable function: timeout_pool_new() / clutter_timeout_pool_new()
20331 // VERSION: 0.4
20332 // DEPRECATED function: timeout_pool_new - 1.6
20333 // MOVED TO: TimeoutPool.new
20334 // Creates a new timeout pool source. A timeout pool should be used when
20335 // multiple timeout functions, running at the same priority, are needed and
20336 // the g_timeout_add() API might lead to starvation of the time slice of
20337 // the main loop. A timeout pool allocates a single time slice of the main
20338 // loop and runs every timeout function inside it. The timeout pool is
20339 // always sorted, so that the extraction of the next timeout function is
20340 // a constant time operation.
20342 // is owned by the GLib default context and will be automatically
20343 // destroyed when the context is destroyed. It is possible to force
20344 // the destruction of the timeout pool using g_source_destroy()
20345 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
20346 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
20347 static TimeoutPool* timeout_pool_new()(int priority) {
20348 return clutter_timeout_pool_new(priority);
20351 enum int tintegral = 16785965;
20352 enum int topintegral = 2212;
20353 enum int topleftparens = 2219;
20354 enum int topleftradical = 2210;
20355 enum int topleftsqbracket = 2215;
20356 enum int topleftsummation = 2225;
20357 enum int toprightparens = 2221;
20358 enum int toprightsqbracket = 2217;
20359 enum int toprightsummation = 2229;
20360 enum int topt = 2551;
20361 enum int topvertsummationconnector = 2227;
20362 enum int trademark = 2761;
20363 enum int trademarkincircle = 2763;
20364 enum int tslash = 956;
20365 enum int twofifths = 2739;
20366 enum int twosubscript = 16785538;
20367 enum int twosuperior = 178;
20368 enum int twothirds = 2737;
20369 enum int u = 117;
20370 enum int uacute = 250;
20371 enum int ubelowdot = 16785125;
20372 enum int ubreve = 765;
20373 enum int ucircumflex = 251;
20374 enum int udiaeresis = 252;
20375 enum int udoubleacute = 507;
20376 enum int ugrave = 249;
20377 enum int uhook = 16785127;
20378 enum int uhorn = 16777648;
20379 enum int uhornacute = 16785129;
20380 enum int uhornbelowdot = 16785137;
20381 enum int uhorngrave = 16785131;
20382 enum int uhornhook = 16785133;
20383 enum int uhorntilde = 16785135;
20384 enum int umacron = 1022;
20385 enum int underbar = 3014;
20386 enum int underscore = 95;
20388 // VERSION: 0.6
20389 // Removes an existing grab of the keyboard.
20390 static void ungrab_keyboard()() {
20391 clutter_ungrab_keyboard();
20395 // VERSION: 0.6
20396 // Removes an existing grab of the pointer.
20397 static void ungrab_pointer()() {
20398 clutter_ungrab_pointer();
20402 // VERSION: 0.8
20403 // Removes an existing grab of the pointer events for device @id_.
20404 // <id_>: a device id
20405 static void ungrab_pointer_for_device()(int id_) {
20406 clutter_ungrab_pointer_for_device(id_);
20409 enum int union_ = 2269;
20410 enum int uogonek = 1017;
20411 enum int uparrow = 2300;
20412 enum int upcaret = 2985;
20413 enum int upleftcorner = 2540;
20414 enum int uprightcorner = 2539;
20415 enum int upshoe = 3011;
20416 enum int upstile = 3027;
20417 enum int uptack = 3022;
20418 enum int uring = 505;
20420 // DEPRECATED function: util_next_p2 - 1.2
20421 // Calculates the nearest power of two, greater than or equal to @a.
20422 // RETURNS: The nearest power of two, greater or equal to @a.
20423 // <a>: Value to get the next power
20424 static int util_next_p2()(int a) {
20425 return clutter_util_next_p2(a);
20428 enum int utilde = 1021;
20429 enum int v = 118;
20431 // VERSION: 0.8.4
20432 // Gets the #ClutterColor contained in @value.
20433 // RETURNS: the color inside the passed #GValue
20434 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
20435 static Color* value_get_color()(GObject2.Value* value) {
20436 return clutter_value_get_color(value);
20440 // Unintrospectable function: value_get_fixed() / clutter_value_get_fixed()
20441 // VERSION: 0.8
20442 // Gets the fixed point value stored inside @value.
20443 // RETURNS: the value inside the passed #GValue
20444 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
20445 static Cogl.Fixed value_get_fixed()(GObject2.Value* value) {
20446 return clutter_value_get_fixed(value);
20450 // VERSION: 0.8
20451 // Retrieves the list of floating point values stored inside
20452 // the passed #GValue. @value must have been initialized with
20453 // %CLUTTER_TYPE_SHADER_FLOAT.
20455 // The returned value is owned by the #GValue and should never
20456 // be modified or freed.
20457 // RETURNS: the pointer to a list of floating point values.
20458 // <value>: a #GValue
20459 // <length>: return location for the number of returned floating point values, or %NULL
20460 static float* value_get_shader_float()(GObject2.Value* value, size_t* length) {
20461 return clutter_value_get_shader_float(value, length);
20465 // VERSION: 0.8
20466 // Retrieves the list of integer values stored inside the passed
20467 // #GValue. @value must have been initialized with
20468 // %CLUTTER_TYPE_SHADER_INT.
20470 // The returned value is owned by the #GValue and should never
20471 // be modified or freed.
20472 // RETURNS: the pointer to a list of integer values.
20473 // <value>: a #GValue
20474 // <length>: return location for the number of returned integer values, or %NULL
20475 static int* value_get_shader_int()(GObject2.Value* value, size_t* length) {
20476 return clutter_value_get_shader_int(value, length);
20480 // VERSION: 0.8
20481 // Retrieves a matrix of floating point values stored inside
20482 // the passed #GValue. @value must have been initialized with
20483 // %CLUTTER_TYPE_SHADER_MATRIX.
20485 // of floating point values. The returned value is owned by the #GValue and
20486 // should never be modified or freed.
20487 // RETURNS: the pointer to a matrix
20488 // <value>: a #GValue
20489 // <length>: return location for the number of returned floating point values, or %NULL
20490 static float* value_get_shader_matrix()(GObject2.Value* value, /*out*/ size_t* length) {
20491 return clutter_value_get_shader_matrix(value, length);
20495 // VERSION: 0.8
20496 // Gets the #ClutterUnits contained in @value.
20497 // RETURNS: the units inside the passed #GValue
20498 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
20499 static Units* value_get_units()(GObject2.Value* value) {
20500 return clutter_value_get_units(value);
20504 // VERSION: 0.8.4
20505 // Sets @value to @color.
20506 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
20507 // <color>: the color to set
20508 static void value_set_color()(GObject2.Value* value, Color* color) {
20509 clutter_value_set_color(value, color);
20513 // Unintrospectable function: value_set_fixed() / clutter_value_set_fixed()
20514 // VERSION: 0.8
20515 // Sets @value to @fixed_.
20516 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
20517 // <fixed_>: the fixed point value to set
20518 static void value_set_fixed()(GObject2.Value* value, Cogl.Fixed fixed_) {
20519 clutter_value_set_fixed(value, fixed_);
20523 // VERSION: 0.8
20524 // Sets @floats as the contents of @value. The passed #GValue
20525 // must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.
20526 // <value>: a #GValue
20527 // <size>: number of floating point values in @floats
20528 // <floats>: an array of floating point values
20529 static void value_set_shader_float()(GObject2.Value* value, int size, float* floats) {
20530 clutter_value_set_shader_float(value, size, floats);
20534 // VERSION: 0.8
20535 // Sets @ints as the contents of @value. The passed #GValue
20536 // must have been initialized using %CLUTTER_TYPE_SHADER_INT.
20537 // <value>: a #GValue
20538 // <size>: number of integer values in @ints
20539 // <ints>: an array of integer values
20540 static void value_set_shader_int()(GObject2.Value* value, int size, int* ints) {
20541 clutter_value_set_shader_int(value, size, ints);
20545 // VERSION: 0.8
20546 // Sets @matrix as the contents of @value. The passed #GValue
20547 // must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.
20548 // <value>: a #GValue
20549 // <size>: number of floating point values in @floats
20550 // <matrix>: a matrix of floating point values
20551 static void value_set_shader_matrix()(GObject2.Value* value, int size, float* matrix) {
20552 clutter_value_set_shader_matrix(value, size, matrix);
20556 // VERSION: 0.8
20557 // Sets @value to @units
20558 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
20559 // <units>: the units to set
20560 static void value_set_units()(GObject2.Value* value, Units* units) {
20561 clutter_value_set_units(value, units);
20564 enum int variation = 2241;
20565 enum int vertbar = 2552;
20566 enum int vertconnector = 2214;
20567 enum int voicedsound = 1246;
20568 enum int vt = 2537;
20569 enum int w = 119;
20570 enum int wacute = 16785027;
20571 enum int wcircumflex = 16777589;
20572 enum int wdiaeresis = 16785029;
20573 enum int wgrave = 16785025;
20574 enum int x = 120;
20575 enum int xabovedot = 16785035;
20576 enum int y = 121;
20577 enum int yacute = 253;
20578 enum int ybelowdot = 16785141;
20579 enum int ycircumflex = 16777591;
20580 enum int ydiaeresis = 255;
20581 enum int yen = 165;
20582 enum int ygrave = 16785139;
20583 enum int yhook = 16785143;
20584 enum int ytilde = 16785145;
20585 enum int z = 122;
20586 enum int zabovedot = 447;
20587 enum int zacute = 444;
20588 enum int zcaron = 446;
20589 enum int zerosubscript = 16785536;
20590 enum int zerosuperior = 16785520;
20591 enum int zstroke = 16777654;
20593 // --- mixin/Clutter__MODULE.d --->
20595 // An overload of init() that works with D strings.
20596 // Unlike the original, it does not need to modify the inputs.
20597 // Returns a new string array (that can be assigned to the argv
20598 // array in the caller).
20600 string[] init()(string argv[]) {
20601 int argc = argv.length;
20602 auto c_argv = argvToC(argv);
20603 init(&argc, &c_argv);
20604 return argvFromC(argc, c_argv);
20608 // <--- mixin/Clutter__MODULE.d ---
20610 // C prototypes:
20612 extern (C) {
20613 void clutter_actor_add_action(Actor* this_, Action* action);
20614 void clutter_actor_add_action_with_name(Actor* this_, char* name, Action* action);
20615 void clutter_actor_add_constraint(Actor* this_, Constraint* constraint);
20616 void clutter_actor_add_constraint_with_name(Actor* this_, char* name, Constraint* constraint);
20617 void clutter_actor_add_effect(Actor* this_, Effect* effect);
20618 void clutter_actor_add_effect_with_name(Actor* this_, char* name, Effect* effect);
20619 void clutter_actor_allocate(Actor* this_, ActorBox* box, AllocationFlags flags);
20620 void clutter_actor_allocate_align_fill(Actor* this_, ActorBox* box, double x_align, double y_align, int x_fill, int y_fill, AllocationFlags flags);
20621 void clutter_actor_allocate_available_size(Actor* this_, float x, float y, float available_width, float available_height, AllocationFlags flags);
20622 void clutter_actor_allocate_preferred_size(Actor* this_, AllocationFlags flags);
20623 Animation* clutter_actor_animate(Actor* this_, c_ulong mode, uint duration, char* first_property_name, ...);
20624 Animation* clutter_actor_animate_with_alpha(Actor* this_, Alpha* alpha, char* first_property_name, ...);
20625 Animation* clutter_actor_animate_with_alphav(Actor* this_, Alpha* alpha, int n_properties, char* properties, GObject2.Value* values);
20626 Animation* clutter_actor_animate_with_timeline(Actor* this_, c_ulong mode, Timeline* timeline, char* first_property_name, ...);
20627 Animation* clutter_actor_animate_with_timelinev(Actor* this_, c_ulong mode, Timeline* timeline, int n_properties, char* properties, GObject2.Value* values);
20628 Animation* clutter_actor_animatev(Actor* this_, c_ulong mode, uint duration, int n_properties, char* properties, GObject2.Value* values);
20629 void clutter_actor_apply_relative_transform_to_point(Actor* this_, Actor* ancestor, Vertex* point, /*out*/ Vertex* vertex);
20630 void clutter_actor_apply_transform_to_point(Actor* this_, Vertex* point, /*out*/ Vertex* vertex);
20631 void clutter_actor_clear_actions(Actor* this_);
20632 void clutter_actor_clear_constraints(Actor* this_);
20633 void clutter_actor_clear_effects(Actor* this_);
20634 int clutter_actor_contains(Actor* this_, Actor* descendant);
20635 void clutter_actor_continue_paint(Actor* this_);
20636 Pango.Context* /*new*/ clutter_actor_create_pango_context(Actor* this_);
20637 Pango.Layout* /*new*/ clutter_actor_create_pango_layout(Actor* this_, char* text);
20638 void clutter_actor_destroy(Actor* this_);
20639 void clutter_actor_detach_animation(Actor* this_);
20640 int clutter_actor_event(Actor* this_, Event* event, int capture);
20641 void clutter_actor_get_abs_allocation_vertices(Actor* this_, /*out*/ Vertex verts);
20642 Atk.Object* clutter_actor_get_accessible(Actor* this_);
20643 Action* clutter_actor_get_action(Actor* this_, char* name);
20644 GLib2.List* /*new container*/ clutter_actor_get_actions(Actor* this_);
20645 void clutter_actor_get_allocation_box(Actor* this_, /*out*/ ActorBox* box);
20646 void clutter_actor_get_allocation_geometry(Actor* this_, /*out*/ Geometry* geom);
20647 void clutter_actor_get_allocation_vertices(Actor* this_, Actor* ancestor, /*out*/ Vertex verts);
20648 void clutter_actor_get_anchor_point(Actor* this_, /*out*/ float* anchor_x, /*out*/ float* anchor_y);
20649 Gravity clutter_actor_get_anchor_point_gravity(Actor* this_);
20650 Animation* clutter_actor_get_animation(Actor* this_);
20651 void clutter_actor_get_clip(Actor* this_, /*out*/ float* xoff=null, /*out*/ float* yoff=null, /*out*/ float* width=null, /*out*/ float* height=null);
20652 int clutter_actor_get_clip_to_allocation(Actor* this_);
20653 Constraint* clutter_actor_get_constraint(Actor* this_, char* name);
20654 GLib2.List* /*new container*/ clutter_actor_get_constraints(Actor* this_);
20655 float clutter_actor_get_depth(Actor* this_);
20656 Effect* clutter_actor_get_effect(Actor* this_, char* name);
20657 GLib2.List* /*new container*/ clutter_actor_get_effects(Actor* this_);
20658 int clutter_actor_get_fixed_position_set(Actor* this_);
20659 ActorFlags clutter_actor_get_flags(Actor* this_);
20660 void clutter_actor_get_geometry(Actor* this_, /*out*/ Geometry* geometry);
20661 uint clutter_actor_get_gid(Actor* this_);
20662 float clutter_actor_get_height(Actor* this_);
20663 char* clutter_actor_get_name(Actor* this_);
20664 OffscreenRedirect clutter_actor_get_offscreen_redirect(Actor* this_);
20665 ubyte clutter_actor_get_opacity(Actor* this_);
20666 int clutter_actor_get_paint_box(Actor* this_, /*out*/ ActorBox* box);
20667 ubyte clutter_actor_get_paint_opacity(Actor* this_);
20668 int clutter_actor_get_paint_visibility(Actor* this_);
20669 PaintVolume* clutter_actor_get_paint_volume(Actor* this_);
20670 Pango.Context* clutter_actor_get_pango_context(Actor* this_);
20671 Actor* clutter_actor_get_parent(Actor* this_);
20672 void clutter_actor_get_position(Actor* this_, /*out*/ float* x=null, /*out*/ float* y=null);
20673 void clutter_actor_get_preferred_height(Actor* this_, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* natural_height_p=null);
20674 void clutter_actor_get_preferred_size(Actor* this_, /*out*/ float* min_width_p=null, /*out*/ float* min_height_p=null, /*out*/ float* natural_width_p=null, /*out*/ float* natural_height_p=null);
20675 void clutter_actor_get_preferred_width(Actor* this_, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* natural_width_p=null);
20676 int clutter_actor_get_reactive(Actor* this_);
20677 RequestMode clutter_actor_get_request_mode(Actor* this_);
20678 double clutter_actor_get_rotation(Actor* this_, RotateAxis axis, /*out*/ float* x, /*out*/ float* y, /*out*/ float* z);
20679 void clutter_actor_get_scale(Actor* this_, /*out*/ double* scale_x=null, /*out*/ double* scale_y=null);
20680 void clutter_actor_get_scale_center(Actor* this_, /*out*/ float* center_x=null, /*out*/ float* center_y=null);
20681 Gravity clutter_actor_get_scale_gravity(Actor* this_);
20682 Shader* clutter_actor_get_shader(Actor* this_);
20683 void clutter_actor_get_size(Actor* this_, /*out*/ float* width=null, /*out*/ float* height=null);
20684 Actor* clutter_actor_get_stage(Actor* this_);
20685 TextDirection clutter_actor_get_text_direction(Actor* this_);
20686 void clutter_actor_get_transformation_matrix(Actor* this_, /*out*/ Cogl.Matrix* matrix);
20687 PaintVolume* clutter_actor_get_transformed_paint_volume(Actor* this_, Actor* relative_to_ancestor);
20688 void clutter_actor_get_transformed_position(Actor* this_, /*out*/ float* x=null, /*out*/ float* y=null);
20689 void clutter_actor_get_transformed_size(Actor* this_, /*out*/ float* width=null, /*out*/ float* height=null);
20690 float clutter_actor_get_width(Actor* this_);
20691 float clutter_actor_get_x(Actor* this_);
20692 float clutter_actor_get_y(Actor* this_);
20693 Gravity clutter_actor_get_z_rotation_gravity(Actor* this_);
20694 void clutter_actor_grab_key_focus(Actor* this_);
20695 int clutter_actor_has_allocation(Actor* this_);
20696 int clutter_actor_has_clip(Actor* this_);
20697 int clutter_actor_has_key_focus(Actor* this_);
20698 int clutter_actor_has_overlaps(Actor* this_);
20699 int clutter_actor_has_pointer(Actor* this_);
20700 void clutter_actor_hide(Actor* this_);
20701 void clutter_actor_hide_all(Actor* this_);
20702 int clutter_actor_is_in_clone_paint(Actor* this_);
20703 int clutter_actor_is_rotated(Actor* this_);
20704 int clutter_actor_is_scaled(Actor* this_);
20705 void clutter_actor_lower(Actor* this_, Actor* above=null);
20706 void clutter_actor_lower_bottom(Actor* this_);
20707 void clutter_actor_map(Actor* this_);
20708 void clutter_actor_move_anchor_point(Actor* this_, float anchor_x, float anchor_y);
20709 void clutter_actor_move_anchor_point_from_gravity(Actor* this_, Gravity gravity);
20710 void clutter_actor_move_by(Actor* this_, float dx, float dy);
20711 void clutter_actor_paint(Actor* this_);
20712 void clutter_actor_pop_internal(Actor* this_);
20713 void clutter_actor_push_internal(Actor* this_);
20714 void clutter_actor_queue_redraw(Actor* this_);
20715 void clutter_actor_queue_relayout(Actor* this_);
20716 void clutter_actor_raise(Actor* this_, Actor* below=null);
20717 void clutter_actor_raise_top(Actor* this_);
20718 void clutter_actor_realize(Actor* this_);
20719 void clutter_actor_remove_action(Actor* this_, Action* action);
20720 void clutter_actor_remove_action_by_name(Actor* this_, char* name);
20721 void clutter_actor_remove_clip(Actor* this_);
20722 void clutter_actor_remove_constraint(Actor* this_, Constraint* constraint);
20723 void clutter_actor_remove_constraint_by_name(Actor* this_, char* name);
20724 void clutter_actor_remove_effect(Actor* this_, Effect* effect);
20725 void clutter_actor_remove_effect_by_name(Actor* this_, char* name);
20726 void clutter_actor_reparent(Actor* this_, Actor* new_parent);
20727 void clutter_actor_set_anchor_point(Actor* this_, float anchor_x, float anchor_y);
20728 void clutter_actor_set_anchor_point_from_gravity(Actor* this_, Gravity gravity);
20729 void clutter_actor_set_clip(Actor* this_, float xoff, float yoff, float width, float height);
20730 void clutter_actor_set_clip_to_allocation(Actor* this_, int clip_set);
20731 void clutter_actor_set_depth(Actor* this_, float depth);
20732 void clutter_actor_set_fixed_position_set(Actor* this_, int is_set);
20733 void clutter_actor_set_flags(Actor* this_, ActorFlags flags);
20734 void clutter_actor_set_geometry(Actor* this_, Geometry* geometry);
20735 void clutter_actor_set_height(Actor* this_, float height);
20736 void clutter_actor_set_name(Actor* this_, char* name);
20737 void clutter_actor_set_offscreen_redirect(Actor* this_, OffscreenRedirect redirect);
20738 void clutter_actor_set_opacity(Actor* this_, ubyte opacity);
20739 void clutter_actor_set_parent(Actor* this_, Actor* parent);
20740 void clutter_actor_set_position(Actor* this_, float x, float y);
20741 void clutter_actor_set_reactive(Actor* this_, int reactive);
20742 void clutter_actor_set_request_mode(Actor* this_, RequestMode mode);
20743 void clutter_actor_set_rotation(Actor* this_, RotateAxis axis, double angle, float x, float y, float z);
20744 void clutter_actor_set_scale(Actor* this_, double scale_x, double scale_y);
20745 void clutter_actor_set_scale_full(Actor* this_, double scale_x, double scale_y, float center_x, float center_y);
20746 void clutter_actor_set_scale_with_gravity(Actor* this_, double scale_x, double scale_y, Gravity gravity);
20747 int clutter_actor_set_shader(Actor* this_, Shader* shader=null);
20748 void clutter_actor_set_shader_param(Actor* this_, char* param, GObject2.Value* value);
20749 void clutter_actor_set_shader_param_float(Actor* this_, char* param, float value);
20750 void clutter_actor_set_shader_param_int(Actor* this_, char* param, int value);
20751 void clutter_actor_set_size(Actor* this_, float width, float height);
20752 void clutter_actor_set_text_direction(Actor* this_, TextDirection text_dir);
20753 void clutter_actor_set_width(Actor* this_, float width);
20754 void clutter_actor_set_x(Actor* this_, float x);
20755 void clutter_actor_set_y(Actor* this_, float y);
20756 void clutter_actor_set_z_rotation_from_gravity(Actor* this_, double angle, Gravity gravity);
20757 int clutter_actor_should_pick_paint(Actor* this_);
20758 void clutter_actor_show(Actor* this_);
20759 void clutter_actor_show_all(Actor* this_);
20760 int clutter_actor_transform_stage_point(Actor* this_, float x, float y, /*out*/ float* x_out, /*out*/ float* y_out);
20761 void clutter_actor_unmap(Actor* this_);
20762 void clutter_actor_unparent(Actor* this_);
20763 void clutter_actor_unrealize(Actor* this_);
20764 void clutter_actor_unset_flags(Actor* this_, ActorFlags flags);
20765 ActorBox* /*new*/ clutter_actor_box_new(float x_1, float y_1, float x_2, float y_2);
20766 void clutter_actor_box_clamp_to_pixel(ActorBox* this_);
20767 int clutter_actor_box_contains(ActorBox* this_, float x, float y);
20768 ActorBox* /*new*/ clutter_actor_box_copy(ActorBox* this_);
20769 int clutter_actor_box_equal(ActorBox* this_, ActorBox* box_b);
20770 void clutter_actor_box_free(ActorBox* this_);
20771 void clutter_actor_box_from_vertices(ActorBox* this_, Vertex verts);
20772 float clutter_actor_box_get_area(ActorBox* this_);
20773 float clutter_actor_box_get_height(ActorBox* this_);
20774 void clutter_actor_box_get_origin(ActorBox* this_, /*out*/ float* x=null, /*out*/ float* y=null);
20775 void clutter_actor_box_get_size(ActorBox* this_, /*out*/ float* width=null, /*out*/ float* height=null);
20776 float clutter_actor_box_get_width(ActorBox* this_);
20777 float clutter_actor_box_get_x(ActorBox* this_);
20778 float clutter_actor_box_get_y(ActorBox* this_);
20779 void clutter_actor_box_interpolate(ActorBox* this_, ActorBox* final_, double progress, /*out*/ ActorBox* result);
20780 void clutter_actor_box_set_origin(ActorBox* this_, float x, float y);
20781 void clutter_actor_box_set_size(ActorBox* this_, float width, float height);
20782 void clutter_actor_box_union(ActorBox* this_, ActorBox* b, /*out*/ ActorBox* result);
20783 Actor* clutter_actor_meta_get_actor(ActorMeta* this_);
20784 int clutter_actor_meta_get_enabled(ActorMeta* this_);
20785 char* clutter_actor_meta_get_name(ActorMeta* this_);
20786 void clutter_actor_meta_set_enabled(ActorMeta* this_, int is_enabled);
20787 void clutter_actor_meta_set_name(ActorMeta* this_, char* name);
20788 AlignConstraint* clutter_align_constraint_new(Actor* source, AlignAxis axis, float factor);
20789 AlignAxis clutter_align_constraint_get_align_axis(AlignConstraint* this_);
20790 float clutter_align_constraint_get_factor(AlignConstraint* this_);
20791 Actor* clutter_align_constraint_get_source(AlignConstraint* this_);
20792 void clutter_align_constraint_set_align_axis(AlignConstraint* this_, AlignAxis axis);
20793 void clutter_align_constraint_set_factor(AlignConstraint* this_, float factor);
20794 void clutter_align_constraint_set_source(AlignConstraint* this_, Actor* source=null);
20795 Alpha* clutter_alpha_new();
20796 Alpha* clutter_alpha_new_full(Timeline* timeline, c_ulong mode);
20797 Alpha* clutter_alpha_new_with_func(Timeline* timeline, AlphaFunc func, void* data, GLib2.DestroyNotify destroy);
20798 c_ulong clutter_alpha_register_closure(GObject2.Closure* closure);
20799 c_ulong clutter_alpha_register_func(AlphaFunc func, void* data);
20800 double clutter_alpha_get_alpha(Alpha* this_);
20801 c_ulong clutter_alpha_get_mode(Alpha* this_);
20802 Timeline* clutter_alpha_get_timeline(Alpha* this_);
20803 void clutter_alpha_set_closure(Alpha* this_, GObject2.Closure* closure);
20804 void clutter_alpha_set_func(Alpha* this_, AlphaFunc func, void* data, GLib2.DestroyNotify destroy);
20805 void clutter_alpha_set_mode(Alpha* this_, c_ulong mode);
20806 void clutter_alpha_set_timeline(Alpha* this_, Timeline* timeline);
20807 int clutter_animatable_animate_property(Animatable* this_, Animation* animation, char* property_name, GObject2.Value* initial_value, GObject2.Value* final_value, double progress, GObject2.Value* value);
20808 GObject2.ParamSpec* clutter_animatable_find_property(Animatable* this_, char* property_name);
20809 void clutter_animatable_get_initial_state(Animatable* this_, char* property_name, GObject2.Value* value);
20810 int clutter_animatable_interpolate_value(Animatable* this_, char* property_name, Interval* interval, double progress, /*out*/ GObject2.Value* value);
20811 void clutter_animatable_set_final_state(Animatable* this_, char* property_name, GObject2.Value* value);
20812 Animation* /*new*/ clutter_animation_new();
20813 Animation* clutter_animation_bind(Animation* this_, char* property_name, GObject2.Value* final_);
20814 Animation* clutter_animation_bind_interval(Animation* this_, char* property_name, Interval* interval);
20815 void clutter_animation_completed(Animation* this_);
20816 Alpha* clutter_animation_get_alpha(Animation* this_);
20817 uint clutter_animation_get_duration(Animation* this_);
20818 Interval* clutter_animation_get_interval(Animation* this_, char* property_name);
20819 int clutter_animation_get_loop(Animation* this_);
20820 c_ulong clutter_animation_get_mode(Animation* this_);
20821 GObject2.Object* clutter_animation_get_object(Animation* this_);
20822 Timeline* clutter_animation_get_timeline(Animation* this_);
20823 int clutter_animation_has_property(Animation* this_, char* property_name);
20824 void clutter_animation_set_alpha(Animation* this_, Alpha* alpha);
20825 void clutter_animation_set_duration(Animation* this_, uint msecs);
20826 void clutter_animation_set_loop(Animation* this_, int loop);
20827 void clutter_animation_set_mode(Animation* this_, c_ulong mode);
20828 void clutter_animation_set_object(Animation* this_, GObject2.Object* object);
20829 void clutter_animation_set_timeline(Animation* this_, Timeline* timeline);
20830 void clutter_animation_unbind_property(Animation* this_, char* property_name);
20831 Animation* clutter_animation_update(Animation* this_, char* property_name, GObject2.Value* final_);
20832 void clutter_animation_update_interval(Animation* this_, char* property_name, Interval* interval);
20833 Animator* /*new*/ clutter_animator_new();
20834 int clutter_animator_compute_value(Animator* this_, GObject2.Object* object, char* property_name, double progress, GObject2.Value* value);
20835 uint clutter_animator_get_duration(Animator* this_);
20836 GLib2.List* /*new container*/ clutter_animator_get_keys(Animator* this_, GObject2.Object* object, char* property_name, double progress);
20837 Timeline* clutter_animator_get_timeline(Animator* this_);
20838 int clutter_animator_property_get_ease_in(Animator* this_, GObject2.Object* object, char* property_name);
20839 Interpolation clutter_animator_property_get_interpolation(Animator* this_, GObject2.Object* object, char* property_name);
20840 void clutter_animator_property_set_ease_in(Animator* this_, GObject2.Object* object, char* property_name, int ease_in);
20841 void clutter_animator_property_set_interpolation(Animator* this_, GObject2.Object* object, char* property_name, Interpolation interpolation);
20842 void clutter_animator_remove_key(Animator* this_, GObject2.Object* object, char* property_name, double progress);
20843 void clutter_animator_set(Animator* this_, void* first_object, char* first_property_name, uint first_mode, double first_progress, ...);
20844 void clutter_animator_set_duration(Animator* this_, uint duration);
20845 Animator* clutter_animator_set_key(Animator* this_, GObject2.Object* object, char* property_name, uint mode, double progress, GObject2.Value* value);
20846 void clutter_animator_set_timeline(Animator* this_, Timeline* timeline);
20847 Timeline* clutter_animator_start(Animator* this_);
20848 c_ulong clutter_animator_key_get_mode(AnimatorKey* this_);
20849 GObject2.Object* clutter_animator_key_get_object(AnimatorKey* this_);
20850 double clutter_animator_key_get_progress(AnimatorKey* this_);
20851 char* clutter_animator_key_get_property_name(AnimatorKey* this_);
20852 Type clutter_animator_key_get_property_type(AnimatorKey* this_);
20853 int clutter_animator_key_get_value(AnimatorKey* this_, GObject2.Value* value);
20854 uint clutter_backend_get_double_click_distance(Backend* this_);
20855 uint clutter_backend_get_double_click_time(Backend* this_);
20856 char* clutter_backend_get_font_name(Backend* this_);
20857 cairo.FontOptions* clutter_backend_get_font_options(Backend* this_);
20858 double clutter_backend_get_resolution(Backend* this_);
20859 void clutter_backend_set_double_click_distance(Backend* this_, uint distance);
20860 void clutter_backend_set_double_click_time(Backend* this_, uint msec);
20861 void clutter_backend_set_font_name(Backend* this_, char* font_name);
20862 void clutter_backend_set_font_options(Backend* this_, cairo.FontOptions* options);
20863 void clutter_backend_set_resolution(Backend* this_, double dpi);
20864 void clutter_behaviour_actors_foreach(Behaviour* this_, BehaviourForeachFunc func, void* data);
20865 void clutter_behaviour_apply(Behaviour* this_, Actor* actor);
20866 GLib2.SList* /*new container*/ clutter_behaviour_get_actors(Behaviour* this_);
20867 Alpha* clutter_behaviour_get_alpha(Behaviour* this_);
20868 int clutter_behaviour_get_n_actors(Behaviour* this_);
20869 Actor* clutter_behaviour_get_nth_actor(Behaviour* this_, int index_);
20870 int clutter_behaviour_is_applied(Behaviour* this_, Actor* actor);
20871 void clutter_behaviour_remove(Behaviour* this_, Actor* actor);
20872 void clutter_behaviour_remove_all(Behaviour* this_);
20873 void clutter_behaviour_set_alpha(Behaviour* this_, Alpha* alpha);
20874 BehaviourDepth* /*new*/ clutter_behaviour_depth_new(Alpha* alpha, int depth_start, int depth_end);
20875 void clutter_behaviour_depth_get_bounds(BehaviourDepth* this_, /*out*/ int* depth_start, /*out*/ int* depth_end);
20876 void clutter_behaviour_depth_set_bounds(BehaviourDepth* this_, int depth_start, int depth_end);
20877 BehaviourEllipse* /*new*/ clutter_behaviour_ellipse_new(Alpha* alpha, int x, int y, int width, int height, RotateDirection direction, double start, double end);
20878 double clutter_behaviour_ellipse_get_angle_end(BehaviourEllipse* this_);
20879 double clutter_behaviour_ellipse_get_angle_start(BehaviourEllipse* this_);
20880 double clutter_behaviour_ellipse_get_angle_tilt(BehaviourEllipse* this_, RotateAxis axis);
20881 void clutter_behaviour_ellipse_get_center(BehaviourEllipse* this_, /*out*/ int* x, /*out*/ int* y);
20882 RotateDirection clutter_behaviour_ellipse_get_direction(BehaviourEllipse* this_);
20883 int clutter_behaviour_ellipse_get_height(BehaviourEllipse* this_);
20884 void clutter_behaviour_ellipse_get_tilt(BehaviourEllipse* this_, /*out*/ double* angle_tilt_x, /*out*/ double* angle_tilt_y, /*out*/ double* angle_tilt_z);
20885 int clutter_behaviour_ellipse_get_width(BehaviourEllipse* this_);
20886 void clutter_behaviour_ellipse_set_angle_end(BehaviourEllipse* this_, double angle_end);
20887 void clutter_behaviour_ellipse_set_angle_start(BehaviourEllipse* this_, double angle_start);
20888 void clutter_behaviour_ellipse_set_angle_tilt(BehaviourEllipse* this_, RotateAxis axis, double angle_tilt);
20889 void clutter_behaviour_ellipse_set_center(BehaviourEllipse* this_, int x, int y);
20890 void clutter_behaviour_ellipse_set_direction(BehaviourEllipse* this_, RotateDirection direction);
20891 void clutter_behaviour_ellipse_set_height(BehaviourEllipse* this_, int height);
20892 void clutter_behaviour_ellipse_set_tilt(BehaviourEllipse* this_, double angle_tilt_x, double angle_tilt_y, double angle_tilt_z);
20893 void clutter_behaviour_ellipse_set_width(BehaviourEllipse* this_, int width);
20894 BehaviourOpacity* /*new*/ clutter_behaviour_opacity_new(Alpha* alpha, ubyte opacity_start, ubyte opacity_end);
20895 void clutter_behaviour_opacity_get_bounds(BehaviourOpacity* this_, /*out*/ ubyte* opacity_start, /*out*/ ubyte* opacity_end);
20896 void clutter_behaviour_opacity_set_bounds(BehaviourOpacity* this_, ubyte opacity_start, ubyte opacity_end);
20897 BehaviourPath* /*new*/ clutter_behaviour_path_new(Alpha* alpha, Path* path);
20898 BehaviourPath* /*new*/ clutter_behaviour_path_new_with_description(Alpha* alpha, char* desc);
20899 BehaviourPath* /*new*/ clutter_behaviour_path_new_with_knots(Alpha* alpha, Knot* knots, uint n_knots);
20900 Path* clutter_behaviour_path_get_path(BehaviourPath* this_);
20901 void clutter_behaviour_path_set_path(BehaviourPath* this_, Path* path);
20902 BehaviourRotate* /*new*/ clutter_behaviour_rotate_new(Alpha* alpha, RotateAxis axis, RotateDirection direction, double angle_start, double angle_end);
20903 RotateAxis clutter_behaviour_rotate_get_axis(BehaviourRotate* this_);
20904 void clutter_behaviour_rotate_get_bounds(BehaviourRotate* this_, /*out*/ double* angle_start, /*out*/ double* angle_end);
20905 void clutter_behaviour_rotate_get_center(BehaviourRotate* this_, /*out*/ int* x, /*out*/ int* y, /*out*/ int* z);
20906 RotateDirection clutter_behaviour_rotate_get_direction(BehaviourRotate* this_);
20907 void clutter_behaviour_rotate_set_axis(BehaviourRotate* this_, RotateAxis axis);
20908 void clutter_behaviour_rotate_set_bounds(BehaviourRotate* this_, double angle_start, double angle_end);
20909 void clutter_behaviour_rotate_set_center(BehaviourRotate* this_, int x, int y, int z);
20910 void clutter_behaviour_rotate_set_direction(BehaviourRotate* this_, RotateDirection direction);
20911 BehaviourScale* /*new*/ clutter_behaviour_scale_new(Alpha* alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
20912 void clutter_behaviour_scale_get_bounds(BehaviourScale* this_, /*out*/ double* x_scale_start, /*out*/ double* y_scale_start, /*out*/ double* x_scale_end, /*out*/ double* y_scale_end);
20913 void clutter_behaviour_scale_set_bounds(BehaviourScale* this_, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
20914 BinLayout* clutter_bin_layout_new(BinAlignment x_align, BinAlignment y_align);
20915 void clutter_bin_layout_add(BinLayout* this_, Actor* child, BinAlignment x_align, BinAlignment y_align);
20916 void clutter_bin_layout_get_alignment(BinLayout* this_, Actor* child=null, /*out*/ BinAlignment* x_align=null, /*out*/ BinAlignment* y_align=null);
20917 void clutter_bin_layout_set_alignment(BinLayout* this_, Actor* child, BinAlignment x_align, BinAlignment y_align);
20918 BindConstraint* clutter_bind_constraint_new(Actor* source, BindCoordinate coordinate, float offset);
20919 BindCoordinate clutter_bind_constraint_get_coordinate(BindConstraint* this_);
20920 float clutter_bind_constraint_get_offset(BindConstraint* this_);
20921 Actor* clutter_bind_constraint_get_source(BindConstraint* this_);
20922 void clutter_bind_constraint_set_coordinate(BindConstraint* this_, BindCoordinate coordinate);
20923 void clutter_bind_constraint_set_offset(BindConstraint* this_, float offset);
20924 void clutter_bind_constraint_set_source(BindConstraint* this_, Actor* source=null);
20925 BindingPool* /*new*/ clutter_binding_pool_new(char* name);
20926 BindingPool* clutter_binding_pool_find(char* name);
20927 BindingPool* clutter_binding_pool_get_for_class(void* klass);
20928 int clutter_binding_pool_activate(BindingPool* this_, uint key_val, ModifierType modifiers, GObject2.Object* gobject);
20929 void clutter_binding_pool_block_action(BindingPool* this_, char* action_name);
20930 char* clutter_binding_pool_find_action(BindingPool* this_, uint key_val, ModifierType modifiers);
20931 void clutter_binding_pool_install_action(BindingPool* this_, char* action_name, uint key_val, ModifierType modifiers, GObject2.Callback callback, void* data, GLib2.DestroyNotify notify);
20932 void clutter_binding_pool_install_closure(BindingPool* this_, char* action_name, uint key_val, ModifierType modifiers, GObject2.Closure* closure);
20933 void clutter_binding_pool_override_action(BindingPool* this_, uint key_val, ModifierType modifiers, GObject2.Callback callback, void* data, GLib2.DestroyNotify notify);
20934 void clutter_binding_pool_override_closure(BindingPool* this_, uint key_val, ModifierType modifiers, GObject2.Closure* closure);
20935 void clutter_binding_pool_remove_action(BindingPool* this_, uint key_val, ModifierType modifiers);
20936 void clutter_binding_pool_unblock_action(BindingPool* this_, char* action_name);
20937 BlurEffect* clutter_blur_effect_new();
20938 Box* clutter_box_new(LayoutManager* manager);
20939 void clutter_box_get_color(Box* this_, /*out*/ Color* color);
20940 LayoutManager* clutter_box_get_layout_manager(Box* this_);
20941 void clutter_box_pack(Box* this_, Actor* actor, char* first_property, ...);
20942 void clutter_box_pack_after(Box* this_, Actor* actor, Actor* sibling, char* first_property, ...);
20943 void clutter_box_pack_at(Box* this_, Actor* actor, int position, char* first_property, ...);
20944 void clutter_box_pack_before(Box* this_, Actor* actor, Actor* sibling, char* first_property, ...);
20945 void clutter_box_packv(Box* this_, Actor* actor, uint n_properties, char* properties, GObject2.Value* values);
20946 void clutter_box_set_color(Box* this_, Color* color=null);
20947 void clutter_box_set_layout_manager(Box* this_, LayoutManager* manager);
20948 BoxLayout* clutter_box_layout_new();
20949 void clutter_box_layout_get_alignment(BoxLayout* this_, Actor* actor, /*out*/ BoxAlignment* x_align, /*out*/ BoxAlignment* y_align);
20950 uint clutter_box_layout_get_easing_duration(BoxLayout* this_);
20951 c_ulong clutter_box_layout_get_easing_mode(BoxLayout* this_);
20952 int clutter_box_layout_get_expand(BoxLayout* this_, Actor* actor);
20953 void clutter_box_layout_get_fill(BoxLayout* this_, Actor* actor, /*out*/ int* x_fill, /*out*/ int* y_fill);
20954 int clutter_box_layout_get_homogeneous(BoxLayout* this_);
20955 int clutter_box_layout_get_pack_start(BoxLayout* this_);
20956 uint clutter_box_layout_get_spacing(BoxLayout* this_);
20957 int clutter_box_layout_get_use_animations(BoxLayout* this_);
20958 int clutter_box_layout_get_vertical(BoxLayout* this_);
20959 void clutter_box_layout_pack(BoxLayout* this_, Actor* actor, int expand, int x_fill, int y_fill, BoxAlignment x_align, BoxAlignment y_align);
20960 void clutter_box_layout_set_alignment(BoxLayout* this_, Actor* actor, BoxAlignment x_align, BoxAlignment y_align);
20961 void clutter_box_layout_set_easing_duration(BoxLayout* this_, uint msecs);
20962 void clutter_box_layout_set_easing_mode(BoxLayout* this_, c_ulong mode);
20963 void clutter_box_layout_set_expand(BoxLayout* this_, Actor* actor, int expand);
20964 void clutter_box_layout_set_fill(BoxLayout* this_, Actor* actor, int x_fill, int y_fill);
20965 void clutter_box_layout_set_homogeneous(BoxLayout* this_, int homogeneous);
20966 void clutter_box_layout_set_pack_start(BoxLayout* this_, int pack_start);
20967 void clutter_box_layout_set_spacing(BoxLayout* this_, uint spacing);
20968 void clutter_box_layout_set_use_animations(BoxLayout* this_, int animate);
20969 void clutter_box_layout_set_vertical(BoxLayout* this_, int vertical);
20970 CairoTexture* clutter_cairo_texture_new(uint width, uint height);
20971 void clutter_cairo_texture_clear(CairoTexture* this_);
20972 cairo.Context* /*new*/ clutter_cairo_texture_create(CairoTexture* this_);
20973 cairo.Context* /*new*/ clutter_cairo_texture_create_region(CairoTexture* this_, int x_offset, int y_offset, int width, int height);
20974 int clutter_cairo_texture_get_auto_resize(CairoTexture* this_);
20975 void clutter_cairo_texture_get_surface_size(CairoTexture* this_, /*out*/ uint* width, /*out*/ uint* height);
20976 void clutter_cairo_texture_invalidate(CairoTexture* this_);
20977 void clutter_cairo_texture_invalidate_rectangle(CairoTexture* this_, cairo.RectangleInt* rect=null);
20978 void clutter_cairo_texture_set_auto_resize(CairoTexture* this_, int value);
20979 void clutter_cairo_texture_set_surface_size(CairoTexture* this_, uint width, uint height);
20980 Actor* clutter_child_meta_get_actor(ChildMeta* this_);
20981 Container* clutter_child_meta_get_container(ChildMeta* this_);
20982 ClickAction* clutter_click_action_new();
20983 uint clutter_click_action_get_button(ClickAction* this_);
20984 void clutter_click_action_get_coords(ClickAction* this_, /*out*/ float* press_x, /*out*/ float* press_y);
20985 ModifierType clutter_click_action_get_state(ClickAction* this_);
20986 void clutter_click_action_release(ClickAction* this_);
20987 Clone* clutter_clone_new(Actor* source);
20988 Actor* clutter_clone_get_source(Clone* this_);
20989 void clutter_clone_set_source(Clone* this_, Actor* source);
20990 Color* /*new*/ clutter_color_new(ubyte red, ubyte green, ubyte blue, ubyte alpha);
20991 void clutter_color_add(Color* this_, Color* b, /*out*/ Color* result);
20992 Color* /*new*/ clutter_color_copy(Color* this_);
20993 void clutter_color_darken(Color* this_, /*out*/ Color* result);
20994 void clutter_color_free(Color* this_);
20995 void clutter_color_from_hls(Color* this_, float hue, float luminance, float saturation);
20996 void clutter_color_from_pixel(Color* this_, uint pixel);
20997 int clutter_color_from_string(Color* this_, char* str);
20998 void clutter_color_interpolate(Color* this_, Color* final_, double progress, /*out*/ Color* result);
20999 void clutter_color_lighten(Color* this_, /*out*/ Color* result);
21000 void clutter_color_shade(Color* this_, double factor, /*out*/ Color* result);
21001 void clutter_color_subtract(Color* this_, Color* b, /*out*/ Color* result);
21002 void clutter_color_to_hls(Color* this_, /*out*/ float* hue, /*out*/ float* luminance, /*out*/ float* saturation);
21003 uint clutter_color_to_pixel(Color* this_);
21004 char* /*new*/ clutter_color_to_string(Color* this_);
21005 int clutter_color_equal(const(void)* v1, const(void)* v2);
21006 Color* clutter_color_get_static(StaticColor color);
21007 uint clutter_color_hash(const(void)* v);
21008 ColorizeEffect* clutter_colorize_effect_new(Color* tint);
21009 void clutter_colorize_effect_get_tint(ColorizeEffect* this_, /*out*/ Color* tint);
21010 void clutter_colorize_effect_set_tint(ColorizeEffect* this_, Color* tint);
21011 GObject2.ParamSpec* clutter_container_class_find_child_property(GObject2.ObjectClass* klass, char* property_name);
21012 GObject2.ParamSpec** /*new*/ clutter_container_class_list_child_properties(GObject2.ObjectClass* klass, /*out*/ uint* n_properties);
21013 void clutter_container_add(Container* this_, Actor* first_actor, ...);
21014 void clutter_container_add_actor(Container* this_, Actor* actor);
21015 void clutter_container_add_valist(Container* this_, Actor* first_actor, va_list var_args);
21016 void clutter_container_child_get(Container* this_, Actor* actor, char* first_prop, ...);
21017 void clutter_container_child_get_property(Container* this_, Actor* child, char* property, GObject2.Value* value);
21018 void clutter_container_child_notify(Container* this_, Actor* child, GObject2.ParamSpec* pspec);
21019 void clutter_container_child_set(Container* this_, Actor* actor, char* first_prop, ...);
21020 void clutter_container_child_set_property(Container* this_, Actor* child, char* property, GObject2.Value* value);
21021 void clutter_container_create_child_meta(Container* this_, Actor* actor);
21022 void clutter_container_destroy_child_meta(Container* this_, Actor* actor);
21023 Actor* clutter_container_find_child_by_name(Container* this_, char* child_name);
21024 void clutter_container_foreach(Container* this_, Callback callback, void* user_data);
21025 void clutter_container_foreach_with_internals(Container* this_, Callback callback, void* user_data);
21026 ChildMeta* clutter_container_get_child_meta(Container* this_, Actor* actor);
21027 GLib2.List* /*new container*/ clutter_container_get_children(Container* this_);
21028 void clutter_container_lower_child(Container* this_, Actor* actor, Actor* sibling=null);
21029 void clutter_container_raise_child(Container* this_, Actor* actor, Actor* sibling=null);
21030 void clutter_container_remove(Container* this_, Actor* first_actor, ...);
21031 void clutter_container_remove_actor(Container* this_, Actor* actor);
21032 void clutter_container_remove_valist(Container* this_, Actor* first_actor, va_list var_args);
21033 void clutter_container_sort_depth_order(Container* this_);
21034 Cogl.Handle clutter_deform_effect_get_back_material(DeformEffect* this_);
21035 void clutter_deform_effect_get_n_tiles(DeformEffect* this_, /*out*/ uint* x_tiles, /*out*/ uint* y_tiles);
21036 void clutter_deform_effect_invalidate(DeformEffect* this_);
21037 void clutter_deform_effect_set_back_material(DeformEffect* this_, Cogl.Handle material=null);
21038 void clutter_deform_effect_set_n_tiles(DeformEffect* this_, uint x_tiles, uint y_tiles);
21039 DesaturateEffect* clutter_desaturate_effect_new(double factor);
21040 double clutter_desaturate_effect_get_factor(DesaturateEffect* this_);
21041 void clutter_desaturate_effect_set_factor(DesaturateEffect* this_, double factor);
21042 DeviceManager* clutter_device_manager_get_default();
21043 InputDevice* clutter_device_manager_get_core_device(DeviceManager* this_, InputDeviceType device_type);
21044 InputDevice* clutter_device_manager_get_device(DeviceManager* this_, int device_id);
21045 GLib2.SList* /*new container*/ clutter_device_manager_list_devices(DeviceManager* this_);
21046 GLib2.SList* clutter_device_manager_peek_devices(DeviceManager* this_);
21047 DragAction* clutter_drag_action_new();
21048 DragAxis clutter_drag_action_get_drag_axis(DragAction* this_);
21049 Actor* clutter_drag_action_get_drag_handle(DragAction* this_);
21050 void clutter_drag_action_get_drag_threshold(DragAction* this_, /*out*/ uint* x_threshold, /*out*/ uint* y_threshold);
21051 void clutter_drag_action_get_motion_coords(DragAction* this_, /*out*/ float* motion_x, /*out*/ float* motion_y);
21052 void clutter_drag_action_get_press_coords(DragAction* this_, /*out*/ float* press_x, /*out*/ float* press_y);
21053 void clutter_drag_action_set_drag_axis(DragAction* this_, DragAxis axis);
21054 void clutter_drag_action_set_drag_handle(DragAction* this_, Actor* handle=null);
21055 void clutter_drag_action_set_drag_threshold(DragAction* this_, int x_threshold, int y_threshold);
21056 DropAction* clutter_drop_action_new();
21057 void clutter_effect_queue_repaint(Effect* this_);
21058 Event* /*new*/ clutter_event_new(EventType type);
21059 Event* /*new*/ clutter_event_copy(Event* this_);
21060 void clutter_event_free(Event* this_);
21061 double* clutter_event_get_axes(Event* this_, /*out*/ uint* n_axes);
21062 uint clutter_event_get_button(Event* this_);
21063 uint clutter_event_get_click_count(Event* this_);
21064 void clutter_event_get_coords(Event* this_, /*out*/ float* x, /*out*/ float* y);
21065 InputDevice* clutter_event_get_device(Event* this_);
21066 int clutter_event_get_device_id(Event* this_);
21067 InputDeviceType clutter_event_get_device_type(Event* this_);
21068 EventFlags clutter_event_get_flags(Event* this_);
21069 ushort clutter_event_get_key_code(Event* this_);
21070 uint clutter_event_get_key_symbol(Event* this_);
21071 uint clutter_event_get_key_unicode(Event* this_);
21072 Actor* clutter_event_get_related(Event* this_);
21073 ScrollDirection clutter_event_get_scroll_direction(Event* this_);
21074 Actor* clutter_event_get_source(Event* this_);
21075 InputDevice* clutter_event_get_source_device(Event* this_);
21076 Stage* clutter_event_get_stage(Event* this_);
21077 ModifierType clutter_event_get_state(Event* this_);
21078 uint clutter_event_get_time(Event* this_);
21079 void clutter_event_put(Event* this_);
21080 void clutter_event_set_button(Event* this_, uint button);
21081 void clutter_event_set_coords(Event* this_, float x, float y);
21082 void clutter_event_set_device(Event* this_, InputDevice* device=null);
21083 void clutter_event_set_flags(Event* this_, EventFlags flags);
21084 void clutter_event_set_key_code(Event* this_, ushort key_code);
21085 void clutter_event_set_key_symbol(Event* this_, uint key_sym);
21086 void clutter_event_set_key_unicode(Event* this_, uint key_unicode);
21087 void clutter_event_set_related(Event* this_, Actor* actor=null);
21088 void clutter_event_set_scroll_direction(Event* this_, ScrollDirection direction);
21089 void clutter_event_set_source(Event* this_, Actor* actor=null);
21090 void clutter_event_set_source_device(Event* this_, InputDevice* device=null);
21091 void clutter_event_set_stage(Event* this_, Stage* stage=null);
21092 void clutter_event_set_state(Event* this_, ModifierType state);
21093 void clutter_event_set_time(Event* this_, uint time_);
21094 EventType clutter_event_type(Event* this_);
21095 Event* /*new*/ clutter_event_get();
21096 Event* clutter_event_peek();
21097 FixedLayout* clutter_fixed_layout_new();
21098 FlowLayout* clutter_flow_layout_new(FlowOrientation orientation);
21099 float clutter_flow_layout_get_column_spacing(FlowLayout* this_);
21100 void clutter_flow_layout_get_column_width(FlowLayout* this_, /*out*/ float* min_width, /*out*/ float* max_width);
21101 int clutter_flow_layout_get_homogeneous(FlowLayout* this_);
21102 FlowOrientation clutter_flow_layout_get_orientation(FlowLayout* this_);
21103 void clutter_flow_layout_get_row_height(FlowLayout* this_, /*out*/ float* min_height, /*out*/ float* max_height);
21104 float clutter_flow_layout_get_row_spacing(FlowLayout* this_);
21105 void clutter_flow_layout_set_column_spacing(FlowLayout* this_, float spacing);
21106 void clutter_flow_layout_set_column_width(FlowLayout* this_, float min_width, float max_width);
21107 void clutter_flow_layout_set_homogeneous(FlowLayout* this_, int homogeneous);
21108 void clutter_flow_layout_set_orientation(FlowLayout* this_, FlowOrientation orientation);
21109 void clutter_flow_layout_set_row_height(FlowLayout* this_, float min_height, float max_height);
21110 void clutter_flow_layout_set_row_spacing(FlowLayout* this_, float spacing);
21111 int clutter_geometry_intersects(Geometry* this_, Geometry* geometry1);
21112 void clutter_geometry_union(Geometry* this_, Geometry* geometry_b, /*out*/ Geometry* result);
21113 GestureAction* clutter_gesture_action_new();
21114 void clutter_gesture_action_get_motion_coords(GestureAction* this_, uint device, /*out*/ float* motion_x, /*out*/ float* motion_y);
21115 void clutter_gesture_action_get_press_coords(GestureAction* this_, uint device, /*out*/ float* press_x, /*out*/ float* press_y);
21116 void clutter_gesture_action_get_release_coords(GestureAction* this_, uint device, /*out*/ float* release_x, /*out*/ float* release_y);
21117 Group* clutter_group_new();
21118 int clutter_group_get_n_children(Group* this_);
21119 Actor* clutter_group_get_nth_child(Group* this_, int index_);
21120 void clutter_group_remove_all(Group* this_);
21121 InputDevice* clutter_input_device_get_associated_device(InputDevice* this_);
21122 InputAxis clutter_input_device_get_axis(InputDevice* this_, uint index_);
21123 int clutter_input_device_get_axis_value(InputDevice* this_, double* axes, InputAxis axis, /*out*/ double* value);
21124 void clutter_input_device_get_device_coords(InputDevice* this_, /*out*/ int* x, /*out*/ int* y);
21125 int clutter_input_device_get_device_id(InputDevice* this_);
21126 InputMode clutter_input_device_get_device_mode(InputDevice* this_);
21127 char* clutter_input_device_get_device_name(InputDevice* this_);
21128 InputDeviceType clutter_input_device_get_device_type(InputDevice* this_);
21129 int clutter_input_device_get_enabled(InputDevice* this_);
21130 int clutter_input_device_get_has_cursor(InputDevice* this_);
21131 int clutter_input_device_get_key(InputDevice* this_, uint index_, /*out*/ uint* keyval, /*out*/ ModifierType* modifiers);
21132 uint clutter_input_device_get_n_axes(InputDevice* this_);
21133 uint clutter_input_device_get_n_keys(InputDevice* this_);
21134 Actor* clutter_input_device_get_pointer_actor(InputDevice* this_);
21135 Stage* clutter_input_device_get_pointer_stage(InputDevice* this_);
21136 GLib2.List* /*new container*/ clutter_input_device_get_slave_devices(InputDevice* this_);
21137 void clutter_input_device_set_enabled(InputDevice* this_, int enabled);
21138 void clutter_input_device_set_key(InputDevice* this_, uint index_, uint keyval, ModifierType modifiers);
21139 void clutter_input_device_update_from_event(InputDevice* this_, Event* event, int update_stage);
21140 Interval* clutter_interval_new(Type gtype, ...);
21141 Interval* clutter_interval_new_with_values(Type gtype, GObject2.Value* initial, GObject2.Value* final_);
21142 void clutter_interval_register_progress_func(Type value_type, ProgressFunc func);
21143 Interval* /*new*/ clutter_interval_clone(Interval* this_);
21144 GObject2.Value* clutter_interval_compute(Interval* this_, double factor);
21145 int clutter_interval_compute_value(Interval* this_, double factor, /*out*/ GObject2.Value* value);
21146 void clutter_interval_get_final_value(Interval* this_, /*out*/ GObject2.Value* value);
21147 void clutter_interval_get_initial_value(Interval* this_, /*out*/ GObject2.Value* value);
21148 void clutter_interval_get_interval(Interval* this_, ...);
21149 Type clutter_interval_get_value_type(Interval* this_);
21150 GObject2.Value* clutter_interval_peek_final_value(Interval* this_);
21151 GObject2.Value* clutter_interval_peek_initial_value(Interval* this_);
21152 void clutter_interval_set_final_value(Interval* this_, GObject2.Value* value);
21153 void clutter_interval_set_initial_value(Interval* this_, GObject2.Value* value);
21154 void clutter_interval_set_interval(Interval* this_, ...);
21155 int clutter_interval_validate(Interval* this_, GObject2.ParamSpec* pspec);
21156 Knot* /*new*/ clutter_knot_copy(Knot* this_);
21157 int clutter_knot_equal(Knot* this_, Knot* knot_b);
21158 void clutter_knot_free(Knot* this_);
21159 void clutter_layout_manager_allocate(LayoutManager* this_, Container* container, ActorBox* allocation, AllocationFlags flags);
21160 Alpha* clutter_layout_manager_begin_animation(LayoutManager* this_, uint duration, c_ulong mode);
21161 void clutter_layout_manager_child_get(LayoutManager* this_, Container* container, Actor* actor, char* first_property, ...);
21162 void clutter_layout_manager_child_get_property(LayoutManager* this_, Container* container, Actor* actor, char* property_name, GObject2.Value* value);
21163 void clutter_layout_manager_child_set(LayoutManager* this_, Container* container, Actor* actor, char* first_property, ...);
21164 void clutter_layout_manager_child_set_property(LayoutManager* this_, Container* container, Actor* actor, char* property_name, GObject2.Value* value);
21165 void clutter_layout_manager_end_animation(LayoutManager* this_);
21166 GObject2.ParamSpec* clutter_layout_manager_find_child_property(LayoutManager* this_, char* name);
21167 double clutter_layout_manager_get_animation_progress(LayoutManager* this_);
21168 LayoutMeta* clutter_layout_manager_get_child_meta(LayoutManager* this_, Container* container, Actor* actor);
21169 void clutter_layout_manager_get_preferred_height(LayoutManager* this_, Container* container, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* nat_height_p=null);
21170 void clutter_layout_manager_get_preferred_width(LayoutManager* this_, Container* container, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* nat_width_p=null);
21171 void clutter_layout_manager_layout_changed(LayoutManager* this_);
21172 GObject2.ParamSpec** /*new*/ clutter_layout_manager_list_child_properties(LayoutManager* this_, /*out*/ uint* n_pspecs);
21173 void clutter_layout_manager_set_container(LayoutManager* this_, Container* container=null);
21174 LayoutManager* clutter_layout_meta_get_manager(LayoutMeta* this_);
21175 ListModel* /*new*/ clutter_list_model_new(uint n_columns, ...);
21176 ListModel* /*new*/ clutter_list_model_newv(uint n_columns, Type* types, char* names);
21177 double clutter_media_get_audio_volume(Media* this_);
21178 double clutter_media_get_buffer_fill(Media* this_);
21179 int clutter_media_get_can_seek(Media* this_);
21180 double clutter_media_get_duration(Media* this_);
21181 int clutter_media_get_playing(Media* this_);
21182 double clutter_media_get_progress(Media* this_);
21183 char* /*new*/ clutter_media_get_subtitle_font_name(Media* this_);
21184 char* /*new*/ clutter_media_get_subtitle_uri(Media* this_);
21185 char* /*new*/ clutter_media_get_uri(Media* this_);
21186 void clutter_media_set_audio_volume(Media* this_, double volume);
21187 void clutter_media_set_filename(Media* this_, char* filename);
21188 void clutter_media_set_playing(Media* this_, int playing);
21189 void clutter_media_set_progress(Media* this_, double progress);
21190 void clutter_media_set_subtitle_font_name(Media* this_, char* font_name);
21191 void clutter_media_set_subtitle_uri(Media* this_, char* uri);
21192 void clutter_media_set_uri(Media* this_, char* uri);
21193 void clutter_model_append(Model* this_, ...);
21194 void clutter_model_appendv(Model* this_, uint n_columns, uint* columns, GObject2.Value* values);
21195 int clutter_model_filter_iter(Model* this_, ModelIter* iter);
21196 int clutter_model_filter_row(Model* this_, uint row);
21197 void clutter_model_foreach(Model* this_, ModelForeachFunc func, void* user_data);
21198 char* clutter_model_get_column_name(Model* this_, uint column);
21199 Type clutter_model_get_column_type(Model* this_, uint column);
21200 int clutter_model_get_filter_set(Model* this_);
21201 ModelIter* /*new*/ clutter_model_get_first_iter(Model* this_);
21202 ModelIter* /*new*/ clutter_model_get_iter_at_row(Model* this_, uint row);
21203 ModelIter* /*new*/ clutter_model_get_last_iter(Model* this_);
21204 uint clutter_model_get_n_columns(Model* this_);
21205 uint clutter_model_get_n_rows(Model* this_);
21206 int clutter_model_get_sorting_column(Model* this_);
21207 void clutter_model_insert(Model* this_, uint row, ...);
21208 void clutter_model_insert_value(Model* this_, uint row, uint column, GObject2.Value* value);
21209 void clutter_model_insertv(Model* this_, uint row, uint n_columns, uint* columns, GObject2.Value* values);
21210 void clutter_model_prepend(Model* this_, ...);
21211 void clutter_model_prependv(Model* this_, uint n_columns, uint* columns, GObject2.Value* values);
21212 void clutter_model_remove(Model* this_, uint row);
21213 void clutter_model_resort(Model* this_);
21214 void clutter_model_set_filter(Model* this_, ModelFilterFunc func, void* user_data, GLib2.DestroyNotify notify);
21215 void clutter_model_set_names(Model* this_, uint n_columns, char* names);
21216 void clutter_model_set_sort(Model* this_, int column, ModelSortFunc func, void* user_data, GLib2.DestroyNotify notify);
21217 void clutter_model_set_sorting_column(Model* this_, int column);
21218 void clutter_model_set_types(Model* this_, uint n_columns, Type* types);
21219 ModelIter* /*new*/ clutter_model_iter_copy(ModelIter* this_);
21220 void clutter_model_iter_get(ModelIter* this_, ...);
21221 Model* clutter_model_iter_get_model(ModelIter* this_);
21222 uint clutter_model_iter_get_row(ModelIter* this_);
21223 void clutter_model_iter_get_valist(ModelIter* this_, va_list args);
21224 void clutter_model_iter_get_value(ModelIter* this_, uint column, /*out*/ GObject2.Value* value);
21225 int clutter_model_iter_is_first(ModelIter* this_);
21226 int clutter_model_iter_is_last(ModelIter* this_);
21227 ModelIter* clutter_model_iter_next(ModelIter* this_);
21228 ModelIter* clutter_model_iter_prev(ModelIter* this_);
21229 void clutter_model_iter_set(ModelIter* this_, ...);
21230 void clutter_model_iter_set_valist(ModelIter* this_, va_list args);
21231 void clutter_model_iter_set_value(ModelIter* this_, uint column, GObject2.Value* value);
21232 Cogl.Handle /*new*/ clutter_offscreen_effect_create_texture(OffscreenEffect* this_, float width, float height);
21233 Cogl.Material* clutter_offscreen_effect_get_target(OffscreenEffect* this_);
21234 int clutter_offscreen_effect_get_target_size(OffscreenEffect* this_, /*out*/ float* width, /*out*/ float* height);
21235 void clutter_offscreen_effect_paint_target(OffscreenEffect* this_);
21236 PageTurnEffect* clutter_page_turn_effect_new(double period, double angle, float radius);
21237 double clutter_page_turn_effect_get_angle(PageTurnEffect* this_);
21238 double clutter_page_turn_effect_get_period(PageTurnEffect* this_);
21239 float clutter_page_turn_effect_get_radius(PageTurnEffect* this_);
21240 void clutter_page_turn_effect_set_angle(PageTurnEffect* this_, double angle);
21241 void clutter_page_turn_effect_set_period(PageTurnEffect* this_, double period);
21242 void clutter_page_turn_effect_set_radius(PageTurnEffect* this_, float radius);
21243 PaintVolume* /*new*/ clutter_paint_volume_copy(PaintVolume* this_);
21244 void clutter_paint_volume_free(PaintVolume* this_);
21245 float clutter_paint_volume_get_depth(PaintVolume* this_);
21246 float clutter_paint_volume_get_height(PaintVolume* this_);
21247 void clutter_paint_volume_get_origin(PaintVolume* this_, /*out*/ Vertex* vertex);
21248 float clutter_paint_volume_get_width(PaintVolume* this_);
21249 void clutter_paint_volume_set_depth(PaintVolume* this_, float depth);
21250 int clutter_paint_volume_set_from_allocation(PaintVolume* this_, Actor* actor);
21251 void clutter_paint_volume_set_height(PaintVolume* this_, float height);
21252 void clutter_paint_volume_set_origin(PaintVolume* this_, Vertex* origin);
21253 void clutter_paint_volume_set_width(PaintVolume* this_, float width);
21254 void clutter_paint_volume_union(PaintVolume* this_, PaintVolume* another_pv);
21255 Path* clutter_path_new();
21256 Path* clutter_path_new_with_description(char* desc);
21257 void clutter_path_add_cairo_path(Path* this_, cairo.Path* cpath);
21258 void clutter_path_add_close(Path* this_);
21259 void clutter_path_add_curve_to(Path* this_, int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
21260 void clutter_path_add_line_to(Path* this_, int x, int y);
21261 void clutter_path_add_move_to(Path* this_, int x, int y);
21262 void clutter_path_add_node(Path* this_, PathNode* node);
21263 void clutter_path_add_rel_curve_to(Path* this_, int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
21264 void clutter_path_add_rel_line_to(Path* this_, int x, int y);
21265 void clutter_path_add_rel_move_to(Path* this_, int x, int y);
21266 int clutter_path_add_string(Path* this_, char* str);
21267 void clutter_path_clear(Path* this_);
21268 void clutter_path_foreach(Path* this_, PathCallback callback, void* user_data);
21269 char* /*new*/ clutter_path_get_description(Path* this_);
21270 uint clutter_path_get_length(Path* this_);
21271 uint clutter_path_get_n_nodes(Path* this_);
21272 void clutter_path_get_node(Path* this_, uint index_, /*out*/ PathNode* node);
21273 GLib2.SList* /*new container*/ clutter_path_get_nodes(Path* this_);
21274 uint clutter_path_get_position(Path* this_, double progress, /*out*/ Knot* position);
21275 void clutter_path_insert_node(Path* this_, int index_, PathNode* node);
21276 void clutter_path_remove_node(Path* this_, uint index_);
21277 void clutter_path_replace_node(Path* this_, uint index_, PathNode* node);
21278 int clutter_path_set_description(Path* this_, char* str);
21279 void clutter_path_to_cairo_path(Path* this_, cairo.Context* cr);
21280 PathConstraint* /*new*/ clutter_path_constraint_new(Path* path, float offset);
21281 float clutter_path_constraint_get_offset(PathConstraint* this_);
21282 Path* clutter_path_constraint_get_path(PathConstraint* this_);
21283 void clutter_path_constraint_set_offset(PathConstraint* this_, float offset);
21284 void clutter_path_constraint_set_path(PathConstraint* this_, Path* path=null);
21285 PathNode* /*new*/ clutter_path_node_copy(PathNode* this_);
21286 int clutter_path_node_equal(PathNode* this_, PathNode* node_b);
21287 void clutter_path_node_free(PathNode* this_);
21288 Rectangle* clutter_rectangle_new();
21289 Rectangle* clutter_rectangle_new_with_color(Color* color);
21290 void clutter_rectangle_get_border_color(Rectangle* this_, /*out*/ Color* color);
21291 uint clutter_rectangle_get_border_width(Rectangle* this_);
21292 void clutter_rectangle_get_color(Rectangle* this_, /*out*/ Color* color);
21293 void clutter_rectangle_set_border_color(Rectangle* this_, Color* color);
21294 void clutter_rectangle_set_border_width(Rectangle* this_, uint width);
21295 void clutter_rectangle_set_color(Rectangle* this_, Color* color);
21296 Score* /*new*/ clutter_score_new();
21297 c_ulong clutter_score_append(Score* this_, Timeline* parent, Timeline* timeline);
21298 c_ulong clutter_score_append_at_marker(Score* this_, Timeline* parent, char* marker_name, Timeline* timeline);
21299 int clutter_score_get_loop(Score* this_);
21300 Timeline* clutter_score_get_timeline(Score* this_, c_ulong id_);
21301 int clutter_score_is_playing(Score* this_);
21302 GLib2.SList* /*new container*/ clutter_score_list_timelines(Score* this_);
21303 void clutter_score_pause(Score* this_);
21304 void clutter_score_remove(Score* this_, c_ulong id_);
21305 void clutter_score_remove_all(Score* this_);
21306 void clutter_score_rewind(Score* this_);
21307 void clutter_score_set_loop(Score* this_, int loop);
21308 void clutter_score_start(Score* this_);
21309 void clutter_score_stop(Score* this_);
21310 Script* /*new*/ clutter_script_new();
21311 void clutter_script_add_search_paths(Script* this_, char* paths, size_t n_paths);
21312 void clutter_script_add_states(Script* this_, char* name, State* state);
21313 void clutter_script_connect_signals(Script* this_, void* user_data);
21314 void clutter_script_connect_signals_full(Script* this_, ScriptConnectFunc func, void* user_data);
21315 void clutter_script_ensure_objects(Script* this_);
21316 GObject2.Object* clutter_script_get_object(Script* this_, char* name);
21317 int clutter_script_get_objects(Script* this_, char* first_name, ...);
21318 State* clutter_script_get_states(Script* this_, char* name=null);
21319 Type clutter_script_get_type_from_name(Script* this_, char* type_name);
21320 GLib2.List* /*new container*/ clutter_script_list_objects(Script* this_);
21321 uint clutter_script_load_from_data(Script* this_, char* data, ssize_t length, GLib2.Error** error);
21322 uint clutter_script_load_from_file(Script* this_, char* filename, GLib2.Error** error);
21323 char* /*new*/ clutter_script_lookup_filename(Script* this_, char* filename);
21324 void clutter_script_unmerge_objects(Script* this_, uint merge_id);
21325 char* clutter_scriptable_get_id(Scriptable* this_);
21326 int clutter_scriptable_parse_custom_node(Scriptable* this_, Script* script, GObject2.Value* value, char* name, Json.Node* node);
21327 void clutter_scriptable_set_custom_property(Scriptable* this_, Script* script, char* name, GObject2.Value* value);
21328 void clutter_scriptable_set_id(Scriptable* this_, char* id_);
21329 Settings* clutter_settings_get_default();
21330 Shader* /*new*/ clutter_shader_new();
21331 int clutter_shader_compile(Shader* this_, GLib2.Error** error);
21332 Cogl.Handle clutter_shader_get_cogl_fragment_shader(Shader* this_);
21333 Cogl.Handle clutter_shader_get_cogl_program(Shader* this_);
21334 Cogl.Handle clutter_shader_get_cogl_vertex_shader(Shader* this_);
21335 char* clutter_shader_get_fragment_source(Shader* this_);
21336 int clutter_shader_get_is_enabled(Shader* this_);
21337 char* clutter_shader_get_vertex_source(Shader* this_);
21338 int clutter_shader_is_compiled(Shader* this_);
21339 void clutter_shader_release(Shader* this_);
21340 void clutter_shader_set_fragment_source(Shader* this_, char* data, ssize_t length);
21341 void clutter_shader_set_is_enabled(Shader* this_, int enabled);
21342 void clutter_shader_set_uniform(Shader* this_, char* name, GObject2.Value* value);
21343 void clutter_shader_set_vertex_source(Shader* this_, char* data, ssize_t length);
21344 ShaderEffect* /*new*/ clutter_shader_effect_new(ShaderType shader_type);
21345 Cogl.Handle clutter_shader_effect_get_program(ShaderEffect* this_);
21346 Cogl.Handle clutter_shader_effect_get_shader(ShaderEffect* this_);
21347 int clutter_shader_effect_set_shader_source(ShaderEffect* this_, char* source);
21348 void clutter_shader_effect_set_uniform(ShaderEffect* this_, char* name, Type gtype, size_t n_values, ...);
21349 void clutter_shader_effect_set_uniform_value(ShaderEffect* this_, char* name, GObject2.Value* value);
21350 SnapConstraint* clutter_snap_constraint_new(Actor* source, SnapEdge from_edge, SnapEdge to_edge, float offset);
21351 void clutter_snap_constraint_get_edges(SnapConstraint* this_, /*out*/ SnapEdge* from_edge, /*out*/ SnapEdge* to_edge);
21352 float clutter_snap_constraint_get_offset(SnapConstraint* this_);
21353 Actor* clutter_snap_constraint_get_source(SnapConstraint* this_);
21354 void clutter_snap_constraint_set_edges(SnapConstraint* this_, SnapEdge from_edge, SnapEdge to_edge);
21355 void clutter_snap_constraint_set_offset(SnapConstraint* this_, float offset);
21356 void clutter_snap_constraint_set_source(SnapConstraint* this_, Actor* source=null);
21357 Stage* clutter_stage_new();
21358 Clutter.Stage* clutter_stage_get_default();
21359 void clutter_stage_ensure_current(Stage* this_);
21360 void clutter_stage_ensure_redraw(Stage* this_);
21361 void clutter_stage_ensure_viewport(Stage* this_);
21362 int clutter_stage_event(Stage* this_, Event* event);
21363 int clutter_stage_get_accept_focus(Stage* this_);
21364 Actor* clutter_stage_get_actor_at_pos(Stage* this_, PickMode pick_mode, int x, int y);
21365 void clutter_stage_get_color(Stage* this_, /*out*/ Color* color);
21366 void clutter_stage_get_fog(Stage* this_, /*out*/ Fog* fog);
21367 int clutter_stage_get_fullscreen(Stage* this_);
21368 Actor* clutter_stage_get_key_focus(Stage* this_);
21369 void clutter_stage_get_minimum_size(Stage* this_, /*out*/ uint* width, /*out*/ uint* height);
21370 int clutter_stage_get_motion_events_enabled(Stage* this_);
21371 int clutter_stage_get_no_clear_hint(Stage* this_);
21372 void clutter_stage_get_perspective(Stage* this_, /*out*/ Perspective* perspective=null);
21373 void clutter_stage_get_redraw_clip_bounds(Stage* this_, /*out*/ cairo.RectangleInt* clip);
21374 int clutter_stage_get_throttle_motion_events(Stage* this_);
21375 char* clutter_stage_get_title(Stage* this_);
21376 int clutter_stage_get_use_alpha(Stage* this_);
21377 int clutter_stage_get_use_fog(Stage* this_);
21378 int clutter_stage_get_user_resizable(Stage* this_);
21379 void clutter_stage_hide_cursor(Stage* this_);
21380 int clutter_stage_is_default(Stage* this_);
21381 void clutter_stage_queue_redraw(Stage* this_);
21382 ubyte* clutter_stage_read_pixels(Stage* this_, int x, int y, int width, int height);
21383 void clutter_stage_set_accept_focus(Stage* this_, int accept_focus);
21384 void clutter_stage_set_color(Stage* this_, Color* color);
21385 void clutter_stage_set_fog(Stage* this_, Fog* fog);
21386 void clutter_stage_set_fullscreen(Stage* this_, int fullscreen);
21387 void clutter_stage_set_key_focus(Stage* this_, Actor* actor=null);
21388 void clutter_stage_set_minimum_size(Stage* this_, uint width, uint height);
21389 void clutter_stage_set_motion_events_enabled(Stage* this_, int enabled);
21390 void clutter_stage_set_no_clear_hint(Stage* this_, int no_clear);
21391 void clutter_stage_set_perspective(Stage* this_, Perspective* perspective);
21392 void clutter_stage_set_throttle_motion_events(Stage* this_, int throttle);
21393 void clutter_stage_set_title(Stage* this_, char* title);
21394 void clutter_stage_set_use_alpha(Stage* this_, int use_alpha);
21395 void clutter_stage_set_use_fog(Stage* this_, int fog);
21396 void clutter_stage_set_user_resizable(Stage* this_, int resizable);
21397 void clutter_stage_show_cursor(Stage* this_);
21398 StageManager* clutter_stage_manager_get_default();
21399 Stage* clutter_stage_manager_get_default_stage(StageManager* this_);
21400 GLib2.SList* /*new container*/ clutter_stage_manager_list_stages(StageManager* this_);
21401 GLib2.SList* clutter_stage_manager_peek_stages(StageManager* this_);
21402 void clutter_stage_manager_set_default_stage(StageManager* this_, Stage* stage);
21403 State* /*new*/ clutter_state_new();
21404 Animator* clutter_state_get_animator(State* this_, char* source_state_name, char* target_state_name);
21405 uint clutter_state_get_duration(State* this_, char* source_state_name=null, char* target_state_name=null);
21406 GLib2.List* /*new container*/ clutter_state_get_keys(State* this_, char* source_state_name=null, char* target_state_name=null, GObject2.Object* object=null, char* property_name=null);
21407 char* clutter_state_get_state(State* this_);
21408 GLib2.List* /*new container*/ clutter_state_get_states(State* this_);
21409 Timeline* clutter_state_get_timeline(State* this_);
21410 void clutter_state_remove_key(State* this_, char* source_state_name=null, char* target_state_name=null, GObject2.Object* object=null, char* property_name=null);
21411 void clutter_state_set(State* this_, char* source_state_name, char* target_state_name, void* first_object, char* first_property_name, c_ulong first_mode, ...);
21412 void clutter_state_set_animator(State* this_, char* source_state_name, char* target_state_name, Animator* animator=null);
21413 void clutter_state_set_duration(State* this_, char* source_state_name, char* target_state_name, uint duration);
21414 State* clutter_state_set_key(State* this_, char* source_state_name, char* target_state_name, GObject2.Object* object, char* property_name, uint mode, GObject2.Value* value, double pre_delay, double post_delay);
21415 Timeline* clutter_state_set_state(State* this_, char* target_state_name);
21416 Timeline* clutter_state_warp_to_state(State* this_, char* target_state_name);
21417 c_ulong clutter_state_key_get_mode(StateKey* this_);
21418 GObject2.Object* clutter_state_key_get_object(StateKey* this_);
21419 double clutter_state_key_get_post_delay(StateKey* this_);
21420 double clutter_state_key_get_pre_delay(StateKey* this_);
21421 char* clutter_state_key_get_property_name(StateKey* this_);
21422 Type clutter_state_key_get_property_type(StateKey* this_);
21423 char* clutter_state_key_get_source_state_name(StateKey* this_);
21424 char* clutter_state_key_get_target_state_name(StateKey* this_);
21425 int clutter_state_key_get_value(StateKey* this_, GObject2.Value* value);
21426 SwipeAction* clutter_swipe_action_new();
21427 TableLayout* clutter_table_layout_new();
21428 void clutter_table_layout_get_alignment(TableLayout* this_, Actor* actor, /*out*/ TableAlignment* x_align, /*out*/ TableAlignment* y_align);
21429 int clutter_table_layout_get_column_count(TableLayout* this_);
21430 uint clutter_table_layout_get_column_spacing(TableLayout* this_);
21431 uint clutter_table_layout_get_easing_duration(TableLayout* this_);
21432 c_ulong clutter_table_layout_get_easing_mode(TableLayout* this_);
21433 void clutter_table_layout_get_expand(TableLayout* this_, Actor* actor, /*out*/ int* x_expand, /*out*/ int* y_expand);
21434 void clutter_table_layout_get_fill(TableLayout* this_, Actor* actor, /*out*/ int* x_fill, /*out*/ int* y_fill);
21435 int clutter_table_layout_get_row_count(TableLayout* this_);
21436 uint clutter_table_layout_get_row_spacing(TableLayout* this_);
21437 void clutter_table_layout_get_span(TableLayout* this_, Actor* actor, /*out*/ int* column_span, /*out*/ int* row_span);
21438 int clutter_table_layout_get_use_animations(TableLayout* this_);
21439 void clutter_table_layout_pack(TableLayout* this_, Actor* actor, int column, int row);
21440 void clutter_table_layout_set_alignment(TableLayout* this_, Actor* actor, TableAlignment x_align, TableAlignment y_align);
21441 void clutter_table_layout_set_column_spacing(TableLayout* this_, uint spacing);
21442 void clutter_table_layout_set_easing_duration(TableLayout* this_, uint msecs);
21443 void clutter_table_layout_set_easing_mode(TableLayout* this_, c_ulong mode);
21444 void clutter_table_layout_set_expand(TableLayout* this_, Actor* actor, int x_expand, int y_expand);
21445 void clutter_table_layout_set_fill(TableLayout* this_, Actor* actor, int x_fill, int y_fill);
21446 void clutter_table_layout_set_row_spacing(TableLayout* this_, uint spacing);
21447 void clutter_table_layout_set_span(TableLayout* this_, Actor* actor, int column_span, int row_span);
21448 void clutter_table_layout_set_use_animations(TableLayout* this_, int animate);
21449 Text* clutter_text_new();
21450 Text* clutter_text_new_full(char* font_name, char* text, Color* color);
21451 Text* clutter_text_new_with_text(char* font_name, char* text);
21452 int clutter_text_activate(Text* this_);
21453 void clutter_text_delete_chars(Text* this_, uint n_chars);
21454 int clutter_text_delete_selection(Text* this_);
21455 void clutter_text_delete_text(Text* this_, ssize_t start_pos, ssize_t end_pos);
21456 int clutter_text_get_activatable(Text* this_);
21457 Pango.AttrList* clutter_text_get_attributes(Text* this_);
21458 char* /*new*/ clutter_text_get_chars(Text* this_, ssize_t start_pos, ssize_t end_pos);
21459 void clutter_text_get_color(Text* this_, /*out*/ Color* color);
21460 void clutter_text_get_cursor_color(Text* this_, /*out*/ Color* color);
21461 int clutter_text_get_cursor_position(Text* this_);
21462 uint clutter_text_get_cursor_size(Text* this_);
21463 int clutter_text_get_cursor_visible(Text* this_);
21464 int clutter_text_get_editable(Text* this_);
21465 Pango.EllipsizeMode clutter_text_get_ellipsize(Text* this_);
21466 Pango.FontDescription* /*new*/ clutter_text_get_font_description(Text* this_);
21467 char* clutter_text_get_font_name(Text* this_);
21468 int clutter_text_get_justify(Text* this_);
21469 Pango.Layout* clutter_text_get_layout(Text* this_);
21470 void clutter_text_get_layout_offsets(Text* this_, /*out*/ int* x, /*out*/ int* y);
21471 Pango.Alignment clutter_text_get_line_alignment(Text* this_);
21472 int clutter_text_get_line_wrap(Text* this_);
21473 Pango.WrapMode clutter_text_get_line_wrap_mode(Text* this_);
21474 int clutter_text_get_max_length(Text* this_);
21475 dchar clutter_text_get_password_char(Text* this_);
21476 int clutter_text_get_selectable(Text* this_);
21477 void clutter_text_get_selected_text_color(Text* this_, /*out*/ Color* color);
21478 char* /*new*/ clutter_text_get_selection(Text* this_);
21479 int clutter_text_get_selection_bound(Text* this_);
21480 void clutter_text_get_selection_color(Text* this_, /*out*/ Color* color);
21481 int clutter_text_get_single_line_mode(Text* this_);
21482 char* clutter_text_get_text(Text* this_);
21483 int clutter_text_get_use_markup(Text* this_);
21484 void clutter_text_insert_text(Text* this_, char* text, ssize_t position);
21485 void clutter_text_insert_unichar(Text* this_, dchar wc);
21486 int clutter_text_position_to_coords(Text* this_, int position, /*out*/ float* x, /*out*/ float* y, /*out*/ float* line_height);
21487 void clutter_text_set_activatable(Text* this_, int activatable);
21488 void clutter_text_set_attributes(Text* this_, Pango.AttrList* attrs);
21489 void clutter_text_set_color(Text* this_, Color* color);
21490 void clutter_text_set_cursor_color(Text* this_, Color* color);
21491 void clutter_text_set_cursor_position(Text* this_, int position);
21492 void clutter_text_set_cursor_size(Text* this_, int size);
21493 void clutter_text_set_cursor_visible(Text* this_, int cursor_visible);
21494 void clutter_text_set_editable(Text* this_, int editable);
21495 void clutter_text_set_ellipsize(Text* this_, Pango.EllipsizeMode mode);
21496 void clutter_text_set_font_description(Text* this_, Pango.FontDescription* font_desc);
21497 void clutter_text_set_font_name(Text* this_, char* font_name=null);
21498 void clutter_text_set_justify(Text* this_, int justify);
21499 void clutter_text_set_line_alignment(Text* this_, Pango.Alignment alignment);
21500 void clutter_text_set_line_wrap(Text* this_, int line_wrap);
21501 void clutter_text_set_line_wrap_mode(Text* this_, Pango.WrapMode wrap_mode);
21502 void clutter_text_set_markup(Text* this_, char* markup);
21503 void clutter_text_set_max_length(Text* this_, int max);
21504 void clutter_text_set_password_char(Text* this_, dchar wc);
21505 void clutter_text_set_preedit_string(Text* this_, char* preedit_str, Pango.AttrList* preedit_attrs, uint cursor_pos);
21506 void clutter_text_set_selectable(Text* this_, int selectable);
21507 void clutter_text_set_selected_text_color(Text* this_, Color* color);
21508 void clutter_text_set_selection(Text* this_, ssize_t start_pos, ssize_t end_pos);
21509 void clutter_text_set_selection_bound(Text* this_, int selection_bound);
21510 void clutter_text_set_selection_color(Text* this_, Color* color);
21511 void clutter_text_set_single_line_mode(Text* this_, int single_line);
21512 void clutter_text_set_text(Text* this_, char* text);
21513 void clutter_text_set_use_markup(Text* this_, int setting);
21514 Texture* clutter_texture_new();
21515 Texture* clutter_texture_new_from_actor(Actor* actor);
21516 Texture* clutter_texture_new_from_file(char* filename, GLib2.Error** error);
21517 void clutter_texture_get_base_size(Texture* this_, /*out*/ int* width, /*out*/ int* height);
21518 Cogl.Handle clutter_texture_get_cogl_material(Texture* this_);
21519 Cogl.Handle clutter_texture_get_cogl_texture(Texture* this_);
21520 TextureQuality clutter_texture_get_filter_quality(Texture* this_);
21521 int clutter_texture_get_keep_aspect_ratio(Texture* this_);
21522 int clutter_texture_get_load_async(Texture* this_);
21523 int clutter_texture_get_load_data_async(Texture* this_);
21524 int clutter_texture_get_max_tile_waste(Texture* this_);
21525 int clutter_texture_get_pick_with_alpha(Texture* this_);
21526 Cogl.PixelFormat clutter_texture_get_pixel_format(Texture* this_);
21527 void clutter_texture_get_repeat(Texture* this_, /*out*/ int* repeat_x, /*out*/ int* repeat_y);
21528 int clutter_texture_get_sync_size(Texture* this_);
21529 int clutter_texture_set_area_from_rgb_data(Texture* this_, ubyte* data, int has_alpha, int x, int y, int width, int height, int rowstride, int bpp, TextureFlags flags, GLib2.Error** error);
21530 void clutter_texture_set_cogl_material(Texture* this_, Cogl.Handle cogl_material);
21531 void clutter_texture_set_cogl_texture(Texture* this_, Cogl.Handle cogl_tex);
21532 void clutter_texture_set_filter_quality(Texture* this_, TextureQuality filter_quality);
21533 int clutter_texture_set_from_file(Texture* this_, char* filename, GLib2.Error** error);
21534 int clutter_texture_set_from_rgb_data(Texture* this_, ubyte* data, int has_alpha, int width, int height, int rowstride, int bpp, TextureFlags flags, GLib2.Error** error);
21535 int clutter_texture_set_from_yuv_data(Texture* this_, ubyte* data, int width, int height, TextureFlags flags, GLib2.Error** error);
21536 void clutter_texture_set_keep_aspect_ratio(Texture* this_, int keep_aspect);
21537 void clutter_texture_set_load_async(Texture* this_, int load_async);
21538 void clutter_texture_set_load_data_async(Texture* this_, int load_async);
21539 void clutter_texture_set_pick_with_alpha(Texture* this_, int pick_with_alpha);
21540 void clutter_texture_set_repeat(Texture* this_, int repeat_x, int repeat_y);
21541 void clutter_texture_set_sync_size(Texture* this_, int sync_size);
21542 Timeline* /*new*/ clutter_timeline_new(uint msecs);
21543 void clutter_timeline_add_marker_at_time(Timeline* this_, char* marker_name, uint msecs);
21544 void clutter_timeline_advance(Timeline* this_, uint msecs);
21545 void clutter_timeline_advance_to_marker(Timeline* this_, char* marker_name);
21546 Timeline* /*new*/ clutter_timeline_clone(Timeline* this_);
21547 int clutter_timeline_get_auto_reverse(Timeline* this_);
21548 uint clutter_timeline_get_delay(Timeline* this_);
21549 uint clutter_timeline_get_delta(Timeline* this_);
21550 TimelineDirection clutter_timeline_get_direction(Timeline* this_);
21551 uint clutter_timeline_get_duration(Timeline* this_);
21552 uint clutter_timeline_get_elapsed_time(Timeline* this_);
21553 int clutter_timeline_get_loop(Timeline* this_);
21554 double clutter_timeline_get_progress(Timeline* this_);
21555 int clutter_timeline_has_marker(Timeline* this_, char* marker_name);
21556 int clutter_timeline_is_playing(Timeline* this_);
21557 char** /*new*/ clutter_timeline_list_markers(Timeline* this_, int msecs, /*out*/ size_t* n_markers);
21558 void clutter_timeline_pause(Timeline* this_);
21559 void clutter_timeline_remove_marker(Timeline* this_, char* marker_name);
21560 void clutter_timeline_rewind(Timeline* this_);
21561 void clutter_timeline_set_auto_reverse(Timeline* this_, int reverse);
21562 void clutter_timeline_set_delay(Timeline* this_, uint msecs);
21563 void clutter_timeline_set_direction(Timeline* this_, TimelineDirection direction);
21564 void clutter_timeline_set_duration(Timeline* this_, uint msecs);
21565 void clutter_timeline_set_loop(Timeline* this_, int loop);
21566 void clutter_timeline_skip(Timeline* this_, uint msecs);
21567 void clutter_timeline_start(Timeline* this_);
21568 void clutter_timeline_stop(Timeline* this_);
21569 uint clutter_timeout_pool_add(TimeoutPool* this_, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify);
21570 void clutter_timeout_pool_remove(TimeoutPool* this_, uint id_);
21571 TimeoutPool* clutter_timeout_pool_new(int priority);
21572 Units* /*new*/ clutter_units_copy(Units* this_);
21573 void clutter_units_free(Units* this_);
21574 void clutter_units_from_cm(Units* this_, float cm);
21575 void clutter_units_from_em(Units* this_, float em);
21576 void clutter_units_from_em_for_font(Units* this_, char* font_name, float em);
21577 void clutter_units_from_mm(Units* this_, float mm);
21578 void clutter_units_from_pixels(Units* this_, int px);
21579 void clutter_units_from_pt(Units* this_, float pt);
21580 int clutter_units_from_string(Units* this_, char* str);
21581 UnitType clutter_units_get_unit_type(Units* this_);
21582 float clutter_units_get_unit_value(Units* this_);
21583 float clutter_units_to_pixels(Units* this_);
21584 char* /*new*/ clutter_units_to_string(Units* this_);
21585 Vertex* /*new*/ clutter_vertex_new(float x, float y, float z);
21586 Vertex* /*new*/ clutter_vertex_copy(Vertex* this_);
21587 int clutter_vertex_equal(Vertex* this_, Vertex* vertex_b);
21588 void clutter_vertex_free(Vertex* this_);
21589 void clutter_base_init();
21590 void clutter_cairo_set_source_color(cairo.Context* cr, Color* color);
21591 int clutter_check_version(uint major, uint minor, uint micro);
21592 void clutter_clear_glyph_cache();
21593 void clutter_do_event(Event* event);
21594 int clutter_events_pending();
21595 int clutter_feature_available(FeatureFlags feature);
21596 FeatureFlags clutter_feature_get_all();
21597 uint clutter_frame_source_add(uint fps, GLib2.SourceFunc func, void* data);
21598 uint clutter_frame_source_add_full(int priority, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify);
21599 int clutter_get_accessibility_enabled();
21600 Actor* clutter_get_actor_by_gid(uint id_);
21601 Event* clutter_get_current_event();
21602 uint clutter_get_current_event_time();
21603 int clutter_get_debug_enabled();
21604 Backend* clutter_get_default_backend();
21605 uint clutter_get_default_frame_rate();
21606 TextDirection clutter_get_default_text_direction();
21607 FontFlags clutter_get_font_flags();
21608 Pango.FontMap* clutter_get_font_map();
21609 InputDevice* clutter_get_input_device_for_id(int id_);
21610 Actor* clutter_get_keyboard_grab();
21611 int clutter_get_motion_events_enabled();
21612 GLib2.OptionGroup* /*new*/ clutter_get_option_group();
21613 GLib2.OptionGroup* /*new*/ clutter_get_option_group_without_init();
21614 Actor* clutter_get_pointer_grab();
21615 char* clutter_get_script_id(GObject2.Object* gobject);
21616 int clutter_get_show_fps();
21617 c_ulong clutter_get_timestamp();
21618 void clutter_grab_keyboard(Actor* actor);
21619 void clutter_grab_pointer(Actor* actor);
21620 void clutter_grab_pointer_for_device(Actor* actor, int id_);
21621 InitError clutter_init(/*inout*/ int* argc, /*inout*/ char*** argv=null);
21622 GLib2.Quark clutter_init_error_quark();
21623 InitError clutter_init_with_args(/*inout*/ int* argc, /*inout*/ char*** argv, char* parameter_string, GLib2.OptionEntry* entries, char* translation_domain, GLib2.Error** error);
21624 uint clutter_keysym_to_unicode(uint keyval);
21625 void clutter_main();
21626 int clutter_main_level();
21627 void clutter_main_quit();
21628 GObject2.ParamSpec* clutter_param_spec_color(char* name, char* nick, char* blurb, Color* default_value, GObject2.ParamFlags flags);
21629 GObject2.ParamSpec* clutter_param_spec_fixed(char* name, char* nick, char* blurb, Cogl.Fixed minimum, Cogl.Fixed maximum, Cogl.Fixed default_value, GObject2.ParamFlags flags);
21630 GObject2.ParamSpec* clutter_param_spec_units(char* name, char* nick, char* blurb, UnitType default_type, float minimum, float maximum, float default_value, GObject2.ParamFlags flags);
21631 void clutter_redraw(Stage* stage);
21632 GLib2.Quark clutter_script_error_quark();
21633 void clutter_set_default_frame_rate(uint frames_per_sec);
21634 void clutter_set_font_flags(FontFlags flags);
21635 void clutter_set_motion_events_enabled(int enable);
21636 GLib2.Quark clutter_shader_error_quark();
21637 GLib2.Quark clutter_texture_error_quark();
21638 uint clutter_threads_add_frame_source(uint fps, GLib2.SourceFunc func, void* data);
21639 uint clutter_threads_add_frame_source_full(int priority, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify);
21640 uint clutter_threads_add_idle(GLib2.SourceFunc func, void* data);
21641 uint clutter_threads_add_idle_full(int priority, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify);
21642 uint clutter_threads_add_repaint_func(GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify);
21643 uint clutter_threads_add_timeout(uint interval, GLib2.SourceFunc func, void* data);
21644 uint clutter_threads_add_timeout_full(int priority, uint interval, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify);
21645 void clutter_threads_enter();
21646 void clutter_threads_init();
21647 void clutter_threads_leave();
21648 void clutter_threads_remove_repaint_func(uint handle_id);
21649 void clutter_threads_set_lock_functions(GObject2.Callback enter_fn, GObject2.Callback leave_fn);
21650 void clutter_ungrab_keyboard();
21651 void clutter_ungrab_pointer();
21652 void clutter_ungrab_pointer_for_device(int id_);
21653 int clutter_util_next_p2(int a);
21654 Color* clutter_value_get_color(GObject2.Value* value);
21655 Cogl.Fixed clutter_value_get_fixed(GObject2.Value* value);
21656 float* clutter_value_get_shader_float(GObject2.Value* value, size_t* length);
21657 int* clutter_value_get_shader_int(GObject2.Value* value, size_t* length);
21658 float* clutter_value_get_shader_matrix(GObject2.Value* value, /*out*/ size_t* length);
21659 Units* clutter_value_get_units(GObject2.Value* value);
21660 void clutter_value_set_color(GObject2.Value* value, Color* color);
21661 void clutter_value_set_fixed(GObject2.Value* value, Cogl.Fixed fixed_);
21662 void clutter_value_set_shader_float(GObject2.Value* value, int size, float* floats);
21663 void clutter_value_set_shader_int(GObject2.Value* value, int size, int* ints);
21664 void clutter_value_set_shader_matrix(GObject2.Value* value, int size, float* matrix);
21665 void clutter_value_set_units(GObject2.Value* value, Units* units);