Regenerate, restoring full UpCast functionality.
[girtod.git] / gtk2 / clutter.d
blob819e8b7e5cb8fbe4c90c705ca725fc7d3c79c5b4
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 () nothrow _clutter_action1;
116 extern (C) void function () nothrow _clutter_action2;
117 extern (C) void function () nothrow _clutter_action3;
118 extern (C) void function () nothrow _clutter_action4;
119 extern (C) void function () nothrow _clutter_action5;
120 extern (C) void function () nothrow _clutter_action6;
121 extern (C) void function () nothrow _clutter_action7;
122 extern (C) void function () nothrow _clutter_action8;
125 // Base class for actors.
126 struct Actor /* : GObject.InitiallyUnowned */ {
127 mixin Atk.ImplementorIface.__interface__;
128 mixin Animatable.__interface__;
129 mixin Container.__interface__;
130 mixin Scriptable.__interface__;
131 alias parent_instance this;
132 alias parent_instance super_;
133 alias parent_instance initiallyunowned;
134 GObject2.InitiallyUnowned parent_instance;
135 uint flags;
136 private uint private_flags;
137 private ActorPrivate* priv;
140 // VERSION: 1.10
141 // Creates a new #ClutterActor.
143 // A newly created actor has a floating reference, which will be sunk
144 // when it is added to another actor.
145 // RETURNS: the newly created #ClutterActor
146 static Actor* /*new*/ new_()() nothrow {
147 return clutter_actor_new();
149 static auto opCall()() {
150 return clutter_actor_new();
153 // VERSION: 1.4
154 // Adds @action to the list of actions applied to @self
156 // A #ClutterAction can only belong to one actor at a time
158 // The #ClutterActor will hold a reference on @action until either
159 // clutter_actor_remove_action() or clutter_actor_clear_actions()
160 // is called
161 // <action>: a #ClutterAction
162 void add_action(AT0)(AT0 /*Action*/ action) nothrow {
163 clutter_actor_add_action(&this, UpCast!(Action*)(action));
166 // VERSION: 1.4
167 // A convenience function for setting the name of a #ClutterAction
168 // while adding it to the list of actions applied to @self
170 // This function is the logical equivalent of:
172 // |[
173 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
174 // clutter_actor_add_action (self, action);
175 // ]|
176 // <name>: the name to set on the action
177 // <action>: a #ClutterAction
178 void add_action_with_name(AT0, AT1)(AT0 /*char*/ name, AT1 /*Action*/ action) nothrow {
179 clutter_actor_add_action_with_name(&this, toCString!(char*)(name), UpCast!(Action*)(action));
182 // VERSION: 1.10
183 // Adds @child to the children of @self.
185 // This function will acquire a reference on @child that will only
186 // be released when calling clutter_actor_remove_child().
188 // This function will take into consideration the #ClutterActor:depth
189 // of @child, and will keep the list of children sorted.
191 // This function will emit the #ClutterContainer::actor-added signal
192 // on @self.
193 // <child>: a #ClutterActor
194 void add_child(AT0)(AT0 /*Actor*/ child) nothrow {
195 clutter_actor_add_child(&this, UpCast!(Actor*)(child));
198 // VERSION: 1.4
199 // Adds @constraint to the list of #ClutterConstraint<!-- -->s applied
200 // to @self
202 // The #ClutterActor will hold a reference on the @constraint until
203 // either clutter_actor_remove_constraint() or
204 // clutter_actor_clear_constraints() is called.
205 // <constraint>: a #ClutterConstraint
206 void add_constraint(AT0)(AT0 /*Constraint*/ constraint) nothrow {
207 clutter_actor_add_constraint(&this, UpCast!(Constraint*)(constraint));
210 // VERSION: 1.4
211 // A convenience function for setting the name of a #ClutterConstraint
212 // while adding it to the list of constraints applied to @self
214 // This function is the logical equivalent of:
216 // |[
217 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
218 // clutter_actor_add_constraint (self, constraint);
219 // ]|
220 // <name>: the name to set on the constraint
221 // <constraint>: a #ClutterConstraint
222 void add_constraint_with_name(AT0, AT1)(AT0 /*char*/ name, AT1 /*Constraint*/ constraint) nothrow {
223 clutter_actor_add_constraint_with_name(&this, toCString!(char*)(name), UpCast!(Constraint*)(constraint));
226 // VERSION: 1.4
227 // Adds @effect to the list of #ClutterEffect<!-- -->s applied to @self
229 // The #ClutterActor will hold a reference on the @effect until either
230 // clutter_actor_remove_effect() or clutter_actor_clear_effects() is
231 // called.
232 // <effect>: a #ClutterEffect
233 void add_effect(AT0)(AT0 /*Effect*/ effect) nothrow {
234 clutter_actor_add_effect(&this, UpCast!(Effect*)(effect));
237 // VERSION: 1.4
238 // A convenience function for setting the name of a #ClutterEffect
239 // while adding it to the list of effectss applied to @self
241 // This function is the logical equivalent of:
243 // |[
244 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
245 // clutter_actor_add_effect (self, effect);
246 // ]|
247 // <name>: the name to set on the effect
248 // <effect>: a #ClutterEffect
249 void add_effect_with_name(AT0, AT1)(AT0 /*char*/ name, AT1 /*Effect*/ effect) nothrow {
250 clutter_actor_add_effect_with_name(&this, toCString!(char*)(name), UpCast!(Effect*)(effect));
253 // VERSION: 0.8
254 // Called by the parent of an actor to assign the actor its size.
255 // Should never be called by applications (except when implementing
256 // a container or layout manager).
258 // Actors can know from their allocation box whether they have moved
259 // with respect to their parent actor. The @flags parameter describes
260 // additional information about the allocation, for instance whether
261 // the parent has moved with respect to the stage, for example because
262 // a grandparent's origin has moved.
263 // <box>: new allocation of the actor, in parent-relative coordinates
264 // <flags>: flags that control the allocation
265 void allocate(AT0)(AT0 /*ActorBox*/ box, AllocationFlags flags) nothrow {
266 clutter_actor_allocate(&this, UpCast!(ActorBox*)(box), flags);
269 // VERSION: 1.4
270 // Allocates @self by taking into consideration the available allocation
271 // area; an alignment factor on either axis; and whether the actor should
272 // fill the allocation on either axis.
274 // The @box should contain the available allocation width and height;
275 // if the x1 and y1 members of #ClutterActorBox are not set to 0, the
276 // allocation will be offset by their value.
278 // This function takes into consideration the geometry request specified by
279 // the #ClutterActor:request-mode property, and the text direction.
281 // This function is useful for fluid layout managers, like #ClutterBinLayout
282 // or #ClutterTableLayout
283 // <box>: a #ClutterActorBox, containing the available width and height
284 // <x_align>: the horizontal alignment, between 0 and 1
285 // <y_align>: the vertical alignment, between 0 and 1
286 // <x_fill>: whether the actor should fill horizontally
287 // <y_fill>: whether the actor should fill vertically
288 // <flags>: allocation flags to be passed to clutter_actor_allocate()
289 void allocate_align_fill(AT0)(AT0 /*ActorBox*/ box, double x_align, double y_align, int x_fill, int y_fill, AllocationFlags flags) nothrow {
290 clutter_actor_allocate_align_fill(&this, UpCast!(ActorBox*)(box), x_align, y_align, x_fill, y_fill, flags);
293 // VERSION: 1.0
294 // Allocates @self taking into account the #ClutterActor<!-- -->'s
295 // preferred size, but limiting it to the maximum available width
296 // and height provided.
298 // This function will do the right thing when dealing with the
299 // actor's request mode.
301 // The implementation of this function is equivalent to:
303 // |[
304 // if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
305 // {
306 // clutter_actor_get_preferred_width (self, available_height,
307 // &amp;min_width,
308 // &amp;natural_width);
309 // width = CLAMP (natural_width, min_width, available_width);
311 // clutter_actor_get_preferred_height (self, width,
312 // &amp;min_height,
313 // &amp;natural_height);
314 // height = CLAMP (natural_height, min_height, available_height);
315 // }
316 // else
317 // {
318 // clutter_actor_get_preferred_height (self, available_width,
319 // &amp;min_height,
320 // &amp;natural_height);
321 // height = CLAMP (natural_height, min_height, available_height);
323 // clutter_actor_get_preferred_width (self, height,
324 // &amp;min_width,
325 // &amp;natural_width);
326 // width = CLAMP (natural_width, min_width, available_width);
327 // }
329 // box.x1 = x; box.y1 = y;
330 // box.x2 = box.x1 + available_width;
331 // box.y2 = box.y1 + available_height;
332 // clutter_actor_allocate (self, &amp;box, flags);
333 // ]|
335 // This function can be used by fluid layout managers to allocate
336 // an actor's preferred size without making it bigger than the area
337 // available for the container.
338 // <x>: the actor's X coordinate
339 // <y>: the actor's Y coordinate
340 // <available_width>: the maximum available width, or -1 to use the actor's natural width
341 // <available_height>: the maximum available height, or -1 to use the actor's natural height
342 // <flags>: flags controlling the allocation
343 void allocate_available_size()(float x, float y, float available_width, float available_height, AllocationFlags flags) nothrow {
344 clutter_actor_allocate_available_size(&this, x, y, available_width, available_height, flags);
347 // VERSION: 0.8
348 // Allocates the natural size of @self.
350 // This function is a utility call for #ClutterActor implementations
351 // that allocates the actor's preferred natural size. It can be used
352 // by fixed layout managers (like #ClutterGroup or so called
353 // 'composite actors') inside the ClutterActor::allocate
354 // implementation to give each child exactly how much space it
355 // requires.
357 // This function is not meant to be used by applications. It is also
358 // not meant to be used outside the implementation of the
359 // ClutterActor::allocate virtual function.
360 // <flags>: flags controlling the allocation
361 void allocate_preferred_size()(AllocationFlags flags) nothrow {
362 clutter_actor_allocate_preferred_size(&this, flags);
365 // Unintrospectable method: animate() / clutter_actor_animate()
366 // VERSION: 1.0
367 // Animates the given list of properties of @actor between the current
368 // value for each property and a new final value. The animation has a
369 // definite duration and a speed given by the @mode.
371 // For example, this:
373 // |[
374 // clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
375 // "width", 100.0,
376 // "height", 100.0,
377 // NULL);
378 // ]|
380 // will make width and height properties of the #ClutterActor "rectangle"
381 // grow linearly between the current value and 100 pixels, in 250 milliseconds.
383 // The animation @mode is a logical id, either from the #ClutterAnimationMode
384 // enumeration of from clutter_alpha_register_func().
386 // All the properties specified will be animated between the current value
387 // and the final value. If a property should be set at the beginning of
388 // the animation but not updated during the animation, it should be prefixed
389 // by the "fixed::" string, for instance:
391 // |[
392 // clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
393 // "rotation-angle-z", 360.0,
394 // "fixed::rotation-center-z", &amp;center,
395 // NULL);
396 // ]|
398 // Will animate the "rotation-angle-z" property between the current value
399 // and 360 degrees, and set the "rotation-center-z" property to the fixed
400 // value of the #ClutterVertex "center".
402 // This function will implicitly create a #ClutterAnimation object which
403 // will be assigned to the @actor and will be returned to the developer
404 // to control the animation or to know when the animation has been
405 // completed.
407 // If a name argument starts with "signal::", "signal-after::",
408 // "signal-swapped::" or "signal-swapped-after::" the two following arguments
409 // are used as callback function and data for a signal handler installed on
410 // the #ClutterAnimation object for the specified signal name, for instance:
412 // |[
414 // static void
415 // on_animation_completed (ClutterAnimation *animation,
416 // ClutterActor *actor)
417 // {
418 // clutter_actor_hide (actor);
419 // }
421 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
422 // "opacity", 0,
423 // "signal::completed", on_animation_completed, actor,
424 // NULL);
425 // ]|
427 // or, to automatically destroy an actor at the end of the animation:
429 // |[
430 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
431 // "opacity", 0,
432 // "signal-swapped-after::completed",
433 // clutter_actor_destroy,
434 // actor,
435 // NULL);
436 // ]|
438 // The "signal::" modifier is the equivalent of using g_signal_connect();
439 // the "signal-after::" modifier is the equivalent of using
440 // g_signal_connect_after() or g_signal_connect_data() with the
441 // %G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent
442 // of using g_signal_connect_swapped() or g_signal_connect_data() with the
443 // %G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier
444 // is the equivalent of using g_signal_connect_data() with both the
445 // %G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate()
446 // function will not keep track of multiple connections to the same signal,
447 // so it is your responsability to avoid them when calling
448 // clutter_actor_animate() multiple times on the same actor.
450 // Calling this function on an actor that is already being animated
451 // will cause the current animation to change with the new final values,
452 // the new easing mode and the new duration - that is, this code:
454 // |[
455 // clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
456 // "width", 100.0,
457 // "height", 100.0,
458 // NULL);
459 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
460 // "x", 100.0,
461 // "y", 100.0,
462 // "width", 200.0,
463 // NULL);
464 // ]|
466 // is the equivalent of:
468 // |[
469 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
470 // "x", 100.0,
471 // "y", 100.0,
472 // "width", 200.0,
473 // "height", 100.0,
474 // NULL);
475 // ]|
477 // <note>Unless the animation is looping, the #ClutterAnimation created by
478 // clutter_actor_animate() will become invalid as soon as it is
479 // complete.</note>
481 // Since the created #ClutterAnimation instance attached to @actor
482 // is guaranteed to be valid throughout the #ClutterAnimation::completed
483 // signal emission chain, you will not be able to create a new animation
484 // using clutter_actor_animate() on the same @actor from within the
485 // #ClutterAnimation::completed signal handler unless you use
486 // g_signal_connect_after() to connect the callback function, for instance:
488 // |[
489 // static void
490 // on_animation_completed (ClutterAnimation *animation,
491 // ClutterActor *actor)
492 // {
493 // clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
494 // "x", 500.0,
495 // "y", 500.0,
496 // NULL);
497 // }
499 // ...
500 // animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
501 // "x", 100.0,
502 // "y", 100.0,
503 // NULL);
504 // g_signal_connect (animation, "completed",
505 // G_CALLBACK (on_animation_completed),
506 // actor);
507 // ...
508 // ]|
510 // owned by the #ClutterActor and should not be unreferenced with
511 // g_object_unref()
512 // RETURNS: a #ClutterAnimation object. The object is
513 // <mode>: an animation mode logical id
514 // <duration>: duration of the animation, in milliseconds
515 // <first_property_name>: the name of a property
516 /+ Not available -- variadic methods unsupported - use the C function directly.
517 alias clutter_actor_animate animate; // Variadic
520 // Unintrospectable method: animate_with_alpha() / clutter_actor_animate_with_alpha()
521 // VERSION: 1.0
522 // Animates the given list of properties of @actor between the current
523 // value for each property and a new final value. The animation has a
524 // definite behaviour given by the passed @alpha.
526 // See clutter_actor_animate() for further details.
528 // This function is useful if you want to use an existing #ClutterAlpha
529 // to animate @actor.
531 // #ClutterActor and should not be unreferenced with g_object_unref()
532 // RETURNS: a #ClutterAnimation object. The object is owned by the
533 // <alpha>: a #ClutterAlpha
534 // <first_property_name>: the name of a property
535 /+ Not available -- variadic methods unsupported - use the C function directly.
536 alias clutter_actor_animate_with_alpha animate_with_alpha; // Variadic
539 // VERSION: 1.0
540 // Animates the given list of properties of @actor between the current
541 // value for each property and a new final value. The animation has a
542 // definite behaviour given by the passed @alpha.
544 // See clutter_actor_animate() for further details.
546 // This function is useful if you want to use an existing #ClutterAlpha
547 // to animate @actor.
549 // This is the vector-based variant of clutter_actor_animate_with_alpha(),
550 // useful for language bindings.
552 // <warning>Unlike clutter_actor_animate_with_alpha(), this function will
553 // not allow you to specify "signal::" names and callbacks.</warning>
555 // #ClutterActor and should not be unreferenced with g_object_unref()
556 // RETURNS: a #ClutterAnimation object. The object is owned by the
557 // <alpha>: a #ClutterAlpha
558 // <n_properties>: number of property names and values
559 // <properties>: a vector containing the property names to set
560 // <values>: a vector containing the property values to set
561 Animation* animate_with_alphav(AT0, AT1, AT2)(AT0 /*Alpha*/ alpha, int n_properties, AT1 /*char*/ properties, AT2 /*GObject2.Value*/ values) nothrow {
562 return clutter_actor_animate_with_alphav(&this, UpCast!(Alpha*)(alpha), n_properties, toCString!(char*)(properties), UpCast!(GObject2.Value*)(values));
565 // Unintrospectable method: animate_with_timeline() / clutter_actor_animate_with_timeline()
566 // VERSION: 1.0
567 // Animates the given list of properties of @actor between the current
568 // value for each property and a new final value. The animation has a
569 // definite duration given by @timeline and a speed given by the @mode.
571 // See clutter_actor_animate() for further details.
573 // This function is useful if you want to use an existing timeline
574 // to animate @actor.
576 // owned by the #ClutterActor and should not be unreferenced with
577 // g_object_unref()
578 // RETURNS: a #ClutterAnimation object. The object is
579 // <mode>: an animation mode logical id
580 // <timeline>: a #ClutterTimeline
581 // <first_property_name>: the name of a property
582 /+ Not available -- variadic methods unsupported - use the C function directly.
583 alias clutter_actor_animate_with_timeline animate_with_timeline; // Variadic
586 // VERSION: 1.0
587 // Animates the given list of properties of @actor between the current
588 // value for each property and a new final value. The animation has a
589 // definite duration given by @timeline and a speed given by the @mode.
591 // See clutter_actor_animate() for further details.
593 // This function is useful if you want to use an existing timeline
594 // to animate @actor.
596 // This is the vector-based variant of clutter_actor_animate_with_timeline(),
597 // useful for language bindings.
599 // <warning>Unlike clutter_actor_animate_with_timeline(), this function
600 // will not allow you to specify "signal::" names and callbacks.</warning>
602 // owned by the #ClutterActor and should not be unreferenced with
603 // g_object_unref()
604 // RETURNS: a #ClutterAnimation object. The object is
605 // <mode>: an animation mode logical id
606 // <timeline>: a #ClutterTimeline
607 // <n_properties>: number of property names and values
608 // <properties>: a vector containing the property names to set
609 // <values>: a vector containing the property values to set
610 Animation* animate_with_timelinev(AT0, AT1, AT2)(c_ulong mode, AT0 /*Timeline*/ timeline, int n_properties, AT1 /*char*/ properties, AT2 /*GObject2.Value*/ values) nothrow {
611 return clutter_actor_animate_with_timelinev(&this, mode, UpCast!(Timeline*)(timeline), n_properties, toCString!(char*)(properties), UpCast!(GObject2.Value*)(values));
614 // VERSION: 1.0
615 // Animates the given list of properties of @actor between the current
616 // value for each property and a new final value. The animation has a
617 // definite duration and a speed given by the @mode.
619 // This is the vector-based variant of clutter_actor_animate(), useful
620 // for language bindings.
622 // <warning>Unlike clutter_actor_animate(), this function will not
623 // allow you to specify "signal::" names and callbacks.</warning>
625 // owned by the #ClutterActor and should not be unreferenced with
626 // g_object_unref()
627 // RETURNS: a #ClutterAnimation object. The object is
628 // <mode>: an animation mode logical id
629 // <duration>: duration of the animation, in milliseconds
630 // <n_properties>: number of property names and values
631 // <properties>: a vector containing the property names to set
632 // <values>: a vector containing the property values to set
633 Animation* animatev(AT0, AT1)(c_ulong mode, uint duration, int n_properties, AT0 /*char*/ properties, AT1 /*GObject2.Value*/ values) nothrow {
634 return clutter_actor_animatev(&this, mode, duration, n_properties, toCString!(char*)(properties), UpCast!(GObject2.Value*)(values));
637 // VERSION: 0.6
638 // Transforms @point in coordinates relative to the actor into
639 // ancestor-relative coordinates using the relevant transform
640 // stack (i.e. scale, rotation, etc).
642 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
643 // this case, the coordinates returned will be the coordinates on
644 // the stage before the projection is applied. This is different from
645 // the behaviour of clutter_actor_apply_transform_to_point().
646 // <ancestor>: A #ClutterActor ancestor, or %NULL to use the default #ClutterStage
647 // <point>: A point as #ClutterVertex
648 // <vertex>: The translated #ClutterVertex
649 void apply_relative_transform_to_point(AT0, AT1, AT2)(AT0 /*Actor*/ ancestor, AT1 /*Vertex*/ point, /*out*/ AT2 /*Vertex*/ vertex) nothrow {
650 clutter_actor_apply_relative_transform_to_point(&this, UpCast!(Actor*)(ancestor), UpCast!(Vertex*)(point), UpCast!(Vertex*)(vertex));
653 // VERSION: 0.4
654 // Transforms @point in coordinates relative to the actor
655 // into screen-relative coordinates with the current actor
656 // transformation (i.e. scale, rotation, etc)
657 // <point>: A point as #ClutterVertex
658 // <vertex>: The translated #ClutterVertex
659 void apply_transform_to_point(AT0, AT1)(AT0 /*Vertex*/ point, /*out*/ AT1 /*Vertex*/ vertex) nothrow {
660 clutter_actor_apply_transform_to_point(&this, UpCast!(Vertex*)(point), UpCast!(Vertex*)(vertex));
663 // VERSION: 1.4
664 // Clears the list of actions applied to @self
665 void clear_actions()() nothrow {
666 clutter_actor_clear_actions(&this);
669 // VERSION: 1.4
670 // Clears the list of constraints applied to @self
671 void clear_constraints()() nothrow {
672 clutter_actor_clear_constraints(&this);
675 // VERSION: 1.4
676 // Clears the list of effects applied to @self
677 void clear_effects()() nothrow {
678 clutter_actor_clear_effects(&this);
681 // VERSION: 1.4
682 // Determines if @descendant is contained inside @self (either as an
683 // immediate child, or as a deeper descendant). If @self and
684 // @descendant point to the same actor then it will also return %TRUE.
685 // RETURNS: whether @descendent is contained within @self
686 // <descendant>: A #ClutterActor, possibly contained in @self
687 int contains(AT0)(AT0 /*Actor*/ descendant) nothrow {
688 return clutter_actor_contains(&this, UpCast!(Actor*)(descendant));
691 // VERSION: 1.8
692 // Run the next stage of the paint sequence. This function should only
693 // be called within the implementation of the ‘run’ virtual of a
694 // #ClutterEffect. It will cause the run method of the next effect to
695 // be applied, or it will paint the actual actor if the current effect
696 // is the last effect in the chain.
697 void continue_paint()() nothrow {
698 clutter_actor_continue_paint(&this);
701 // VERSION: 1.0
702 // Creates a #PangoContext for the given actor. The #PangoContext
703 // is already configured using the appropriate font map, resolution
704 // and font options.
706 // See also clutter_actor_get_pango_context().
708 // Use g_object_unref() on the returned value to deallocate its
709 // resources
710 // RETURNS: the newly created #PangoContext.
711 Pango.Context* /*new*/ create_pango_context()() nothrow {
712 return clutter_actor_create_pango_context(&this);
715 // VERSION: 1.0
716 // Creates a new #PangoLayout from the same #PangoContext used
717 // by the #ClutterActor. The #PangoLayout is already configured
718 // with the font map, resolution and font options, and the
719 // given @text.
721 // If you want to keep around a #PangoLayout created by this
722 // function you will have to connect to the #ClutterBackend::font-changed
723 // and #ClutterBackend::resolution-changed signals, and call
724 // pango_layout_context_changed() in response to them.
726 // Use g_object_unref() when done
727 // RETURNS: the newly created #PangoLayout.
728 // <text>: (allow-none) the text to set on the #PangoLayout, or %NULL
729 Pango.Layout* /*new*/ create_pango_layout(AT0)(AT0 /*char*/ text) nothrow {
730 return clutter_actor_create_pango_layout(&this, toCString!(char*)(text));
733 // Destroys an actor. When an actor is destroyed, it will break any
734 // references it holds to other objects. If the actor is inside a
735 // container, the actor will be removed.
737 // When you destroy a container, its children will be destroyed as well.
739 // Note: you cannot destroy the #ClutterStage returned by
740 // clutter_stage_get_default().
741 void destroy()() nothrow {
742 clutter_actor_destroy(&this);
745 // VERSION: 1.4
746 // Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate()
747 // has been called on @actor.
749 // Once the animation has been detached, it loses a reference. If it was
750 // the only reference then the #ClutterAnimation becomes invalid.
752 // The #ClutterAnimation::completed signal will not be emitted.
753 void detach_animation()() nothrow {
754 clutter_actor_detach_animation(&this);
757 // VERSION: 0.6
758 // This function is used to emit an event on the main stage.
759 // You should rarely need to use this function, except for
760 // synthetising events.
762 // if the actor handled the event, or %FALSE if the event was
763 // not handled
764 // RETURNS: the return value from the signal emission: %TRUE
765 // <event>: a #ClutterEvent
766 // <capture>: TRUE if event in in capture phase, FALSE otherwise.
767 int event(AT0)(AT0 /*Event*/ event, int capture) nothrow {
768 return clutter_actor_event(&this, UpCast!(Event*)(event), capture);
771 // VERSION: 0.4
772 // Calculates the transformed screen coordinates of the four corners of
773 // the actor; the returned vertices relate to the #ClutterActorBox
774 // coordinates as follows:
775 // <itemizedlist>
776 // <listitem><para>v[0] contains (x1, y1)</para></listitem>
777 // <listitem><para>v[1] contains (x2, y1)</para></listitem>
778 // <listitem><para>v[2] contains (x1, y2)</para></listitem>
779 // <listitem><para>v[3] contains (x2, y2)</para></listitem>
780 // </itemizedlist>
781 // <verts>: Pointer to a location of an array of 4 #ClutterVertex where to store the result.
782 void get_abs_allocation_vertices()(/*out*/ Vertex verts) nothrow {
783 clutter_actor_get_abs_allocation_vertices(&this, verts);
786 // Returns the accessible object that describes the actor to an
787 // assistive technology.
789 // If no class-specific #AtkObject implementation is available for the
790 // actor instance in question, it will inherit an #AtkObject
791 // implementation from the first ancestor class for which such an
792 // implementation is defined.
794 // The documentation of the <ulink
795 // url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink>
796 // library contains more information about accessible objects and
797 // their uses.
798 // RETURNS: the #AtkObject associated with @actor
799 Atk.Object* get_accessible()() nothrow {
800 return clutter_actor_get_accessible(&this);
803 // VERSION: 1.4
804 // Retrieves the #ClutterAction with the given name in the list
805 // of actions applied to @self
807 // name, or %NULL. The returned #ClutterAction is owned by the
808 // actor and it should not be unreferenced directly
809 // RETURNS: a #ClutterAction for the given
810 // <name>: the name of the action to retrieve
811 Action* get_action(AT0)(AT0 /*char*/ name) nothrow {
812 return clutter_actor_get_action(&this, toCString!(char*)(name));
815 // VERSION: 1.4
816 // Retrieves the list of actions applied to @self
818 // of the list of #ClutterAction<!-- -->s. The contents of the list are
819 // owned by the #ClutterActor. Use g_list_free() to free the resources
820 // allocated by the returned #GList
821 // RETURNS: a copy
822 GLib2.List* /*new container*/ get_actions()() nothrow {
823 return clutter_actor_get_actions(&this);
826 // VERSION: 0.8
827 // Gets the layout box an actor has been assigned. The allocation can
828 // only be assumed valid inside a paint() method; anywhere else, it
829 // may be out-of-date.
831 // An allocation does not incorporate the actor's scale or anchor point;
832 // those transformations do not affect layout, only rendering.
834 // <note>Do not call any of the clutter_actor_get_allocation_*() family
835 // of functions inside the implementation of the get_preferred_width()
836 // or get_preferred_height() virtual functions.</note>
837 // <box>: the function fills this in with the actor's allocation
838 void get_allocation_box(AT0)(/*out*/ AT0 /*ActorBox*/ box) nothrow {
839 clutter_actor_get_allocation_box(&this, UpCast!(ActorBox*)(box));
842 // VERSION: 0.8
843 // Gets the layout box an actor has been assigned. The allocation can
844 // only be assumed valid inside a paint() method; anywhere else, it
845 // may be out-of-date.
847 // An allocation does not incorporate the actor's scale or anchor point;
848 // those transformations do not affect layout, only rendering.
850 // The returned rectangle is in pixels.
851 // <geom>: allocation geometry in pixels
852 void get_allocation_geometry(AT0)(/*out*/ AT0 /*Geometry*/ geom) nothrow {
853 clutter_actor_get_allocation_geometry(&this, UpCast!(Geometry*)(geom));
856 // VERSION: 0.6
857 // Calculates the transformed coordinates of the four corners of the
858 // actor in the plane of @ancestor. The returned vertices relate to
859 // the #ClutterActorBox coordinates as follows:
860 // <itemizedlist>
861 // <listitem><para>@verts[0] contains (x1, y1)</para></listitem>
862 // <listitem><para>@verts[1] contains (x2, y1)</para></listitem>
863 // <listitem><para>@verts[2] contains (x1, y2)</para></listitem>
864 // <listitem><para>@verts[3] contains (x2, y2)</para></listitem>
865 // </itemizedlist>
867 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
868 // this case, the coordinates returned will be the coordinates on
869 // the stage before the projection is applied. This is different from
870 // the behaviour of clutter_actor_get_abs_allocation_vertices().
871 // <ancestor>: A #ClutterActor to calculate the vertices against, or %NULL to use the #ClutterStage
872 // <verts>: return location for an array of 4 #ClutterVertex in which to store the result
873 void get_allocation_vertices(AT0)(AT0 /*Actor*/ ancestor, /*out*/ Vertex verts) nothrow {
874 clutter_actor_get_allocation_vertices(&this, UpCast!(Actor*)(ancestor), verts);
877 // VERSION: 0.6
878 // Gets the current anchor point of the @actor in pixels.
879 // <anchor_x>: return location for the X coordinate of the anchor point
880 // <anchor_y>: return location for the Y coordinate of the anchor point
881 void get_anchor_point(AT0, AT1)(/*out*/ AT0 /*float*/ anchor_x, /*out*/ AT1 /*float*/ anchor_y) nothrow {
882 clutter_actor_get_anchor_point(&this, UpCast!(float*)(anchor_x), UpCast!(float*)(anchor_y));
885 // VERSION: 1.0
886 // Retrieves the anchor position expressed as a #ClutterGravity. If
887 // the anchor point was specified using pixels or units this will
888 // return %CLUTTER_GRAVITY_NONE.
889 // RETURNS: the #ClutterGravity used by the anchor point
890 Gravity get_anchor_point_gravity()() nothrow {
891 return clutter_actor_get_anchor_point_gravity(&this);
894 // VERSION: 1.0
895 // Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate()
896 // has been called on @actor.
897 // RETURNS: a #ClutterAnimation, or %NULL
898 Animation* get_animation()() nothrow {
899 return clutter_actor_get_animation(&this);
902 // VERSION: 1.10
903 // Retrieves the color set using clutter_actor_set_background_color().
904 // <color>: return location for a #ClutterColor
905 void get_background_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
906 clutter_actor_get_background_color(&this, UpCast!(Color*)(color));
909 // VERSION: 1.10
910 // Retrieves the actor at the given @index_ inside the list of
911 // children of @self.
912 // RETURNS: a pointer to a #ClutterActor, or %NULL
913 // <index_>: the position in the list of children
914 Actor* get_child_at_index()(int index_) nothrow {
915 return clutter_actor_get_child_at_index(&this, index_);
918 // VERSION: 1.10
919 // Retrieves the list of children of @self.
921 // allocated #GList of #ClutterActor<!-- -->s. Use g_list_free() when
922 // done.
923 // RETURNS: A newly
924 GLib2.List* /*new container*/ get_children()() nothrow {
925 return clutter_actor_get_children(&this);
928 // VERSION: 0.6
929 // Gets the clip area for @self, if any is set
930 // <xoff>: return location for the X offset of the clip rectangle, or %NULL
931 // <yoff>: return location for the Y offset of the clip rectangle, or %NULL
932 // <width>: return location for the width of the clip rectangle, or %NULL
933 // <height>: return location for the height of the clip rectangle, or %NULL
934 void get_clip(AT0, AT1, AT2, AT3)(/*out*/ AT0 /*float*/ xoff=null, /*out*/ AT1 /*float*/ yoff=null, /*out*/ AT2 /*float*/ width=null, /*out*/ AT3 /*float*/ height=null) nothrow {
935 clutter_actor_get_clip(&this, UpCast!(float*)(xoff), UpCast!(float*)(yoff), UpCast!(float*)(width), UpCast!(float*)(height));
938 // VERSION: 1.4
939 // Retrieves the value set using clutter_actor_set_clip_to_allocation()
940 // RETURNS: %TRUE if the #ClutterActor is clipped to its allocation
941 int get_clip_to_allocation()() nothrow {
942 return clutter_actor_get_clip_to_allocation(&this);
945 // VERSION: 1.4
946 // Retrieves the #ClutterConstraint with the given name in the list
947 // of constraints applied to @self
949 // name, or %NULL. The returned #ClutterConstraint is owned by the
950 // actor and it should not be unreferenced directly
951 // RETURNS: a #ClutterConstraint for the given
952 // <name>: the name of the constraint to retrieve
953 Constraint* get_constraint(AT0)(AT0 /*char*/ name) nothrow {
954 return clutter_actor_get_constraint(&this, toCString!(char*)(name));
957 // VERSION: 1.4
958 // Retrieves the list of constraints applied to @self
960 // of the list of #ClutterConstraint<!-- -->s. The contents of the list are
961 // owned by the #ClutterActor. Use g_list_free() to free the resources
962 // allocated by the returned #GList
963 // RETURNS: a copy
964 GLib2.List* /*new container*/ get_constraints()() nothrow {
965 return clutter_actor_get_constraints(&this);
968 // Retrieves the depth of @self.
969 // RETURNS: the depth of the actor
970 float get_depth()() nothrow {
971 return clutter_actor_get_depth(&this);
974 // VERSION: 1.4
975 // Retrieves the #ClutterEffect with the given name in the list
976 // of effects applied to @self
978 // name, or %NULL. The returned #ClutterEffect is owned by the
979 // actor and it should not be unreferenced directly
980 // RETURNS: a #ClutterEffect for the given
981 // <name>: the name of the effect to retrieve
982 Effect* get_effect(AT0)(AT0 /*char*/ name) nothrow {
983 return clutter_actor_get_effect(&this, toCString!(char*)(name));
986 // VERSION: 1.4
987 // Retrieves the #ClutterEffect<!-- -->s applied on @self, if any
989 // of #ClutterEffect<!-- -->s, or %NULL. The elements of the returned
990 // list are owned by Clutter and they should not be freed. You should
991 // free the returned list using g_list_free() when done
992 // RETURNS: a list
993 GLib2.List* /*new container*/ get_effects()() nothrow {
994 return clutter_actor_get_effects(&this);
997 // VERSION: 1.10
998 // Retrieves the first child of @self.
1000 // The returned pointer is only valid until the scene graph changes; it
1001 // is not safe to modify the list of children of @self while iterating
1002 // it.
1003 // RETURNS: a pointer to a #ClutterActor, or %NULL
1004 Actor* get_first_child()() nothrow {
1005 return clutter_actor_get_first_child(&this);
1008 // VERSION: 0.8
1009 // Checks whether an actor has a fixed position set (and will thus be
1010 // unaffected by any layout manager).
1011 // RETURNS: %TRUE if the fixed position is set on the actor
1012 int get_fixed_position_set()() nothrow {
1013 return clutter_actor_get_fixed_position_set(&this);
1016 // VERSION: 1.0
1017 // Retrieves the flags set on @self
1018 // RETURNS: a bitwise or of #ClutterActorFlags or 0
1019 ActorFlags get_flags()() nothrow {
1020 return clutter_actor_get_flags(&this);
1023 // DEPRECATED (v1.10) method: get_geometry - Use clutter_actor_get_position() and
1024 // Gets the size and position of an actor relative to its parent
1025 // actor. This is the same as calling clutter_actor_get_position() and
1026 // clutter_actor_get_size(). It tries to "do what you mean" and get the
1027 // requested size and position if the actor's allocation is invalid.
1029 // clutter_actor_get_size(), or clutter_actor_get_allocation_geometry()
1030 // instead.
1031 // <geometry>: A location to store actors #ClutterGeometry
1032 void get_geometry(AT0)(/*out*/ AT0 /*Geometry*/ geometry) nothrow {
1033 clutter_actor_get_geometry(&this, UpCast!(Geometry*)(geometry));
1036 // VERSION: 0.6
1037 // DEPRECATED (v1.8) method: get_gid - The id is not used any longer.
1038 // Retrieves the unique id for @self.
1039 // RETURNS: Globally unique value for this object instance.
1040 uint get_gid()() nothrow {
1041 return clutter_actor_get_gid(&this);
1044 // Retrieves the height of a #ClutterActor.
1046 // If the actor has a valid allocation, this function will return the
1047 // height of the allocated area given to the actor.
1049 // If the actor does not have a valid allocation, this function will
1050 // return the actor's natural height, that is the preferred height of
1051 // the actor.
1053 // If you care whether you get the preferred height or the height that
1054 // has been assigned to the actor, you should probably call a different
1055 // function like clutter_actor_get_allocation_box() to retrieve the
1056 // allocated size or clutter_actor_get_preferred_height() to retrieve the
1057 // preferred height.
1059 // If an actor has a fixed height, for instance a height that has been
1060 // assigned using clutter_actor_set_height(), the height returned will
1061 // be the same value.
1062 // RETURNS: the height of the actor, in pixels
1063 float get_height()() nothrow {
1064 return clutter_actor_get_height(&this);
1067 // VERSION: 1.10
1068 // Retrieves the last child of @self.
1070 // The returned pointer is only valid until the scene graph changes; it
1071 // is not safe to modify the list of children of @self while iterating
1072 // it.
1073 // RETURNS: a pointer to a #ClutterActor, or %NULL
1074 Actor* get_last_child()() nothrow {
1075 return clutter_actor_get_last_child(&this);
1078 // VERSION: 1.10
1079 // Retrieves the #ClutterLayoutManager used by @self.
1081 // or %NULL
1082 // RETURNS: a pointer to the #ClutterLayoutManager,
1083 LayoutManager* get_layout_manager()() nothrow {
1084 return clutter_actor_get_layout_manager(&this);
1087 // VERSION: 1.10
1088 // Retrieves all the components of the margin of a #ClutterActor.
1089 // <margin>: return location for a #ClutterMargin
1090 void get_margin(AT0)(/*out*/ AT0 /*Margin*/ margin) nothrow {
1091 clutter_actor_get_margin(&this, UpCast!(Margin*)(margin));
1094 // VERSION: 1.10
1095 // Retrieves the bottom margin of a #ClutterActor.
1096 // RETURNS: the bottom margin
1097 float get_margin_bottom()() nothrow {
1098 return clutter_actor_get_margin_bottom(&this);
1101 // VERSION: 1.10
1102 // Retrieves the left margin of a #ClutterActor.
1103 // RETURNS: the left margin
1104 float get_margin_left()() nothrow {
1105 return clutter_actor_get_margin_left(&this);
1108 // VERSION: 1.10
1109 // Retrieves the right margin of a #ClutterActor.
1110 // RETURNS: the right margin
1111 float get_margin_right()() nothrow {
1112 return clutter_actor_get_margin_right(&this);
1115 // VERSION: 1.10
1116 // Retrieves the top margin of a #ClutterActor.
1117 // RETURNS: the top margin
1118 float get_margin_top()() nothrow {
1119 return clutter_actor_get_margin_top(&this);
1122 // VERSION: 1.10
1123 // Retrieves the number of children of @self.
1124 // RETURNS: the number of children of an actor
1125 int get_n_children()() nothrow {
1126 return clutter_actor_get_n_children(&this);
1129 // Retrieves the name of @self.
1131 // owned by the actor and should not be modified or freed.
1132 // RETURNS: the name of the actor, or %NULL. The returned string is
1133 char* get_name()() nothrow {
1134 return clutter_actor_get_name(&this);
1137 // VERSION: 1.10
1138 // Retrieves the sibling of @self that comes after it in the list
1139 // of children of @self's parent.
1141 // The returned pointer is only valid until the scene graph changes; it
1142 // is not safe to modify the list of children of @self while iterating
1143 // it.
1144 // RETURNS: a pointer to a #ClutterActor, or %NULL
1145 Actor* get_next_sibling()() nothrow {
1146 return clutter_actor_get_next_sibling(&this);
1149 // VERSION: 1.8
1150 // Retrieves whether to redirect the actor to an offscreen buffer, as
1151 // set by clutter_actor_set_offscreen_redirect().
1152 // RETURNS: the value of the offscreen-redirect property of the actor
1153 OffscreenRedirect get_offscreen_redirect()() nothrow {
1154 return clutter_actor_get_offscreen_redirect(&this);
1157 // Retrieves the opacity value of an actor, as set by
1158 // clutter_actor_set_opacity().
1160 // For retrieving the absolute opacity of the actor inside a paint
1161 // virtual function, see clutter_actor_get_paint_opacity().
1162 // RETURNS: the opacity of the actor
1163 ubyte get_opacity()() nothrow {
1164 return clutter_actor_get_opacity(&this);
1167 // VERSION: 1.6
1168 // Retrieves the paint volume of the passed #ClutterActor, and
1169 // transforms it into a 2D bounding box in stage coordinates.
1171 // This function is useful to determine the on screen area occupied by
1172 // the actor. The box is only an approximation and may often be
1173 // considerably larger due to the optimizations used to calculate the
1174 // box. The box is never smaller though, so it can reliably be used
1175 // for culling.
1177 // There are times when a 2D paint box can't be determined, e.g.
1178 // because the actor isn't yet parented under a stage or because
1179 // the actor is unable to determine a paint volume.
1181 // %FALSE.
1182 // RETURNS: %TRUE if a 2D paint box could be determined, else
1183 // <box>: return location for a #ClutterActorBox
1184 int get_paint_box(AT0)(/*out*/ AT0 /*ActorBox*/ box) nothrow {
1185 return clutter_actor_get_paint_box(&this, UpCast!(ActorBox*)(box));
1188 // VERSION: 0.8
1189 // Retrieves the absolute opacity of the actor, as it appears on the stage.
1191 // This function traverses the hierarchy chain and composites the opacity of
1192 // the actor with that of its parents.
1194 // This function is intended for subclasses to use in the paint virtual
1195 // function, to paint themselves with the correct opacity.
1196 // RETURNS: The actor opacity value.
1197 ubyte get_paint_opacity()() nothrow {
1198 return clutter_actor_get_paint_opacity(&this);
1201 // VERSION: 0.8.4
1202 // Retrieves the 'paint' visibility of an actor recursively checking for non
1203 // visible parents.
1205 // This is by definition the same as %CLUTTER_ACTOR_IS_MAPPED.
1206 // RETURNS: %TRUE if the actor is visibile and will be painted.
1207 int get_paint_visibility()() nothrow {
1208 return clutter_actor_get_paint_visibility(&this);
1211 // VERSION: 1.6
1212 // Retrieves the paint volume of the passed #ClutterActor, or %NULL
1213 // when a paint volume can't be determined.
1215 // The paint volume is defined as the 3D space occupied by an actor
1216 // when being painted.
1218 // This function will call the <function>get_paint_volume()</function>
1219 // virtual function of the #ClutterActor class. Sub-classes of #ClutterActor
1220 // should not usually care about overriding the default implementation,
1221 // unless they are, for instance: painting outside their allocation, or
1222 // actors with a depth factor (not in terms of #ClutterActor:depth but real
1223 // 3D depth).
1225 // <note>2D actors overriding <function>get_paint_volume()</function>
1226 // ensure their volume has a depth of 0. (This will be true so long as
1227 // you don't call clutter_paint_volume_set_depth().)</note>
1229 // or %NULL if no volume could be determined.
1230 // RETURNS: a pointer to a #ClutterPaintVolume
1231 PaintVolume* get_paint_volume()() nothrow {
1232 return clutter_actor_get_paint_volume(&this);
1235 // VERSION: 1.0
1236 // Retrieves the #PangoContext for @self. The actor's #PangoContext
1237 // is already configured using the appropriate font map, resolution
1238 // and font options.
1240 // Unlike clutter_actor_create_pango_context(), this context is owend
1241 // by the #ClutterActor and it will be updated each time the options
1242 // stored by the #ClutterBackend change.
1244 // You can use the returned #PangoContext to create a #PangoLayout
1245 // and render text using cogl_pango_render_layout() to reuse the
1246 // glyphs cache also used by Clutter.
1248 // The returned #PangoContext is owned by the actor and should not be
1249 // unreferenced by the application code
1250 // RETURNS: the #PangoContext for a #ClutterActor.
1251 Pango.Context* get_pango_context()() nothrow {
1252 return clutter_actor_get_pango_context(&this);
1255 // Retrieves the parent of @self.
1257 // if no parent is set
1258 // RETURNS: The #ClutterActor parent, or %NULL
1259 Actor* get_parent()() nothrow {
1260 return clutter_actor_get_parent(&this);
1263 // VERSION: 0.6
1264 // This function tries to "do what you mean" and tell you where the
1265 // actor is, prior to any transformations. Retrieves the fixed
1266 // position of an actor in pixels, if one has been set; otherwise, if
1267 // the allocation is valid, returns the actor's allocated position;
1268 // otherwise, returns 0,0.
1270 // The returned position is in pixels.
1271 // <x>: return location for the X coordinate, or %NULL
1272 // <y>: return location for the Y coordinate, or %NULL
1273 void get_position(AT0, AT1)(/*out*/ AT0 /*float*/ x=null, /*out*/ AT1 /*float*/ y=null) nothrow {
1274 clutter_actor_get_position(&this, UpCast!(float*)(x), UpCast!(float*)(y));
1277 // VERSION: 0.8
1278 // Computes the requested minimum and natural heights for an actor,
1279 // or if they are already computed, returns the cached values.
1281 // An actor may not get its request - depending on the layout
1282 // manager that's in effect.
1284 // A request should not incorporate the actor's scale or anchor point;
1285 // those transformations do not affect layout, only rendering.
1286 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
1287 // <min_height_p>: return location for minimum height, or %NULL
1288 // <natural_height_p>: return location for natural height, or %NULL
1289 void get_preferred_height(AT0, AT1)(float for_width, /*out*/ AT0 /*float*/ min_height_p=null, /*out*/ AT1 /*float*/ natural_height_p=null) nothrow {
1290 clutter_actor_get_preferred_height(&this, for_width, UpCast!(float*)(min_height_p), UpCast!(float*)(natural_height_p));
1293 // VERSION: 0.8
1294 // Computes the preferred minimum and natural size of an actor, taking into
1295 // account the actor's geometry management (either height-for-width
1296 // or width-for-height).
1298 // The width and height used to compute the preferred height and preferred
1299 // width are the actor's natural ones.
1301 // If you need to control the height for the preferred width, or the width for
1302 // the preferred height, you should use clutter_actor_get_preferred_width()
1303 // and clutter_actor_get_preferred_height(), and check the actor's preferred
1304 // geometry management using the #ClutterActor:request-mode property.
1305 // <min_width_p>: return location for the minimum width, or %NULL
1306 // <min_height_p>: return location for the minimum height, or %NULL
1307 // <natural_width_p>: return location for the natural width, or %NULL
1308 // <natural_height_p>: return location for the natural height, or %NULL
1309 void get_preferred_size(AT0, AT1, AT2, AT3)(/*out*/ AT0 /*float*/ min_width_p=null, /*out*/ AT1 /*float*/ min_height_p=null, /*out*/ AT2 /*float*/ natural_width_p=null, /*out*/ AT3 /*float*/ natural_height_p=null) nothrow {
1310 clutter_actor_get_preferred_size(&this, UpCast!(float*)(min_width_p), UpCast!(float*)(min_height_p), UpCast!(float*)(natural_width_p), UpCast!(float*)(natural_height_p));
1313 // VERSION: 0.8
1314 // Computes the requested minimum and natural widths for an actor,
1315 // optionally depending on the specified height, or if they are
1316 // already computed, returns the cached values.
1318 // An actor may not get its request - depending on the layout
1319 // manager that's in effect.
1321 // A request should not incorporate the actor's scale or anchor point;
1322 // those transformations do not affect layout, only rendering.
1323 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
1324 // <min_width_p>: return location for minimum width, or %NULL
1325 // <natural_width_p>: return location for the natural width, or %NULL
1326 void get_preferred_width(AT0, AT1)(float for_height, /*out*/ AT0 /*float*/ min_width_p=null, /*out*/ AT1 /*float*/ natural_width_p=null) nothrow {
1327 clutter_actor_get_preferred_width(&this, for_height, UpCast!(float*)(min_width_p), UpCast!(float*)(natural_width_p));
1330 // VERSION: 1.10
1331 // Retrieves the sibling of @self that comes before it in the list
1332 // of children of @self's parent.
1334 // The returned pointer is only valid until the scene graph changes; it
1335 // is not safe to modify the list of children of @self while iterating
1336 // it.
1337 // RETURNS: a pointer to a #ClutterActor, or %NULL
1338 Actor* get_previous_sibling()() nothrow {
1339 return clutter_actor_get_previous_sibling(&this);
1342 // VERSION: 0.6
1343 // Checks whether @actor is marked as reactive.
1344 // RETURNS: %TRUE if the actor is reactive
1345 int get_reactive()() nothrow {
1346 return clutter_actor_get_reactive(&this);
1349 // VERSION: 1.2
1350 // Retrieves the geometry request mode of @self
1351 // RETURNS: the request mode for the actor
1352 RequestMode get_request_mode()() nothrow {
1353 return clutter_actor_get_request_mode(&this);
1356 // VERSION: 0.8
1357 // Retrieves the angle and center of rotation on the given axis,
1358 // set using clutter_actor_set_rotation().
1359 // RETURNS: the angle of rotation
1360 // <axis>: the axis of rotation
1361 // <x>: return value for the X coordinate of the center of rotation
1362 // <y>: return value for the Y coordinate of the center of rotation
1363 // <z>: return value for the Z coordinate of the center of rotation
1364 double get_rotation(AT0, AT1, AT2)(RotateAxis axis, /*out*/ AT0 /*float*/ x, /*out*/ AT1 /*float*/ y, /*out*/ AT2 /*float*/ z) nothrow {
1365 return clutter_actor_get_rotation(&this, axis, UpCast!(float*)(x), UpCast!(float*)(y), UpCast!(float*)(z));
1368 // VERSION: 0.2
1369 // Retrieves an actors scale factors.
1370 // <scale_x>: Location to store horizonal scale factor, or %NULL.
1371 // <scale_y>: Location to store vertical scale factor, or %NULL.
1372 void get_scale(AT0, AT1)(/*out*/ AT0 /*double*/ scale_x=null, /*out*/ AT1 /*double*/ scale_y=null) nothrow {
1373 clutter_actor_get_scale(&this, UpCast!(double*)(scale_x), UpCast!(double*)(scale_y));
1376 // VERSION: 1.0
1377 // Retrieves the scale center coordinate in pixels relative to the top
1378 // left corner of the actor. If the scale center was specified using a
1379 // #ClutterGravity this will calculate the pixel offset using the
1380 // current size of the actor.
1381 // <center_x>: Location to store the X position of the scale center, or %NULL.
1382 // <center_y>: Location to store the Y position of the scale center, or %NULL.
1383 void get_scale_center(AT0, AT1)(/*out*/ AT0 /*float*/ center_x=null, /*out*/ AT1 /*float*/ center_y=null) nothrow {
1384 clutter_actor_get_scale_center(&this, UpCast!(float*)(center_x), UpCast!(float*)(center_y));
1387 // VERSION: 1.0
1388 // Retrieves the scale center as a compass direction. If the scale
1389 // center was specified in pixels or units this will return
1390 // %CLUTTER_GRAVITY_NONE.
1391 // RETURNS: the scale gravity
1392 Gravity get_scale_gravity()() nothrow {
1393 return clutter_actor_get_scale_gravity(&this);
1396 // VERSION: 0.6
1397 // DEPRECATED (v1.8) method: get_shader - Use clutter_actor_get_effect() instead.
1398 // Queries the currently set #ClutterShader on @self.
1400 // or %NULL if no shader is set.
1401 // RETURNS: The currently set #ClutterShader
1402 Shader* get_shader()() nothrow {
1403 return clutter_actor_get_shader(&this);
1406 // VERSION: 0.2
1407 // This function tries to "do what you mean" and return
1408 // the size an actor will have. If the actor has a valid
1409 // allocation, the allocation will be returned; otherwise,
1410 // the actors natural size request will be returned.
1412 // If you care whether you get the request vs. the allocation, you
1413 // should probably call a different function like
1414 // clutter_actor_get_allocation_box() or
1415 // clutter_actor_get_preferred_width().
1416 // <width>: return location for the width, or %NULL.
1417 // <height>: return location for the height, or %NULL.
1418 void get_size(AT0, AT1)(/*out*/ AT0 /*float*/ width=null, /*out*/ AT1 /*float*/ height=null) nothrow {
1419 clutter_actor_get_size(&this, UpCast!(float*)(width), UpCast!(float*)(height));
1422 // VERSION: 0.8
1423 // Retrieves the #ClutterStage where @actor is contained.
1425 // containing the actor, or %NULL
1426 // RETURNS: the stage
1427 Clutter.Stage* get_stage()() nothrow {
1428 return clutter_actor_get_stage(&this);
1431 // VERSION: 1.2
1432 // Retrieves the value set using clutter_actor_set_text_direction()
1434 // If no text direction has been previously set, the default text
1435 // direction, as returned by clutter_get_default_text_direction(), will
1436 // be returned instead
1437 // RETURNS: the #ClutterTextDirection for the actor
1438 TextDirection get_text_direction()() nothrow {
1439 return clutter_actor_get_text_direction(&this);
1442 // VERSION: 1.0
1443 // Retrieves the transformations applied to @self relative to its
1444 // parent.
1445 // <matrix>: the return location for a #CoglMatrix
1446 void get_transformation_matrix(AT0)(/*out*/ AT0 /*Cogl.Matrix*/ matrix) nothrow {
1447 clutter_actor_get_transformation_matrix(&this, UpCast!(Cogl.Matrix*)(matrix));
1450 // VERSION: 1.6
1451 // Retrieves the 3D paint volume of an actor like
1452 // clutter_actor_get_paint_volume() does (Please refer to the
1453 // documentation of clutter_actor_get_paint_volume() for more
1454 // details.) and it additionally transforms the paint volume into the
1455 // coordinate space of @relative_to_ancestor. (Or the stage if %NULL
1456 // is passed for @relative_to_ancestor)
1458 // This can be used by containers that base their paint volume on
1459 // the volume of their children. Such containers can query the
1460 // transformed paint volume of all of its children and union them
1461 // together using clutter_paint_volume_union().
1463 // or %NULL if no volume could be determined.
1464 // RETURNS: a pointer to a #ClutterPaintVolume
1465 // <relative_to_ancestor>: A #ClutterActor that is an ancestor of @self (or %NULL for the stage)
1466 PaintVolume* get_transformed_paint_volume(AT0)(AT0 /*Actor*/ relative_to_ancestor) nothrow {
1467 return clutter_actor_get_transformed_paint_volume(&this, UpCast!(Actor*)(relative_to_ancestor));
1470 // VERSION: 0.8
1471 // Gets the absolute position of an actor, in pixels relative to the stage.
1472 // <x>: return location for the X coordinate, or %NULL
1473 // <y>: return location for the Y coordinate, or %NULL
1474 void get_transformed_position(AT0, AT1)(/*out*/ AT0 /*float*/ x=null, /*out*/ AT1 /*float*/ y=null) nothrow {
1475 clutter_actor_get_transformed_position(&this, UpCast!(float*)(x), UpCast!(float*)(y));
1478 // VERSION: 0.8
1479 // Gets the absolute size of an actor in pixels, taking into account the
1480 // scaling factors.
1482 // If the actor has a valid allocation, the allocated size will be used.
1483 // If the actor has not a valid allocation then the preferred size will
1484 // be transformed and returned.
1486 // If you want the transformed allocation, see
1487 // clutter_actor_get_abs_allocation_vertices() instead.
1489 // <note>When the actor (or one of its ancestors) is rotated around the
1490 // X or Y axis, it no longer appears as on the stage as a rectangle, but
1491 // as a generic quadrangle; in that case this function returns the size
1492 // of the smallest rectangle that encapsulates the entire quad. Please
1493 // note that in this case no assumptions can be made about the relative
1494 // position of this envelope to the absolute position of the actor, as
1495 // returned by clutter_actor_get_transformed_position(); if you need this
1496 // information, you need to use clutter_actor_get_abs_allocation_vertices()
1497 // to get the coords of the actual quadrangle.</note>
1498 // <width>: return location for the width, or %NULL
1499 // <height>: return location for the height, or %NULL
1500 void get_transformed_size(AT0, AT1)(/*out*/ AT0 /*float*/ width=null, /*out*/ AT1 /*float*/ height=null) nothrow {
1501 clutter_actor_get_transformed_size(&this, UpCast!(float*)(width), UpCast!(float*)(height));
1504 // Retrieves the width of a #ClutterActor.
1506 // If the actor has a valid allocation, this function will return the
1507 // width of the allocated area given to the actor.
1509 // If the actor does not have a valid allocation, this function will
1510 // return the actor's natural width, that is the preferred width of
1511 // the actor.
1513 // If you care whether you get the preferred width or the width that
1514 // has been assigned to the actor, you should probably call a different
1515 // function like clutter_actor_get_allocation_box() to retrieve the
1516 // allocated size or clutter_actor_get_preferred_width() to retrieve the
1517 // preferred width.
1519 // If an actor has a fixed width, for instance a width that has been
1520 // assigned using clutter_actor_set_width(), the width returned will
1521 // be the same value.
1522 // RETURNS: the width of the actor, in pixels
1523 float get_width()() nothrow {
1524 return clutter_actor_get_width(&this);
1527 // Retrieves the X coordinate of a #ClutterActor.
1529 // This function tries to "do what you mean", by returning the
1530 // correct value depending on the actor's state.
1532 // If the actor has a valid allocation, this function will return
1533 // the X coordinate of the origin of the allocation box.
1535 // If the actor has any fixed coordinate set using clutter_actor_set_x(),
1536 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1537 // function will return that coordinate.
1539 // If both the allocation and a fixed position are missing, this function
1540 // will return 0.
1542 // transformation (i.e. scaling, rotation)
1543 // RETURNS: the X coordinate, in pixels, ignoring any
1544 float get_x()() nothrow {
1545 return clutter_actor_get_x(&this);
1548 // VERSION: 1.10
1549 // Retrieves the horizontal alignment policy set using
1550 // clutter_actor_set_x_align().
1551 // RETURNS: the horizontal alignment policy.
1552 ActorAlign get_x_align()() nothrow {
1553 return clutter_actor_get_x_align(&this);
1556 // Retrieves the Y coordinate of a #ClutterActor.
1558 // This function tries to "do what you mean", by returning the
1559 // correct value depending on the actor's state.
1561 // If the actor has a valid allocation, this function will return
1562 // the Y coordinate of the origin of the allocation box.
1564 // If the actor has any fixed coordinate set using clutter_actor_set_y(),
1565 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1566 // function will return that coordinate.
1568 // If both the allocation and a fixed position are missing, this function
1569 // will return 0.
1571 // transformation (i.e. scaling, rotation)
1572 // RETURNS: the Y coordinate, in pixels, ignoring any
1573 float get_y()() nothrow {
1574 return clutter_actor_get_y(&this);
1577 // VERSION: 1.10
1578 // Retrieves the vertical alignment policy set using
1579 // clutter_actor_set_y_align().
1580 // RETURNS: the vertical alignment policy.
1581 ActorAlign get_y_align()() nothrow {
1582 return clutter_actor_get_y_align(&this);
1585 // VERSION: 1.0
1586 // Retrieves the center for the rotation around the Z axis as a
1587 // compass direction. If the center was specified in pixels or units
1588 // this will return %CLUTTER_GRAVITY_NONE.
1589 // RETURNS: the Z rotation center
1590 Gravity get_z_rotation_gravity()() nothrow {
1591 return clutter_actor_get_z_rotation_gravity(&this);
1594 // VERSION: 1.0
1595 // Sets the key focus of the #ClutterStage including @self
1596 // to this #ClutterActor.
1597 void grab_key_focus()() nothrow {
1598 clutter_actor_grab_key_focus(&this);
1601 // VERSION: 1.10
1602 // Returns whether the actor has any actions applied.
1604 // %FALSE otherwise
1605 // RETURNS: %TRUE if the actor has any actions,
1606 int has_actions()() nothrow {
1607 return clutter_actor_has_actions(&this);
1610 // VERSION: 1.4
1611 // Checks if the actor has an up-to-date allocation assigned to
1612 // it. This means that the actor should have an allocation: it's
1613 // visible and has a parent. It also means that there is no
1614 // outstanding relayout request in progress for the actor or its
1615 // children (There might be other outstanding layout requests in
1616 // progress that will cause the actor to get a new allocation
1617 // when the stage is laid out, however).
1619 // If this function returns %FALSE, then the actor will normally
1620 // be allocated before it is next drawn on the screen.
1621 // RETURNS: %TRUE if the actor has an up-to-date allocation
1622 int has_allocation()() nothrow {
1623 return clutter_actor_has_allocation(&this);
1626 // VERSION: 0.1.1
1627 // Determines whether the actor has a clip area set or not.
1628 // RETURNS: %TRUE if the actor has a clip area set.
1629 int has_clip()() nothrow {
1630 return clutter_actor_has_clip(&this);
1633 // VERSION: 1.10
1634 // Returns whether the actor has any constraints applied.
1636 // %FALSE otherwise
1637 // RETURNS: %TRUE if the actor has any constraints,
1638 int has_constraints()() nothrow {
1639 return clutter_actor_has_constraints(&this);
1642 // VERSION: 1.10
1643 // Returns whether the actor has any effects applied.
1645 // %FALSE otherwise
1646 // RETURNS: %TRUE if the actor has any effects,
1647 int has_effects()() nothrow {
1648 return clutter_actor_has_effects(&this);
1651 // VERSION: 1.4
1652 // Checks whether @self is the #ClutterActor that has key focus
1653 // RETURNS: %TRUE if the actor has key focus, and %FALSE otherwise
1654 int has_key_focus()() nothrow {
1655 return clutter_actor_has_key_focus(&this);
1658 // VERSION: 1.8
1659 // Asks the actor's implementation whether it may contain overlapping
1660 // primitives.
1662 // For example; Clutter may use this to determine whether the painting
1663 // should be redirected to an offscreen buffer to correctly implement
1664 // the opacity property.
1666 // Custom actors can override the default response by implementing the
1667 // #ClutterActor <function>has_overlaps</function> virtual function. See
1668 // clutter_actor_set_offscreen_redirect() for more information.
1670 // %FALSE otherwise
1671 // RETURNS: %TRUE if the actor may have overlapping primitives, and
1672 int has_overlaps()() nothrow {
1673 return clutter_actor_has_overlaps(&this);
1676 // VERSION: 1.2
1677 // Checks whether an actor contains the pointer of a
1678 // #ClutterInputDevice
1680 // %FALSE otherwise
1681 // RETURNS: %TRUE if the actor contains the pointer, and
1682 int has_pointer()() nothrow {
1683 return clutter_actor_has_pointer(&this);
1686 // Flags an actor to be hidden. A hidden actor will not be
1687 // rendered on the stage.
1689 // Actors are visible by default.
1691 // If this function is called on an actor without a parent, the
1692 // #ClutterActor:show-on-set-parent property will be set to %FALSE
1693 // as a side-effect.
1694 void hide()() nothrow {
1695 clutter_actor_hide(&this);
1698 // VERSION: 0.2
1699 // DEPRECATED (v1.10) method: hide_all - Using clutter_actor_hide() on the actor will
1700 // Calls clutter_actor_hide() on all child actors (if any).
1703 // prevent its children from being painted as well.
1704 void hide_all()() nothrow {
1705 clutter_actor_hide_all(&this);
1708 // VERSION: 1.10
1709 // Inserts @child into the list of children of @self, above another
1710 // child of @self or, if @sibling is %NULL, above all the children
1711 // of @self.
1713 // This function will acquire a reference on @child that will only
1714 // be released when calling clutter_actor_remove_child().
1716 // This function will not take into consideration the #ClutterActor:depth
1717 // of @child.
1719 // This function will emit the #ClutterContainer::actor-added signal
1720 // on @self.
1721 // <child>: a #ClutterActor
1722 // <sibling>: a child of @self, or %NULL
1723 void insert_child_above(AT0, AT1)(AT0 /*Actor*/ child, AT1 /*Actor*/ sibling=null) nothrow {
1724 clutter_actor_insert_child_above(&this, UpCast!(Actor*)(child), UpCast!(Actor*)(sibling));
1727 // VERSION: 1.10
1728 // Inserts @child into the list of children of @self, using the
1729 // given @index_.
1731 // This function will acquire a reference on @child that will only
1732 // be released when calling clutter_actor_remove_child().
1734 // This function will not take into consideration the #ClutterActor:depth
1735 // of @child.
1737 // This function will emit the #ClutterContainer::actor-added signal
1738 // on @self.
1739 // <child>: a #ClutterActor
1740 // <index_>: the index
1741 void insert_child_at_index(AT0)(AT0 /*Actor*/ child, int index_) nothrow {
1742 clutter_actor_insert_child_at_index(&this, UpCast!(Actor*)(child), index_);
1745 // VERSION: 1.10
1746 // Inserts @child into the list of children of @self, below another
1747 // child of @self or, if @sibling is %NULL, below all the children
1748 // of @self.
1750 // This function will acquire a reference on @child that will only
1751 // be released when calling clutter_actor_remove_child().
1753 // This function will not take into consideration the #ClutterActor:depth
1754 // of @child.
1756 // This function will emit the #ClutterContainer::actor-added signal
1757 // on @self.
1758 // <child>: a #ClutterActor
1759 // <sibling>: a child of @self, or %NULL
1760 void insert_child_below(AT0, AT1)(AT0 /*Actor*/ child, AT1 /*Actor*/ sibling=null) nothrow {
1761 clutter_actor_insert_child_below(&this, UpCast!(Actor*)(child), UpCast!(Actor*)(sibling));
1764 // VERSION: 1.0
1765 // Checks whether @self is being currently painted by a #ClutterClone
1767 // This function is useful only inside the ::paint virtual function
1768 // implementations or within handlers for the #ClutterActor::paint
1769 // signal
1771 // This function should not be used by applications
1773 // by a #ClutterClone, and %FALSE otherwise
1774 // RETURNS: %TRUE if the #ClutterActor is currently being painted
1775 int is_in_clone_paint()() nothrow {
1776 return clutter_actor_is_in_clone_paint(&this);
1779 // VERSION: 0.6
1780 // Checks whether any rotation is applied to the actor.
1781 // RETURNS: %TRUE if the actor is rotated.
1782 int is_rotated()() nothrow {
1783 return clutter_actor_is_rotated(&this);
1786 // VERSION: 0.6
1787 // Checks whether the actor is scaled in either dimension.
1788 // RETURNS: %TRUE if the actor is scaled.
1789 int is_scaled()() nothrow {
1790 return clutter_actor_is_scaled(&this);
1793 // DEPRECATED (v1.10) method: lower - Use clutter_actor_set_child_below_sibling() instead.
1794 // Puts @self below @above.
1796 // Both actors must have the same parent, and the parent must implement
1797 // the #ClutterContainer interface.
1799 // This function calls clutter_container_lower_child() internally.
1800 // <above>: A #ClutterActor to lower below
1801 void lower(AT0)(AT0 /*Actor*/ above=null) nothrow {
1802 clutter_actor_lower(&this, UpCast!(Actor*)(above));
1805 // DEPRECATED (v1.10) method: lower_bottom - Use clutter_actor_set_child_below_sibling() with
1806 // Lowers @self to the bottom.
1808 // This function calls clutter_actor_lower() internally.
1810 // a %NULL sibling, instead.
1811 void lower_bottom()() nothrow {
1812 clutter_actor_lower_bottom(&this);
1815 // VERSION: 1.0
1816 // Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
1817 // and realizes its children if they are visible. Does nothing if the
1818 // actor is not visible.
1820 // Calling this function is strongly disencouraged: the default
1821 // implementation of #ClutterActorClass.map() will map all the children
1822 // of an actor when mapping its parent.
1824 // When overriding map, it is mandatory to chain up to the parent
1825 // implementation.
1826 void map()() nothrow {
1827 clutter_actor_map(&this);
1830 // VERSION: 0.6
1831 // Sets an anchor point for the actor, and adjusts the actor postion so that
1832 // the relative position of the actor toward its parent remains the same.
1833 // <anchor_x>: X coordinate of the anchor point
1834 // <anchor_y>: Y coordinate of the anchor point
1835 void move_anchor_point()(float anchor_x, float anchor_y) nothrow {
1836 clutter_actor_move_anchor_point(&this, anchor_x, anchor_y);
1839 // VERSION: 0.6
1840 // Sets an anchor point on the actor based on the given gravity, adjusting the
1841 // actor postion so that its relative position within its parent remains
1842 // unchanged.
1844 // Since version 1.0 the anchor point will be stored as a gravity so
1845 // that if the actor changes size then the anchor point will move. For
1846 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
1847 // and later double the size of the actor, the anchor point will move
1848 // to the bottom right.
1849 // <gravity>: #ClutterGravity.
1850 void move_anchor_point_from_gravity()(Gravity gravity) nothrow {
1851 clutter_actor_move_anchor_point_from_gravity(&this, gravity);
1854 // VERSION: 0.2
1855 // Moves an actor by the specified distance relative to its current
1856 // position in pixels.
1858 // This function modifies the fixed position of an actor and thus removes
1859 // it from any layout management. Another way to move an actor is with an
1860 // anchor point, see clutter_actor_set_anchor_point().
1861 // <dx>: Distance to move Actor on X axis.
1862 // <dy>: Distance to move Actor on Y axis.
1863 void move_by()(float dx, float dy) nothrow {
1864 clutter_actor_move_by(&this, dx, dy);
1867 // Renders the actor to display.
1869 // This function should not be called directly by applications.
1870 // Call clutter_actor_queue_redraw() to queue paints, instead.
1872 // This function is context-aware, and will either cause a
1873 // regular paint or a pick paint.
1875 // This function will emit the #ClutterActor::paint signal or
1876 // the #ClutterActor::pick signal, depending on the context.
1878 // This function does not paint the actor if the actor is set to 0,
1879 // unless it is performing a pick paint.
1880 void paint()() nothrow {
1881 clutter_actor_paint(&this);
1884 // VERSION: 1.2
1885 // DEPRECATED (v1.10) method: pop_internal - All children of an actor are accessible through
1886 // Disables the effects of clutter_actor_push_internal().
1889 // the #ClutterActor API. This function is only useful for legacy
1890 // containers overriding the default implementation of the
1891 // #ClutterContainer interface.
1892 void pop_internal()() nothrow {
1893 clutter_actor_pop_internal(&this);
1896 // VERSION: 1.2
1897 // DEPRECATED (v1.10) method: push_internal - All children of an actor are accessible through
1898 // Should be used by actors implementing the #ClutterContainer and with
1899 // internal children added through clutter_actor_set_parent(), for instance:
1901 // |[
1902 // static void
1903 // my_actor_init (MyActor *self)
1904 // {
1905 // self->priv = SELF_ACTOR_GET_PRIVATE (self);
1907 // clutter_actor_push_internal (CLUTTER_ACTOR (self));
1909 // /&ast; calling clutter_actor_set_parent() now will result in
1910 // &ast; the internal flag being set on a child of MyActor
1911 // &ast;/
1913 // /&ast; internal child - a background texture &ast;/
1914 // self->priv->background_tex = clutter_texture_new ();
1915 // clutter_actor_set_parent (self->priv->background_tex,
1916 // CLUTTER_ACTOR (self));
1918 // /&ast; internal child - a label &ast;/
1919 // self->priv->label = clutter_text_new ();
1920 // clutter_actor_set_parent (self->priv->label,
1921 // CLUTTER_ACTOR (self));
1923 // clutter_actor_pop_internal (CLUTTER_ACTOR (self));
1925 // /&ast; calling clutter_actor_set_parent() now will not result in
1926 // &ast; the internal flag being set on a child of MyActor
1927 // &ast;/
1928 // }
1929 // ]|
1931 // This function will be used by Clutter to toggle an "internal child"
1932 // flag whenever clutter_actor_set_parent() is called; internal children
1933 // are handled differently by Clutter, specifically when destroying their
1934 // parent.
1936 // Call clutter_actor_pop_internal() when you finished adding internal
1937 // children.
1939 // Nested calls to clutter_actor_push_internal() are allowed, but each
1940 // one must by followed by a clutter_actor_pop_internal() call.
1943 // the #ClutterActor API, and #ClutterActor implements the
1944 // #ClutterContainer interface, so this function is only useful
1945 // for legacy containers overriding the default implementation.
1946 void push_internal()() nothrow {
1947 clutter_actor_push_internal(&this);
1950 // Queues up a redraw of an actor and any children. The redraw occurs
1951 // once the main loop becomes idle (after the current batch of events
1952 // has been processed, roughly).
1954 // Applications rarely need to call this, as redraws are handled
1955 // automatically by modification functions.
1957 // This function will not do anything if @self is not visible, or
1958 // if the actor is inside an invisible part of the scenegraph.
1960 // Also be aware that painting is a NOP for actors with an opacity of
1961 // 0
1963 // When you are implementing a custom actor you must queue a redraw
1964 // whenever some private state changes that will affect painting or
1965 // picking of your actor.
1966 void queue_redraw()() nothrow {
1967 clutter_actor_queue_redraw(&this);
1970 // VERSION: 1.10
1971 // Queues a redraw on @self limited to a specific, actor-relative
1972 // rectangular area.
1974 // If @clip is %NULL this function is equivalent to
1975 // clutter_actor_queue_redraw().
1976 // <clip>: a rectangular clip region, or %NULL
1977 void queue_redraw_with_clip(AT0)(AT0 /*cairo.RectangleInt*/ clip=null) nothrow {
1978 clutter_actor_queue_redraw_with_clip(&this, UpCast!(cairo.RectangleInt*)(clip));
1981 // VERSION: 0.8
1982 // Indicates that the actor's size request or other layout-affecting
1983 // properties may have changed. This function is used inside #ClutterActor
1984 // subclass implementations, not by applications directly.
1986 // Queueing a new layout automatically queues a redraw as well.
1987 void queue_relayout()() nothrow {
1988 clutter_actor_queue_relayout(&this);
1991 // DEPRECATED (v1.10) method: raise - Use clutter_actor_set_child_above_sibling() instead.
1992 // Puts @self above @below.
1994 // Both actors must have the same parent, and the parent must implement
1995 // the #ClutterContainer interface
1997 // This function calls clutter_container_raise_child() internally.
1998 // <below>: A #ClutterActor to raise above.
1999 void raise(AT0)(AT0 /*Actor*/ below=null) nothrow {
2000 clutter_actor_raise(&this, UpCast!(Actor*)(below));
2003 // DEPRECATED (v1.10) method: raise_top - Use clutter_actor_set_child_above_sibling() with
2004 // Raises @self to the top.
2006 // This function calls clutter_actor_raise() internally.
2008 // a %NULL sibling, instead.
2009 void raise_top()() nothrow {
2010 clutter_actor_raise_top(&this);
2013 // Realization informs the actor that it is attached to a stage. It
2014 // can use this to allocate resources if it wanted to delay allocation
2015 // until it would be rendered. However it is perfectly acceptable for
2016 // an actor to create resources before being realized because Clutter
2017 // only ever has a single rendering context so that actor is free to
2018 // be moved from one stage to another.
2020 // This function does nothing if the actor is already realized.
2022 // Because a realized actor must have realized parent actors, calling
2023 // clutter_actor_realize() will also realize all parents of the actor.
2025 // This function does not realize child actors, except in the special
2026 // case that realizing the stage, when the stage is visible, will
2027 // suddenly map (and thus realize) the children of the stage.
2028 void realize()() nothrow {
2029 clutter_actor_realize(&this);
2032 // VERSION: 1.4
2033 // Removes @action from the list of actions applied to @self
2035 // The reference held by @self on the #ClutterAction will be released
2036 // <action>: a #ClutterAction
2037 void remove_action(AT0)(AT0 /*Action*/ action) nothrow {
2038 clutter_actor_remove_action(&this, UpCast!(Action*)(action));
2041 // VERSION: 1.4
2042 // Removes the #ClutterAction with the given name from the list
2043 // of actions applied to @self
2044 // <name>: the name of the action to remove
2045 void remove_action_by_name(AT0)(AT0 /*char*/ name) nothrow {
2046 clutter_actor_remove_action_by_name(&this, toCString!(char*)(name));
2049 // VERSION: 1.10
2050 // Removes all children of @self.
2052 // This function releases the reference added by inserting a child actor
2053 // in the list of children of @self.
2054 void remove_all_children()() nothrow {
2055 clutter_actor_remove_all_children(&this);
2058 // VERSION: 1.10
2059 // Removes @child from the children of @self.
2061 // This function will release the reference added by
2062 // clutter_actor_add_child(), so if you want to keep using @child
2063 // you will have to acquire a referenced on it before calling this
2064 // function.
2066 // This function will emit the #ClutterContainer::actor-removed
2067 // signal on @self.
2068 // <child>: a #ClutterActor
2069 void remove_child(AT0)(AT0 /*Actor*/ child) nothrow {
2070 clutter_actor_remove_child(&this, UpCast!(Actor*)(child));
2072 // Removes clip area from @self.
2073 void remove_clip()() nothrow {
2074 clutter_actor_remove_clip(&this);
2077 // VERSION: 1.4
2078 // Removes @constraint from the list of constraints applied to @self
2080 // The reference held by @self on the #ClutterConstraint will be released
2081 // <constraint>: a #ClutterConstraint
2082 void remove_constraint(AT0)(AT0 /*Constraint*/ constraint) nothrow {
2083 clutter_actor_remove_constraint(&this, UpCast!(Constraint*)(constraint));
2086 // VERSION: 1.4
2087 // Removes the #ClutterConstraint with the given name from the list
2088 // of constraints applied to @self
2089 // <name>: the name of the constraint to remove
2090 void remove_constraint_by_name(AT0)(AT0 /*char*/ name) nothrow {
2091 clutter_actor_remove_constraint_by_name(&this, toCString!(char*)(name));
2094 // VERSION: 1.4
2095 // Removes @effect from the list of effects applied to @self
2097 // The reference held by @self on the #ClutterEffect will be released
2098 // <effect>: a #ClutterEffect
2099 void remove_effect(AT0)(AT0 /*Effect*/ effect) nothrow {
2100 clutter_actor_remove_effect(&this, UpCast!(Effect*)(effect));
2103 // VERSION: 1.4
2104 // Removes the #ClutterEffect with the given name from the list
2105 // of effects applied to @self
2106 // <name>: the name of the effect to remove
2107 void remove_effect_by_name(AT0)(AT0 /*char*/ name) nothrow {
2108 clutter_actor_remove_effect_by_name(&this, toCString!(char*)(name));
2111 // VERSION: 0.2
2112 // DEPRECATED (v1.10) method: reparent - Use clutter_actor_remove_child() and
2113 // Resets the parent actor of @self.
2115 // This function is logically equivalent to calling clutter_actor_unparent()
2116 // and clutter_actor_set_parent(), but more efficiently implemented, as it
2117 // ensures the child is not finalized when unparented, and emits the
2118 // #ClutterActor::parent-set signal only once.
2120 // In reality, calling this function is less useful than it sounds, as some
2121 // application code may rely on changes in the intermediate state between
2122 // removal and addition of the actor from its old parent to the @new_parent.
2123 // Thus, it is strongly encouraged to avoid using this function in application
2124 // code.
2127 // clutter_actor_add_child() instead; remember to take a reference on
2128 // the actor being removed before calling clutter_actor_remove_child()
2129 // to avoid the reference count dropping to zero and the actor being
2130 // destroyed.
2131 // <new_parent>: the new #ClutterActor parent
2132 void reparent(AT0)(AT0 /*Actor*/ new_parent) nothrow {
2133 clutter_actor_reparent(&this, UpCast!(Actor*)(new_parent));
2136 // VERSION: 1.10
2137 // Replaces @old_child with @new_child in the list of children of @self.
2138 // <old_child>: the child of @self to replace
2139 // <new_child>: the #ClutterActor to replace @old_child
2140 void replace_child(AT0, AT1)(AT0 /*Actor*/ old_child, AT1 /*Actor*/ new_child) nothrow {
2141 clutter_actor_replace_child(&this, UpCast!(Actor*)(old_child), UpCast!(Actor*)(new_child));
2144 // VERSION: 1.10
2145 // Stores the allocation of @self as defined by @box.
2147 // This function can only be called from within the implementation of
2148 // the #ClutterActorClass.allocate() virtual function.
2150 // The allocation should have been adjusted to take into account constraints,
2151 // alignment, and margin properties. If you are implementing a #ClutterActor
2152 // subclass that provides its own layout management policy for its children
2153 // instead of using a #ClutterLayoutManager delegate, you should not call
2154 // this function on the children of @self; instead, you should call
2155 // clutter_actor_allocate(), which will adjust the allocation box for
2156 // you.
2158 // This function should only be used by subclasses of #ClutterActor
2159 // that wish to store their allocation but cannot chain up to the
2160 // parent's implementation; the default implementation of the
2161 // #ClutterActorClass.allocate() virtual function will call this
2162 // function.
2164 // It is important to note that, while chaining up was the recommended
2165 // behaviour for #ClutterActor subclasses prior to the introduction of
2166 // this function, it is recommended to call clutter_actor_set_allocation()
2167 // instead.
2169 // If the #ClutterActor is using a #ClutterLayoutManager delegate object
2170 // to handle the allocation of its children, this function will call
2171 // the clutter_layout_manager_allocate() function only if the
2172 // %CLUTTER_DELEGATE_LAYOUT flag is set on @flags, otherwise it is
2173 // expected that the subclass will call clutter_layout_manager_allocate()
2174 // by itself. For instance, the following code:
2176 // |[
2177 // static void
2178 // my_actor_allocate (ClutterActor *actor,
2179 // const ClutterActorBox *allocation,
2180 // ClutterAllocationFlags flags)
2181 // {
2182 // ClutterActorBox new_alloc;
2183 // ClutterAllocationFlags new_flags;
2185 // adjust_allocation (allocation, &amp;new_alloc);
2187 // new_flags = flags | CLUTTER_DELEGATE_LAYOUT;
2189 // /&ast; this will use the layout manager set on the actor &ast;/
2190 // clutter_actor_set_allocation (actor, &amp;new_alloc, new_flags);
2191 // }
2192 // ]|
2194 // is equivalent to this:
2196 // |[
2197 // static void
2198 // my_actor_allocate (ClutterActor *actor,
2199 // const ClutterActorBox *allocation,
2200 // ClutterAllocationFlags flags)
2201 // {
2202 // ClutterLayoutManager *layout;
2203 // ClutterActorBox new_alloc;
2205 // adjust_allocation (allocation, &amp;new_alloc);
2207 // clutter_actor_set_allocation (actor, &amp;new_alloc, flags);
2209 // layout = clutter_actor_get_layout_manager (actor);
2210 // clutter_layout_manager_allocate (layout,
2211 // CLUTTER_CONTAINER (actor),
2212 // &amp;new_alloc,
2213 // flags);
2214 // }
2215 // ]|
2216 // <box>: a #ClutterActorBox
2217 // <flags>: allocation flags
2218 void set_allocation(AT0)(AT0 /*ActorBox*/ box, AllocationFlags flags) nothrow {
2219 clutter_actor_set_allocation(&this, UpCast!(ActorBox*)(box), flags);
2222 // VERSION: 0.6
2223 // Sets an anchor point for @self. The anchor point is a point in the
2224 // coordinate space of an actor to which the actor position within its
2225 // parent is relative; the default is (0, 0), i.e. the top-left corner
2226 // of the actor.
2227 // <anchor_x>: X coordinate of the anchor point
2228 // <anchor_y>: Y coordinate of the anchor point
2229 void set_anchor_point()(float anchor_x, float anchor_y) nothrow {
2230 clutter_actor_set_anchor_point(&this, anchor_x, anchor_y);
2233 // VERSION: 0.6
2234 // Sets an anchor point on the actor, based on the given gravity (this is a
2235 // convenience function wrapping clutter_actor_set_anchor_point()).
2237 // Since version 1.0 the anchor point will be stored as a gravity so
2238 // that if the actor changes size then the anchor point will move. For
2239 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
2240 // and later double the size of the actor, the anchor point will move
2241 // to the bottom right.
2242 // <gravity>: #ClutterGravity.
2243 void set_anchor_point_from_gravity()(Gravity gravity) nothrow {
2244 clutter_actor_set_anchor_point_from_gravity(&this, gravity);
2247 // VERSION: 1.10
2248 // Sets the background color of a #ClutterActor.
2250 // The background color will be used to cover the whole allocation of the
2251 // actor. The default background color of an actor is transparent.
2253 // To check whether an actor has a background color, you can use the
2254 // #ClutterActor:background-color-set actor property.
2255 // <color>: a #ClutterColor, or %NULL to unset a previously set color
2256 void set_background_color(AT0)(AT0 /*Color*/ color=null) nothrow {
2257 clutter_actor_set_background_color(&this, UpCast!(Color*)(color));
2260 // VERSION: 1.10
2261 // Sets @child to be above @sibling in the list of children of @self.
2263 // If @sibling is %NULL, @child will be the new last child of @self.
2265 // This function is logically equivalent to removing @child and using
2266 // clutter_actor_insert_child_above(), but it will not emit signals
2267 // or change state on @child.
2268 // <child>: a #ClutterActor child of @self
2269 // <sibling>: a #ClutterActor child of @self, or %NULL
2270 void set_child_above_sibling(AT0, AT1)(AT0 /*Actor*/ child, AT1 /*Actor*/ sibling=null) nothrow {
2271 clutter_actor_set_child_above_sibling(&this, UpCast!(Actor*)(child), UpCast!(Actor*)(sibling));
2274 // VERSION: 1.10
2275 // Changes the index of @child in the list of children of @self.
2277 // This function is logically equivalent to removing @child and
2278 // calling clutter_actor_insert_child_at_index(), but it will not
2279 // emit signals or change state on @child.
2280 // <child>: a #ClutterActor child of @self
2281 // <index_>: the new index for @child
2282 void set_child_at_index(AT0)(AT0 /*Actor*/ child, int index_) nothrow {
2283 clutter_actor_set_child_at_index(&this, UpCast!(Actor*)(child), index_);
2286 // VERSION: 1.10
2287 // Sets @child to be below @sibling in the list of children of @self.
2289 // If @sibling is %NULL, @child will be the new first child of @self.
2291 // This function is logically equivalent to removing @self and using
2292 // clutter_actor_insert_child_below(), but it will not emit signals
2293 // or change state on @child.
2294 // <child>: a #ClutterActor child of @self
2295 // <sibling>: a #ClutterActor child of @self, or %NULL
2296 void set_child_below_sibling(AT0, AT1)(AT0 /*Actor*/ child, AT1 /*Actor*/ sibling=null) nothrow {
2297 clutter_actor_set_child_below_sibling(&this, UpCast!(Actor*)(child), UpCast!(Actor*)(sibling));
2300 // VERSION: 0.6
2301 // Sets clip area for @self. The clip area is always computed from the
2302 // upper left corner of the actor, even if the anchor point is set
2303 // otherwise.
2304 // <xoff>: X offset of the clip rectangle
2305 // <yoff>: Y offset of the clip rectangle
2306 // <width>: Width of the clip rectangle
2307 // <height>: Height of the clip rectangle
2308 void set_clip()(float xoff, float yoff, float width, float height) nothrow {
2309 clutter_actor_set_clip(&this, xoff, yoff, width, height);
2312 // VERSION: 1.4
2313 // Sets whether @self should be clipped to the same size as its
2314 // allocation
2315 // <clip_set>: %TRUE to apply a clip tracking the allocation
2316 void set_clip_to_allocation()(int clip_set) nothrow {
2317 clutter_actor_set_clip_to_allocation(&this, clip_set);
2320 // Sets the Z coordinate of @self to @depth.
2322 // The unit used by @depth is dependant on the perspective setup. See
2323 // also clutter_stage_set_perspective().
2324 // <depth>: Z co-ord
2325 void set_depth()(float depth) nothrow {
2326 clutter_actor_set_depth(&this, depth);
2329 // VERSION: 0.8
2330 // Sets whether an actor has a fixed position set (and will thus be
2331 // unaffected by any layout manager).
2332 // <is_set>: whether to use fixed position
2333 void set_fixed_position_set()(int is_set) nothrow {
2334 clutter_actor_set_fixed_position_set(&this, is_set);
2337 // VERSION: 1.0
2338 // Sets @flags on @self
2340 // This function will emit notifications for the changed properties
2341 // <flags>: the flags to set
2342 void set_flags()(ActorFlags flags) nothrow {
2343 clutter_actor_set_flags(&this, flags);
2346 // DEPRECATED (v1.10) method: set_geometry - Use clutter_actor_set_position() and
2347 // Sets the actor's fixed position and forces its minimum and natural
2348 // size, in pixels. This means the untransformed actor will have the
2349 // given geometry. This is the same as calling clutter_actor_set_position()
2350 // and clutter_actor_set_size().
2352 // clutter_actor_set_size() instead.
2353 // <geometry>: A #ClutterGeometry
2354 void set_geometry(AT0)(AT0 /*Geometry*/ geometry) nothrow {
2355 clutter_actor_set_geometry(&this, UpCast!(Geometry*)(geometry));
2358 // VERSION: 0.2
2359 // Forces a height on an actor, causing the actor's preferred width
2360 // and height (if any) to be ignored.
2362 // If @height is -1 the actor will use its preferred height instead of
2363 // overriding it, i.e. you can "unset" the height with -1.
2365 // This function sets both the minimum and natural size of the actor.
2366 // <height>: Requested new height for the actor, in pixels, or -1
2367 void set_height()(float height) nothrow {
2368 clutter_actor_set_height(&this, height);
2371 // VERSION: 1.10
2372 // Sets the #ClutterLayoutManager delegate object that will be used to
2373 // lay out the children of @self.
2375 // The #ClutterActor will take a reference on the passed @manager which
2376 // will be released either when the layout manager is removed, or when
2377 // the actor is destroyed.
2378 // <manager>: a #ClutterLayoutManager, or %NULL to unset it
2379 void set_layout_manager(AT0)(AT0 /*LayoutManager*/ manager=null) nothrow {
2380 clutter_actor_set_layout_manager(&this, UpCast!(LayoutManager*)(manager));
2383 // VERSION: 1.10
2384 // Sets all the components of the margin of a #ClutterActor.
2385 // <margin>: a #ClutterMargin
2386 void set_margin(AT0)(AT0 /*Margin*/ margin) nothrow {
2387 clutter_actor_set_margin(&this, UpCast!(Margin*)(margin));
2390 // VERSION: 1.10
2391 // Sets the margin from the bottom of a #ClutterActor.
2392 // <margin>: the bottom margin
2393 void set_margin_bottom()(float margin) nothrow {
2394 clutter_actor_set_margin_bottom(&this, margin);
2397 // VERSION: 1.10
2398 // Sets the margin from the left of a #ClutterActor.
2399 // <margin>: the left margin
2400 void set_margin_left()(float margin) nothrow {
2401 clutter_actor_set_margin_left(&this, margin);
2404 // VERSION: 1.10
2405 // Sets the margin from the right of a #ClutterActor.
2406 // <margin>: the right margin
2407 void set_margin_right()(float margin) nothrow {
2408 clutter_actor_set_margin_right(&this, margin);
2411 // VERSION: 1.10
2412 // Sets the margin from the top of a #ClutterActor.
2413 // <margin>: the top margin
2414 void set_margin_top()(float margin) nothrow {
2415 clutter_actor_set_margin_top(&this, margin);
2418 // Sets the given name to @self. The name can be used to identify
2419 // a #ClutterActor.
2420 // <name>: Textual tag to apply to actor
2421 void set_name(AT0)(AT0 /*char*/ name) nothrow {
2422 clutter_actor_set_name(&this, toCString!(char*)(name));
2425 // VERSION: 1.8
2426 // Defines the circumstances where the actor should be redirected into
2427 // an offscreen image. The offscreen image is used to flatten the
2428 // actor into a single image while painting for two main reasons.
2429 // Firstly, when the actor is painted a second time without any of its
2430 // contents changing it can simply repaint the cached image without
2431 // descending further down the actor hierarchy. Secondly, it will make
2432 // the opacity look correct even if there are overlapping primitives
2433 // in the actor.
2435 // Caching the actor could in some cases be a performance win and in
2436 // some cases be a performance lose so it is important to determine
2437 // which value is right for an actor before modifying this value. For
2438 // example, there is never any reason to flatten an actor that is just
2439 // a single texture (such as a #ClutterTexture) because it is
2440 // effectively already cached in an image so the offscreen would be
2441 // redundant. Also if the actor contains primitives that are far apart
2442 // with a large transparent area in the middle (such as a large
2443 // CluterGroup with a small actor in the top left and a small actor in
2444 // the bottom right) then the cached image will contain the entire
2445 // image of the large area and the paint will waste time blending all
2446 // of the transparent pixels in the middle.
2448 // The default method of implementing opacity on a container simply
2449 // forwards on the opacity to all of the children. If the children are
2450 // overlapping then it will appear as if they are two separate glassy
2451 // objects and there will be a break in the color where they
2452 // overlap. By redirecting to an offscreen buffer it will be as if the
2453 // two opaque objects are combined into one and then made transparent
2454 // which is usually what is expected.
2456 // The image below demonstrates the difference between redirecting and
2457 // not. The image shows two Clutter groups, each containing a red and
2458 // a green rectangle which overlap. The opacity on the group is set to
2459 // 128 (which is 50%). When the offscreen redirect is not used, the
2460 // red rectangle can be seen through the blue rectangle as if the two
2461 // rectangles were separately transparent. When the redirect is used
2462 // the group as a whole is transparent instead so the red rectangle is
2463 // not visible where they overlap.
2465 // <figure id="offscreen-redirect">
2466 // <title>Sample of using an offscreen redirect for transparency</title>
2467 // <graphic fileref="offscreen-redirect.png" format="PNG"/>
2468 // </figure>
2470 // The default value for this property is 0, so we effectively will
2471 // never redirect an actor offscreen by default. This means that there
2472 // are times that transparent actors may look glassy as described
2473 // above. The reason this is the default is because there is a
2474 // performance trade off between quality and performance here. In many
2475 // cases the default form of glassy opacity looks good enough, but if
2476 // it's not you will need to set the
2477 // %CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY flag to enable
2478 // redirection for opacity.
2480 // Custom actors that don't contain any overlapping primitives are
2481 // recommended to override the has_overlaps() virtual to return %FALSE
2482 // for maximum efficiency.
2483 // <redirect>: New offscreen redirect flags for the actor.
2484 void set_offscreen_redirect()(OffscreenRedirect redirect) nothrow {
2485 clutter_actor_set_offscreen_redirect(&this, redirect);
2488 // Sets the actor's opacity, with zero being completely transparent and
2489 // 255 (0xff) being fully opaque.
2490 // <opacity>: New opacity value for the actor.
2491 void set_opacity()(ubyte opacity) nothrow {
2492 clutter_actor_set_opacity(&this, opacity);
2495 // DEPRECATED (v1.10) method: set_parent - Use clutter_actor_add_child() instead.
2496 // Sets the parent of @self to @parent.
2498 // This function will result in @parent acquiring a reference on @self,
2499 // eventually by sinking its floating reference first. The reference
2500 // will be released by clutter_actor_unparent().
2502 // This function should only be called by legacy #ClutterActor<!-- -->s
2503 // implementing the #ClutterContainer interface.
2504 // <parent>: A new #ClutterActor parent
2505 void set_parent(AT0)(AT0 /*Actor*/ parent) nothrow {
2506 clutter_actor_set_parent(&this, UpCast!(Actor*)(parent));
2509 // Sets the actor's fixed position in pixels relative to any parent
2510 // actor.
2512 // If a layout manager is in use, this position will override the
2513 // layout manager and force a fixed position.
2514 // <x>: New left position of actor in pixels.
2515 // <y>: New top position of actor in pixels.
2516 void set_position()(float x, float y) nothrow {
2517 clutter_actor_set_position(&this, x, y);
2520 // VERSION: 0.6
2521 // Sets @actor as reactive. Reactive actors will receive events.
2522 // <reactive>: whether the actor should be reactive to events
2523 void set_reactive()(int reactive) nothrow {
2524 clutter_actor_set_reactive(&this, reactive);
2527 // VERSION: 1.2
2528 // Sets the geometry request mode of @self.
2530 // The @mode determines the order for invoking
2531 // clutter_actor_get_preferred_width() and
2532 // clutter_actor_get_preferred_height()
2533 // <mode>: the request mode
2534 void set_request_mode()(RequestMode mode) nothrow {
2535 clutter_actor_set_request_mode(&this, mode);
2538 // VERSION: 0.8
2539 // Sets the rotation angle of @self around the given axis.
2541 // The rotation center coordinates used depend on the value of @axis:
2542 // <itemizedlist>
2543 // <listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem>
2544 // <listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem>
2545 // <listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem>
2546 // </itemizedlist>
2548 // The rotation coordinates are relative to the anchor point of the
2549 // actor, set using clutter_actor_set_anchor_point(). If no anchor
2550 // point is set, the upper left corner is assumed as the origin.
2551 // <axis>: the axis of rotation
2552 // <angle>: the angle of rotation
2553 // <x>: X coordinate of the rotation center
2554 // <y>: Y coordinate of the rotation center
2555 // <z>: Z coordinate of the rotation center
2556 void set_rotation()(RotateAxis axis, double angle, float x, float y, float z) nothrow {
2557 clutter_actor_set_rotation(&this, axis, angle, x, y, z);
2560 // VERSION: 0.2
2561 // Scales an actor with the given factors. The scaling is relative to
2562 // the scale center and the anchor point. The scale center is
2563 // unchanged by this function and defaults to 0,0.
2564 // <scale_x>: double factor to scale actor by horizontally.
2565 // <scale_y>: double factor to scale actor by vertically.
2566 void set_scale()(double scale_x, double scale_y) nothrow {
2567 clutter_actor_set_scale(&this, scale_x, scale_y);
2570 // VERSION: 1.0
2571 // Scales an actor with the given factors around the given center
2572 // point. The center point is specified in pixels relative to the
2573 // anchor point (usually the top left corner of the actor).
2574 // <scale_x>: double factor to scale actor by horizontally.
2575 // <scale_y>: double factor to scale actor by vertically.
2576 // <center_x>: X coordinate of the center of the scale.
2577 // <center_y>: Y coordinate of the center of the scale
2578 void set_scale_full()(double scale_x, double scale_y, float center_x, float center_y) nothrow {
2579 clutter_actor_set_scale_full(&this, scale_x, scale_y, center_x, center_y);
2582 // VERSION: 1.0
2583 // Scales an actor with the given factors around the given
2584 // center point. The center point is specified as one of the compass
2585 // directions in #ClutterGravity. For example, setting it to north
2586 // will cause the top of the actor to remain unchanged and the rest of
2587 // the actor to expand left, right and downwards.
2588 // <scale_x>: double factor to scale actor by horizontally.
2589 // <scale_y>: double factor to scale actor by vertically.
2590 // <gravity>: the location of the scale center expressed as a compass direction.
2591 void set_scale_with_gravity()(double scale_x, double scale_y, Gravity gravity) nothrow {
2592 clutter_actor_set_scale_with_gravity(&this, scale_x, scale_y, gravity);
2595 // VERSION: 0.6
2596 // DEPRECATED (v1.8) method: set_shader - Use #ClutterShaderEffect and
2597 // Sets the #ClutterShader to be used when rendering @self.
2599 // If @shader is %NULL this function will unset any currently set shader
2600 // for the actor.
2602 // <note>Any #ClutterEffect applied to @self will take the precedence
2603 // over the #ClutterShader set using this function.</note>
2605 // or removed
2608 // clutter_actor_add_effect() instead.
2609 // RETURNS: %TRUE if the shader was successfully applied
2610 // <shader>: a #ClutterShader or %NULL to unset the shader.
2611 int set_shader(AT0)(AT0 /*Shader*/ shader=null) nothrow {
2612 return clutter_actor_set_shader(&this, UpCast!(Shader*)(shader));
2615 // VERSION: 1.0
2616 // DEPRECATED (v1.8) method: set_shader_param - Use clutter_shader_effect_set_uniform_value() instead
2617 // Sets the value for a named parameter of the shader applied
2618 // to @actor.
2619 // <param>: the name of the parameter
2620 // <value>: the value of the parameter
2621 void set_shader_param(AT0, AT1)(AT0 /*char*/ param, AT1 /*GObject2.Value*/ value) nothrow {
2622 clutter_actor_set_shader_param(&this, toCString!(char*)(param), UpCast!(GObject2.Value*)(value));
2625 // VERSION: 0.8
2626 // DEPRECATED (v1.8) method: set_shader_param_float - Use clutter_shader_effect_set_uniform() instead
2627 // Sets the value for a named float parameter of the shader applied
2628 // to @actor.
2629 // <param>: the name of the parameter
2630 // <value>: the value of the parameter
2631 void set_shader_param_float(AT0)(AT0 /*char*/ param, float value) nothrow {
2632 clutter_actor_set_shader_param_float(&this, toCString!(char*)(param), value);
2635 // VERSION: 0.8
2636 // DEPRECATED (v1.8) method: set_shader_param_int - Use clutter_shader_effect_set_uniform() instead
2637 // Sets the value for a named int parameter of the shader applied to
2638 // @actor.
2639 // <param>: the name of the parameter
2640 // <value>: the value of the parameter
2641 void set_shader_param_int(AT0)(AT0 /*char*/ param, int value) nothrow {
2642 clutter_actor_set_shader_param_int(&this, toCString!(char*)(param), value);
2645 // Sets the actor's size request in pixels. This overrides any
2646 // "normal" size request the actor would have. For example
2647 // a text actor might normally request the size of the text;
2648 // this function would force a specific size instead.
2650 // If @width and/or @height are -1 the actor will use its
2651 // "normal" size request instead of overriding it, i.e.
2652 // you can "unset" the size with -1.
2654 // This function sets or unsets both the minimum and natural size.
2655 // <width>: New width of actor in pixels, or -1
2656 // <height>: New height of actor in pixels, or -1
2657 void set_size()(float width, float height) nothrow {
2658 clutter_actor_set_size(&this, width, height);
2661 // VERSION: 1.2
2662 // Sets the #ClutterTextDirection for an actor
2664 // The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT
2666 // If @self implements #ClutterContainer then this function will recurse
2667 // inside all the children of @self (including the internal ones).
2669 // Composite actors not implementing #ClutterContainer, or actors requiring
2670 // special handling when the text direction changes, should connect to
2671 // the #GObject::notify signal for the #ClutterActor:text-direction property
2672 // <text_dir>: the text direction for @self
2673 void set_text_direction()(TextDirection text_dir) nothrow {
2674 clutter_actor_set_text_direction(&this, text_dir);
2677 // VERSION: 0.2
2678 // Forces a width on an actor, causing the actor's preferred width
2679 // and height (if any) to be ignored.
2681 // If @width is -1 the actor will use its preferred width request
2682 // instead of overriding it, i.e. you can "unset" the width with -1.
2684 // This function sets both the minimum and natural size of the actor.
2685 // <width>: Requested new width for the actor, in pixels, or -1
2686 void set_width()(float width) nothrow {
2687 clutter_actor_set_width(&this, width);
2690 // VERSION: 0.6
2691 // Sets the actor's X coordinate, relative to its parent, in pixels.
2693 // Overrides any layout manager and forces a fixed position for
2694 // the actor.
2695 // <x>: the actor's position on the X axis
2696 void set_x()(float x) nothrow {
2697 clutter_actor_set_x(&this, x);
2700 // VERSION: 1.10
2701 // Sets the horizontal alignment policy of a #ClutterActor, in case the
2702 // actor received extra horizontal space.
2704 // See also the #ClutterActor:x-align property.
2705 // <x_align>: the horizontal alignment policy
2706 void set_x_align()(ActorAlign x_align) nothrow {
2707 clutter_actor_set_x_align(&this, x_align);
2710 // VERSION: 0.6
2711 // Sets the actor's Y coordinate, relative to its parent, in pixels.#
2713 // Overrides any layout manager and forces a fixed position for
2714 // the actor.
2715 // <y>: the actor's position on the Y axis
2716 void set_y()(float y) nothrow {
2717 clutter_actor_set_y(&this, y);
2720 // VERSION: 1.10
2721 // Sets the vertical alignment policy of a #ClutterActor, in case the
2722 // actor received extra vertical space.
2724 // See also the #ClutterActor:y-align property.
2725 // <y_align>: the vertical alignment policy
2726 void set_y_align()(ActorAlign y_align) nothrow {
2727 clutter_actor_set_y_align(&this, y_align);
2730 // VERSION: 1.0
2731 // Sets the rotation angle of @self around the Z axis using the center
2732 // point specified as a compass point. For example to rotate such that
2733 // the center of the actor remains static you can use
2734 // %CLUTTER_GRAVITY_CENTER. If the actor changes size the center point
2735 // will move accordingly.
2736 // <angle>: the angle of rotation
2737 // <gravity>: the center point of the rotation
2738 void set_z_rotation_from_gravity()(double angle, Gravity gravity) nothrow {
2739 clutter_actor_set_z_rotation_from_gravity(&this, angle, gravity);
2742 // Should be called inside the implementation of the
2743 // #ClutterActor::pick virtual function in order to check whether
2744 // the actor should paint itself in pick mode or not.
2746 // This function should never be called directly by applications.
2748 // %FALSE otherwise
2749 // RETURNS: %TRUE if the actor should paint its silhouette,
2750 int should_pick_paint()() nothrow {
2751 return clutter_actor_should_pick_paint(&this);
2754 // Flags an actor to be displayed. An actor that isn't shown will not
2755 // be rendered on the stage.
2757 // Actors are visible by default.
2759 // If this function is called on an actor without a parent, the
2760 // #ClutterActor:show-on-set-parent will be set to %TRUE as a side
2761 // effect.
2762 void show()() nothrow {
2763 clutter_actor_show(&this);
2766 // VERSION: 0.2
2767 // DEPRECATED (v1.10) method: show_all - Actors are visible by default
2768 // Calls clutter_actor_show() on all children of an actor (if any).
2769 void show_all()() nothrow {
2770 clutter_actor_show_all(&this);
2773 // VERSION: 0.6
2774 // This function translates screen coordinates (@x, @y) to
2775 // coordinates relative to the actor. For example, it can be used to translate
2776 // screen events from global screen coordinates into actor-local coordinates.
2778 // The conversion can fail, notably if the transform stack results in the
2779 // actor being projected on the screen as a mere line.
2781 // The conversion should not be expected to be pixel-perfect due to the
2782 // nature of the operation. In general the error grows when the skewing
2783 // of the actor rectangle on screen increases.
2785 // <note><para>This function can be computationally intensive.</para></note>
2787 // <note><para>This function only works when the allocation is up-to-date,
2788 // i.e. inside of paint().</para></note>
2789 // RETURNS: %TRUE if conversion was successful.
2790 // <x>: x screen coordinate of the point to unproject
2791 // <y>: y screen coordinate of the point to unproject
2792 // <x_out>: return location for the unprojected x coordinance
2793 // <y_out>: return location for the unprojected y coordinance
2794 int transform_stage_point(AT0, AT1)(float x, float y, /*out*/ AT0 /*float*/ x_out, /*out*/ AT1 /*float*/ y_out) nothrow {
2795 return clutter_actor_transform_stage_point(&this, x, y, UpCast!(float*)(x_out), UpCast!(float*)(y_out));
2798 // VERSION: 1.0
2799 // Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
2800 // unmaps its children if they were mapped.
2802 // Calling this function is not encouraged: the default #ClutterActor
2803 // implementation of #ClutterActorClass.unmap() will also unmap any
2804 // eventual children by default when their parent is unmapped.
2806 // When overriding #ClutterActorClass.unmap(), it is mandatory to
2807 // chain up to the parent implementation.
2809 // <note>It is important to note that the implementation of the
2810 // #ClutterActorClass.unmap() virtual function may be called after
2811 // the #ClutterActorClass.destroy() or the #GObjectClass.dispose()
2812 // implementation, but it is guaranteed to be called before the
2813 // #GObjectClass.finalize() implementation.</note>
2814 void unmap()() nothrow {
2815 clutter_actor_unmap(&this);
2818 // VERSION: 0.1.1
2819 // DEPRECATED (v1.10) method: unparent - Use clutter_actor_remove_child() instead.
2820 // Removes the parent of @self.
2822 // This will cause the parent of @self to release the reference
2823 // acquired when calling clutter_actor_set_parent(), so if you
2824 // want to keep @self you will have to acquire a reference of
2825 // your own, through g_object_ref().
2827 // This function should only be called by legacy #ClutterActor<!-- -->s
2828 // implementing the #ClutterContainer interface.
2829 void unparent()() nothrow {
2830 clutter_actor_unparent(&this);
2833 // Unrealization informs the actor that it may be being destroyed or
2834 // moved to another stage. The actor may want to destroy any
2835 // underlying graphics resources at this point. However it is
2836 // perfectly acceptable for it to retain the resources until the actor
2837 // is destroyed because Clutter only ever uses a single rendering
2838 // context and all of the graphics resources are valid on any stage.
2840 // Because mapped actors must be realized, actors may not be
2841 // unrealized if they are mapped. This function hides the actor to be
2842 // sure it isn't mapped, an application-visible side effect that you
2843 // may not be expecting.
2845 // This function should not be called by application code.
2846 void unrealize()() nothrow {
2847 clutter_actor_unrealize(&this);
2850 // VERSION: 1.0
2851 // Unsets @flags on @self
2853 // This function will emit notifications for the changed properties
2854 // <flags>: the flags to unset
2855 void unset_flags()(ActorFlags flags) nothrow {
2856 clutter_actor_unset_flags(&this, flags);
2859 // VERSION: 1.0
2860 // The ::allocation-changed signal is emitted when the
2861 // #ClutterActor:allocation property changes. Usually, application
2862 // code should just use the notifications for the :allocation property
2863 // but if you want to track the allocation flags as well, for instance
2864 // to know whether the absolute origin of @actor changed, then you might
2865 // want use this signal instead.
2866 // <box>: a #ClutterActorBox with the new allocation
2867 // <flags>: #ClutterAllocationFlags for the allocation
2868 extern (C) alias static void function (Actor* this_, ActorBox* box, AllocationFlags* flags, void* user_data=null) nothrow signal_allocation_changed;
2870 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2871 return super_.signal_connect!name(cb, data, cf);
2874 ulong signal_connect(string name:"allocation-changed", CB/*:signal_allocation_changed*/)
2875 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2876 if (is(typeof(cb)==signal_allocation_changed)||_ttmm!(CB, signal_allocation_changed)()) {
2877 return signal_connect_data!()(&this, cast(char*)"allocation-changed",
2878 cast(GObject2.Callback)cb, data, null, cf);
2881 // VERSION: 0.6
2882 // The ::button-press-event signal is emitted each time a mouse button
2883 // is pressed on @actor.
2885 // or %FALSE to continue the emission.
2886 // RETURNS: %TRUE if the event has been handled by the actor,
2887 // <event>: a #ClutterButtonEvent
2888 extern (C) alias static c_int function (Actor* this_, ButtonEvent* event, void* user_data=null) nothrow signal_button_press_event;
2889 ulong signal_connect(string name:"button-press-event", CB/*:signal_button_press_event*/)
2890 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2891 if (is(typeof(cb)==signal_button_press_event)||_ttmm!(CB, signal_button_press_event)()) {
2892 return signal_connect_data!()(&this, cast(char*)"button-press-event",
2893 cast(GObject2.Callback)cb, data, null, cf);
2896 // VERSION: 0.6
2897 // The ::button-release-event signal is emitted each time a mouse button
2898 // is released on @actor.
2900 // or %FALSE to continue the emission.
2901 // RETURNS: %TRUE if the event has been handled by the actor,
2902 // <event>: a #ClutterButtonEvent
2903 extern (C) alias static c_int function (Actor* this_, ButtonEvent* event, void* user_data=null) nothrow signal_button_release_event;
2904 ulong signal_connect(string name:"button-release-event", CB/*:signal_button_release_event*/)
2905 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2906 if (is(typeof(cb)==signal_button_release_event)||_ttmm!(CB, signal_button_release_event)()) {
2907 return signal_connect_data!()(&this, cast(char*)"button-release-event",
2908 cast(GObject2.Callback)cb, data, null, cf);
2911 // VERSION: 0.6
2912 // The ::captured-event signal is emitted when an event is captured
2913 // by Clutter. This signal will be emitted starting from the top-level
2914 // container (the #ClutterStage) to the actor which received the event
2915 // going down the hierarchy. This signal can be used to intercept every
2916 // event before the specialized events (like
2917 // ClutterActor::button-press-event or ::key-released-event) are
2918 // emitted.
2920 // or %FALSE to continue the emission.
2921 // RETURNS: %TRUE if the event has been handled by the actor,
2922 // <event>: a #ClutterEvent
2923 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) nothrow signal_captured_event;
2924 ulong signal_connect(string name:"captured-event", CB/*:signal_captured_event*/)
2925 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2926 if (is(typeof(cb)==signal_captured_event)||_ttmm!(CB, signal_captured_event)()) {
2927 return signal_connect_data!()(&this, cast(char*)"captured-event",
2928 cast(GObject2.Callback)cb, data, null, cf);
2931 // VERSION: 0.2
2932 // The ::destroy signal notifies that all references held on the
2933 // actor which emitted it should be released.
2935 // The ::destroy signal should be used by all holders of a reference
2936 // on @actor.
2938 // This signal might result in the finalization of the #ClutterActor
2939 // if all references are released.
2941 // Composite actors and actors implementing the #ClutterContainer
2942 // interface should override the default implementation of the
2943 // class handler of this signal and call clutter_actor_destroy() on
2944 // their children. When overriding the default class handler, it is
2945 // required to chain up to the parent's implementation.
2946 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_destroy;
2947 ulong signal_connect(string name:"destroy", CB/*:signal_destroy*/)
2948 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2949 if (is(typeof(cb)==signal_destroy)||_ttmm!(CB, signal_destroy)()) {
2950 return signal_connect_data!()(&this, cast(char*)"destroy",
2951 cast(GObject2.Callback)cb, data, null, cf);
2954 // VERSION: 0.6
2955 // The ::enter-event signal is emitted when the pointer enters the @actor
2957 // or %FALSE to continue the emission.
2958 // RETURNS: %TRUE if the event has been handled by the actor,
2959 // <event>: a #ClutterCrossingEvent
2960 extern (C) alias static c_int function (Actor* this_, CrossingEvent* event, void* user_data=null) nothrow signal_enter_event;
2961 ulong signal_connect(string name:"enter-event", CB/*:signal_enter_event*/)
2962 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2963 if (is(typeof(cb)==signal_enter_event)||_ttmm!(CB, signal_enter_event)()) {
2964 return signal_connect_data!()(&this, cast(char*)"enter-event",
2965 cast(GObject2.Callback)cb, data, null, cf);
2968 // VERSION: 0.6
2969 // The ::event signal is emitted each time an event is received
2970 // by the @actor. This signal will be emitted on every actor,
2971 // following the hierarchy chain, until it reaches the top-level
2972 // container (the #ClutterStage).
2974 // or %FALSE to continue the emission.
2975 // RETURNS: %TRUE if the event has been handled by the actor,
2976 // <event>: a #ClutterEvent
2977 extern (C) alias static c_int function (Actor* this_, Event* event, void* user_data=null) nothrow signal_event;
2978 ulong signal_connect(string name:"event", CB/*:signal_event*/)
2979 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2980 if (is(typeof(cb)==signal_event)||_ttmm!(CB, signal_event)()) {
2981 return signal_connect_data!()(&this, cast(char*)"event",
2982 cast(GObject2.Callback)cb, data, null, cf);
2985 // VERSION: 0.2
2986 // The ::hide signal is emitted when an actor is no longer rendered
2987 // on the stage.
2988 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_hide;
2989 ulong signal_connect(string name:"hide", CB/*:signal_hide*/)
2990 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2991 if (is(typeof(cb)==signal_hide)||_ttmm!(CB, signal_hide)()) {
2992 return signal_connect_data!()(&this, cast(char*)"hide",
2993 cast(GObject2.Callback)cb, data, null, cf);
2996 // VERSION: 0.6
2997 // The ::key-focus-in signal is emitted when @actor receives key focus.
2998 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_key_focus_in;
2999 ulong signal_connect(string name:"key-focus-in", CB/*:signal_key_focus_in*/)
3000 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3001 if (is(typeof(cb)==signal_key_focus_in)||_ttmm!(CB, signal_key_focus_in)()) {
3002 return signal_connect_data!()(&this, cast(char*)"key-focus-in",
3003 cast(GObject2.Callback)cb, data, null, cf);
3006 // VERSION: 0.6
3007 // The ::key-focus-out signal is emitted when @actor loses key focus.
3008 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_key_focus_out;
3009 ulong signal_connect(string name:"key-focus-out", CB/*:signal_key_focus_out*/)
3010 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3011 if (is(typeof(cb)==signal_key_focus_out)||_ttmm!(CB, signal_key_focus_out)()) {
3012 return signal_connect_data!()(&this, cast(char*)"key-focus-out",
3013 cast(GObject2.Callback)cb, data, null, cf);
3016 // VERSION: 0.6
3017 // The ::key-press-event signal is emitted each time a keyboard button
3018 // is pressed while @actor has key focus (see clutter_stage_set_key_focus()).
3020 // or %FALSE to continue the emission.
3021 // RETURNS: %TRUE if the event has been handled by the actor,
3022 // <event>: a #ClutterKeyEvent
3023 extern (C) alias static c_int function (Actor* this_, KeyEvent* event, void* user_data=null) nothrow signal_key_press_event;
3024 ulong signal_connect(string name:"key-press-event", CB/*:signal_key_press_event*/)
3025 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3026 if (is(typeof(cb)==signal_key_press_event)||_ttmm!(CB, signal_key_press_event)()) {
3027 return signal_connect_data!()(&this, cast(char*)"key-press-event",
3028 cast(GObject2.Callback)cb, data, null, cf);
3031 // VERSION: 0.6
3032 // The ::key-release-event signal is emitted each time a keyboard button
3033 // is released while @actor has key focus (see
3034 // clutter_stage_set_key_focus()).
3036 // or %FALSE to continue the emission.
3037 // RETURNS: %TRUE if the event has been handled by the actor,
3038 // <event>: a #ClutterKeyEvent
3039 extern (C) alias static c_int function (Actor* this_, KeyEvent* event, void* user_data=null) nothrow signal_key_release_event;
3040 ulong signal_connect(string name:"key-release-event", CB/*:signal_key_release_event*/)
3041 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3042 if (is(typeof(cb)==signal_key_release_event)||_ttmm!(CB, signal_key_release_event)()) {
3043 return signal_connect_data!()(&this, cast(char*)"key-release-event",
3044 cast(GObject2.Callback)cb, data, null, cf);
3047 // VERSION: 0.6
3048 // The ::leave-event signal is emitted when the pointer leaves the @actor.
3050 // or %FALSE to continue the emission.
3051 // RETURNS: %TRUE if the event has been handled by the actor,
3052 // <event>: a #ClutterCrossingEvent
3053 extern (C) alias static c_int function (Actor* this_, CrossingEvent* event, void* user_data=null) nothrow signal_leave_event;
3054 ulong signal_connect(string name:"leave-event", CB/*:signal_leave_event*/)
3055 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3056 if (is(typeof(cb)==signal_leave_event)||_ttmm!(CB, signal_leave_event)()) {
3057 return signal_connect_data!()(&this, cast(char*)"leave-event",
3058 cast(GObject2.Callback)cb, data, null, cf);
3061 // VERSION: 0.6
3062 // The ::motion-event signal is emitted each time the mouse pointer is
3063 // moved over @actor.
3065 // or %FALSE to continue the emission.
3066 // RETURNS: %TRUE if the event has been handled by the actor,
3067 // <event>: a #ClutterMotionEvent
3068 extern (C) alias static c_int function (Actor* this_, MotionEvent* event, void* user_data=null) nothrow signal_motion_event;
3069 ulong signal_connect(string name:"motion-event", CB/*:signal_motion_event*/)
3070 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3071 if (is(typeof(cb)==signal_motion_event)||_ttmm!(CB, signal_motion_event)()) {
3072 return signal_connect_data!()(&this, cast(char*)"motion-event",
3073 cast(GObject2.Callback)cb, data, null, cf);
3076 // VERSION: 0.8
3077 // The ::paint signal is emitted each time an actor is being painted.
3079 // Subclasses of #ClutterActor should override the class signal handler
3080 // and paint themselves in that function.
3082 // It is possible to connect a handler to the ::paint signal in order
3083 // to set up some custom aspect of a paint.
3084 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_paint;
3085 ulong signal_connect(string name:"paint", CB/*:signal_paint*/)
3086 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3087 if (is(typeof(cb)==signal_paint)||_ttmm!(CB, signal_paint)()) {
3088 return signal_connect_data!()(&this, cast(char*)"paint",
3089 cast(GObject2.Callback)cb, data, null, cf);
3092 // VERSION: 0.2
3093 // This signal is emitted when the parent of the actor changes.
3094 // <old_parent>: the previous parent of the actor, or %NULL
3095 extern (C) alias static void function (Actor* this_, Actor* old_parent=null, void* user_data=null) nothrow signal_parent_set;
3096 ulong signal_connect(string name:"parent-set", CB/*:signal_parent_set*/)
3097 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3098 if (is(typeof(cb)==signal_parent_set)||_ttmm!(CB, signal_parent_set)()) {
3099 return signal_connect_data!()(&this, cast(char*)"parent-set",
3100 cast(GObject2.Callback)cb, data, null, cf);
3103 // VERSION: 1.0
3104 // The ::pick signal is emitted each time an actor is being painted
3105 // in "pick mode". The pick mode is used to identify the actor during
3106 // the event handling phase, or by clutter_stage_get_actor_at_pos().
3107 // The actor should paint its shape using the passed @pick_color.
3109 // Subclasses of #ClutterActor should override the class signal handler
3110 // and paint themselves in that function.
3112 // It is possible to connect a handler to the ::pick signal in order
3113 // to set up some custom aspect of a paint in pick mode.
3114 // <color>: the #ClutterColor to be used when picking
3115 extern (C) alias static void function (Actor* this_, Color* color, void* user_data=null) nothrow signal_pick;
3116 ulong signal_connect(string name:"pick", CB/*:signal_pick*/)
3117 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3118 if (is(typeof(cb)==signal_pick)||_ttmm!(CB, signal_pick)()) {
3119 return signal_connect_data!()(&this, cast(char*)"pick",
3120 cast(GObject2.Callback)cb, data, null, cf);
3123 // VERSION: 1.0
3124 // The ::queue_redraw signal is emitted when clutter_actor_queue_redraw()
3125 // is called on @origin.
3127 // The default implementation for #ClutterActor chains up to the
3128 // parent actor and queues a redraw on the parent, thus "bubbling"
3129 // the redraw queue up through the actor graph. The default
3130 // implementation for #ClutterStage queues a clutter_stage_ensure_redraw()
3131 // in a main loop idle handler.
3133 // Note that the @origin actor may be the stage, or a container; it
3134 // does not have to be a leaf node in the actor graph.
3136 // Toolkits embedding a #ClutterStage which require a redraw and
3137 // relayout cycle can stop the emission of this signal using the
3138 // GSignal API, redraw the UI and then call clutter_stage_ensure_redraw()
3139 // themselves, like:
3141 // |[
3142 // static void
3143 // on_redraw_complete (gpointer data)
3144 // {
3145 // ClutterStage *stage = data;
3147 // /&ast; execute the Clutter drawing pipeline &ast;/
3148 // clutter_stage_ensure_redraw (stage);
3149 // }
3151 // static void
3152 // on_stage_queue_redraw (ClutterStage *stage)
3153 // {
3154 // /&ast; this prevents the default handler to run &ast;/
3155 // g_signal_stop_emission_by_name (stage, "queue-redraw");
3157 // /&ast; queue a redraw with the host toolkit and call
3158 // &ast; a function when the redraw has been completed
3159 // &ast;/
3160 // queue_a_redraw (G_CALLBACK (on_redraw_complete), stage);
3161 // }
3162 // ]|
3164 // <note><para>This signal is emitted before the Clutter paint
3165 // pipeline is executed. If you want to know when the pipeline has
3166 // been completed you should connect to the ::paint signal on the
3167 // Stage with g_signal_connect_after().</para></note>
3168 // <origin>: the actor which initiated the redraw request
3169 extern (C) alias static void function (Actor* this_, Actor* origin, void* user_data=null) nothrow signal_queue_redraw;
3170 ulong signal_connect(string name:"queue-redraw", CB/*:signal_queue_redraw*/)
3171 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3172 if (is(typeof(cb)==signal_queue_redraw)||_ttmm!(CB, signal_queue_redraw)()) {
3173 return signal_connect_data!()(&this, cast(char*)"queue-redraw",
3174 cast(GObject2.Callback)cb, data, null, cf);
3177 // VERSION: 1.2
3178 // The ::queue_layout signal is emitted when clutter_actor_queue_relayout()
3179 // is called on an actor.
3181 // The default implementation for #ClutterActor chains up to the
3182 // parent actor and queues a relayout on the parent, thus "bubbling"
3183 // the relayout queue up through the actor graph.
3185 // The main purpose of this signal is to allow relayout to be propagated
3186 // properly in the procense of #ClutterClone actors. Applications will
3187 // not normally need to connect to this signal.
3188 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_queue_relayout;
3189 ulong signal_connect(string name:"queue-relayout", CB/*:signal_queue_relayout*/)
3190 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3191 if (is(typeof(cb)==signal_queue_relayout)||_ttmm!(CB, signal_queue_relayout)()) {
3192 return signal_connect_data!()(&this, cast(char*)"queue-relayout",
3193 cast(GObject2.Callback)cb, data, null, cf);
3196 // VERSION: 0.8
3197 // The ::realize signal is emitted each time an actor is being
3198 // realized.
3199 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_realize;
3200 ulong signal_connect(string name:"realize", CB/*:signal_realize*/)
3201 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3202 if (is(typeof(cb)==signal_realize)||_ttmm!(CB, signal_realize)()) {
3203 return signal_connect_data!()(&this, cast(char*)"realize",
3204 cast(GObject2.Callback)cb, data, null, cf);
3207 // VERSION: 0.6
3208 // The ::scroll-event signal is emitted each time the mouse is
3209 // scrolled on @actor
3211 // or %FALSE to continue the emission.
3212 // RETURNS: %TRUE if the event has been handled by the actor,
3213 // <event>: a #ClutterScrollEvent
3214 extern (C) alias static c_int function (Actor* this_, ScrollEvent* event, void* user_data=null) nothrow signal_scroll_event;
3215 ulong signal_connect(string name:"scroll-event", CB/*:signal_scroll_event*/)
3216 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3217 if (is(typeof(cb)==signal_scroll_event)||_ttmm!(CB, signal_scroll_event)()) {
3218 return signal_connect_data!()(&this, cast(char*)"scroll-event",
3219 cast(GObject2.Callback)cb, data, null, cf);
3222 // VERSION: 0.2
3223 // The ::show signal is emitted when an actor is visible and
3224 // rendered on the stage.
3225 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_show;
3226 ulong signal_connect(string name:"show", CB/*:signal_show*/)
3227 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3228 if (is(typeof(cb)==signal_show)||_ttmm!(CB, signal_show)()) {
3229 return signal_connect_data!()(&this, cast(char*)"show",
3230 cast(GObject2.Callback)cb, data, null, cf);
3233 // VERSION: 0.8
3234 // The ::unrealize signal is emitted each time an actor is being
3235 // unrealized.
3236 extern (C) alias static void function (Actor* this_, void* user_data=null) nothrow signal_unrealize;
3237 ulong signal_connect(string name:"unrealize", CB/*:signal_unrealize*/)
3238 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
3239 if (is(typeof(cb)==signal_unrealize)||_ttmm!(CB, signal_unrealize)()) {
3240 return signal_connect_data!()(&this, cast(char*)"unrealize",
3241 cast(GObject2.Callback)cb, data, null, cf);
3246 // Controls how a #ClutterActor should align itself inside the extra space
3247 // assigned to it during the allocation.
3249 // Alignment only matters if the allocated space given to an actor is
3250 // bigger than its natural size; for example, when the #ClutterActor:x-expand
3251 // or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE.
3252 enum ActorAlign /* Version 1.10 */ {
3253 FILL = 0,
3254 START = 1,
3255 CENTER = 2,
3256 END = 3
3259 // Bounding box of an actor. The coordinates of the top left and right bottom
3260 // corners of an actor. The coordinates of the two points are expressed in
3261 // pixels with sub-pixel precision
3262 struct ActorBox {
3263 float x1, y1, x2, y2;
3266 // VERSION: 1.0
3267 // Allocates a new #ClutterActorBox using the passed coordinates
3268 // for the top left and bottom right points
3270 // clutter_actor_box_free() to free the resources
3271 // RETURNS: the newly allocated #ClutterActorBox. Use
3272 // <x_1>: X coordinate of the top left point
3273 // <y_1>: Y coordinate of the top left point
3274 // <x_2>: X coordinate of the bottom right point
3275 // <y_2>: Y coordinate of the bottom right point
3276 static ActorBox* /*new*/ new_()(float x_1, float y_1, float x_2, float y_2) nothrow {
3277 return clutter_actor_box_new(x_1, y_1, x_2, y_2);
3279 static auto opCall()(float x_1, float y_1, float x_2, float y_2) {
3280 return clutter_actor_box_new(x_1, y_1, x_2, y_2);
3283 // VERSION: 1.2
3284 // Clamps the components of @box to the nearest integer
3285 void clamp_to_pixel()() nothrow {
3286 clutter_actor_box_clamp_to_pixel(&this);
3289 // VERSION: 1.0
3290 // Checks whether a point with @x, @y coordinates is contained
3291 // withing @box
3292 // RETURNS: %TRUE if the point is contained by the #ClutterActorBox
3293 // <x>: X coordinate of the point
3294 // <y>: Y coordinate of the point
3295 int contains()(float x, float y) nothrow {
3296 return clutter_actor_box_contains(&this, x, y);
3299 // VERSION: 1.0
3300 // Copies @box
3302 // clutter_actor_box_free() to free the allocated resources
3303 // RETURNS: a newly allocated copy of #ClutterActorBox. Use
3304 ActorBox* /*new*/ copy()() nothrow {
3305 return clutter_actor_box_copy(&this);
3308 // VERSION: 1.0
3309 // Checks @box_a and @box_b for equality
3310 // RETURNS: %TRUE if the passed #ClutterActorBox are equal
3311 // <box_b>: a #ClutterActorBox
3312 int equal(AT0)(AT0 /*ActorBox*/ box_b) nothrow {
3313 return clutter_actor_box_equal(&this, UpCast!(ActorBox*)(box_b));
3316 // VERSION: 1.0
3317 // Frees a #ClutterActorBox allocated using clutter_actor_box_new()
3318 // or clutter_actor_box_copy()
3319 void free()() nothrow {
3320 clutter_actor_box_free(&this);
3323 // VERSION: 1.0
3324 // Calculates the bounding box represented by the four vertices; for details
3325 // of the vertex array see clutter_actor_get_abs_allocation_vertices().
3326 // <verts>: array of four #ClutterVertex
3327 void from_vertices()(Vertex verts) nothrow {
3328 clutter_actor_box_from_vertices(&this, verts);
3331 // VERSION: 1.0
3332 // Retrieves the area of @box
3333 // RETURNS: the area of a #ClutterActorBox, in pixels
3334 float get_area()() nothrow {
3335 return clutter_actor_box_get_area(&this);
3338 // VERSION: 1.0
3339 // Retrieves the height of the @box
3340 // RETURNS: the height of the box
3341 float get_height()() nothrow {
3342 return clutter_actor_box_get_height(&this);
3345 // VERSION: 1.0
3346 // Retrieves the origin of @box
3347 // <x>: return location for the X coordinate, or %NULL
3348 // <y>: return location for the Y coordinate, or %NULL
3349 void get_origin(AT0, AT1)(/*out*/ AT0 /*float*/ x=null, /*out*/ AT1 /*float*/ y=null) nothrow {
3350 clutter_actor_box_get_origin(&this, UpCast!(float*)(x), UpCast!(float*)(y));
3353 // VERSION: 1.0
3354 // Retrieves the size of @box
3355 // <width>: return location for the width, or %NULL
3356 // <height>: return location for the height, or %NULL
3357 void get_size(AT0, AT1)(/*out*/ AT0 /*float*/ width=null, /*out*/ AT1 /*float*/ height=null) nothrow {
3358 clutter_actor_box_get_size(&this, UpCast!(float*)(width), UpCast!(float*)(height));
3361 // VERSION: 1.0
3362 // Retrieves the width of the @box
3363 // RETURNS: the width of the box
3364 float get_width()() nothrow {
3365 return clutter_actor_box_get_width(&this);
3368 // VERSION: 1.0
3369 // Retrieves the X coordinate of the origin of @box
3370 // RETURNS: the X coordinate of the origin
3371 float get_x()() nothrow {
3372 return clutter_actor_box_get_x(&this);
3375 // VERSION: 1.0
3376 // Retrieves the Y coordinate of the origin of @box
3377 // RETURNS: the Y coordinate of the origin
3378 float get_y()() nothrow {
3379 return clutter_actor_box_get_y(&this);
3382 // VERSION: 1.2
3383 // Interpolates between @initial and @final #ClutterActorBox<!-- -->es
3384 // using @progress
3385 // <final>: the final #ClutterActorBox
3386 // <progress>: the interpolation progress
3387 // <result>: return location for the interpolation
3388 void interpolate(AT0, AT1)(AT0 /*ActorBox*/ final_, double progress, /*out*/ AT1 /*ActorBox*/ result) nothrow {
3389 clutter_actor_box_interpolate(&this, UpCast!(ActorBox*)(final_), progress, UpCast!(ActorBox*)(result));
3392 // VERSION: 1.6
3393 // Changes the origin of @box, maintaining the size of the #ClutterActorBox.
3394 // <x>: the X coordinate of the new origin
3395 // <y>: the Y coordinate of the new origin
3396 void set_origin()(float x, float y) nothrow {
3397 clutter_actor_box_set_origin(&this, x, y);
3400 // VERSION: 1.6
3401 // Sets the size of @box, maintaining the origin of the #ClutterActorBox.
3402 // <width>: the new width
3403 // <height>: the new height
3404 void set_size()(float width, float height) nothrow {
3405 clutter_actor_box_set_size(&this, width, height);
3408 // VERSION: 1.4
3409 // Unions the two boxes @a and @b and stores the result in @result.
3410 // <b>: the second #ClutterActorBox
3411 // <result>: the #ClutterActorBox representing a union of @a and @b
3412 void union_(AT0, AT1)(AT0 /*ActorBox*/ b, /*out*/ AT1 /*ActorBox*/ result) nothrow {
3413 clutter_actor_box_union(&this, UpCast!(ActorBox*)(b), UpCast!(ActorBox*)(result));
3417 // Base class for actors.
3418 struct ActorClass {
3419 private GObject2.InitiallyUnownedClass parent_class;
3420 extern (C) void function (Actor* self) nothrow show;
3421 extern (C) void function (Actor* self) nothrow show_all;
3422 extern (C) void function (Actor* self) nothrow hide;
3423 extern (C) void function (Actor* self) nothrow hide_all;
3424 extern (C) void function (Actor* self) nothrow realize;
3425 extern (C) void function (Actor* self) nothrow unrealize;
3426 extern (C) void function (Actor* self) nothrow map;
3427 extern (C) void function (Actor* self) nothrow unmap;
3428 extern (C) void function (Actor* self) nothrow paint;
3429 extern (C) void function (Actor* actor, Actor* old_parent) nothrow parent_set;
3430 extern (C) void function (Actor* self) nothrow destroy;
3431 extern (C) void function (Actor* actor, Color* color) nothrow pick;
3432 extern (C) void function (Actor* actor, Actor* leaf_that_queued) nothrow queue_redraw;
3434 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
3435 // <min_width_p>: return location for minimum width, or %NULL
3436 // <natural_width_p>: return location for the natural width, or %NULL
3437 extern (C) void function (Actor* self, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* natural_width_p=null) nothrow get_preferred_width;
3439 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
3440 // <min_height_p>: return location for minimum height, or %NULL
3441 // <natural_height_p>: return location for natural height, or %NULL
3442 extern (C) void function (Actor* self, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* natural_height_p=null) nothrow get_preferred_height;
3444 // <box>: new allocation of the actor, in parent-relative coordinates
3445 // <flags>: flags that control the allocation
3446 extern (C) void function (Actor* self, ActorBox* box, AllocationFlags flags) nothrow allocate;
3447 extern (C) void function (Actor* actor, Cogl.Matrix* matrix) nothrow apply_transform;
3448 extern (C) int function (Actor* actor, Event* event) nothrow event;
3449 extern (C) int function (Actor* actor, ButtonEvent* event) nothrow button_press_event;
3450 extern (C) int function (Actor* actor, ButtonEvent* event) nothrow button_release_event;
3451 extern (C) int function (Actor* actor, ScrollEvent* event) nothrow scroll_event;
3452 extern (C) int function (Actor* actor, KeyEvent* event) nothrow key_press_event;
3453 extern (C) int function (Actor* actor, KeyEvent* event) nothrow key_release_event;
3454 extern (C) int function (Actor* actor, MotionEvent* event) nothrow motion_event;
3455 extern (C) int function (Actor* actor, CrossingEvent* event) nothrow enter_event;
3456 extern (C) int function (Actor* actor, CrossingEvent* event) nothrow leave_event;
3457 extern (C) int function (Actor* actor, Event* event) nothrow captured_event;
3458 extern (C) void function (Actor* actor) nothrow key_focus_in;
3459 extern (C) void function (Actor* actor) nothrow key_focus_out;
3460 extern (C) void function (Actor* self) nothrow queue_relayout;
3461 // RETURNS: the #AtkObject associated with @actor
3462 extern (C) Atk.Object* function (Actor* self) nothrow get_accessible;
3463 extern (C) int function (Actor* actor, PaintVolume* volume) nothrow get_paint_volume;
3464 // RETURNS: %TRUE if the actor may have overlapping primitives, and
3465 extern (C) int function (Actor* self) nothrow has_overlaps;
3466 private void*[28] _padding_dummy;
3469 // Flags used to signal the state of an actor.
3470 enum ActorFlags {
3471 MAPPED = 2,
3472 REALIZED = 4,
3473 REACTIVE = 8,
3474 VISIBLE = 16,
3475 NO_LAYOUT = 32
3478 // An iterator structure that allows to efficiently iterate over a
3479 // section of the scene graph.
3481 // The contents of the <structname>ClutterActorIter</structname> structure
3482 // are private and should only be accessed using the provided API.
3483 struct ActorIter /* Version 1.10 */ {
3484 private void* dummy1, dummy2, dummy3;
3485 private int dummy4;
3486 private void* dummy5;
3489 // VERSION: 1.10
3490 // Initializes a #ClutterActorIter, which can then be used to iterate
3491 // efficiently over a section of the scene graph, and associates it
3492 // with @root.
3494 // Modifying the scene graph section that contains @root will invalidate
3495 // the iterator.
3497 // |[
3498 // ClutterActorIter iter;
3499 // ClutterActor *child;
3501 // clutter_actor_iter_init (&iter, container);
3502 // while (clutter_actor_iter_next (&iter, &child))
3503 // {
3504 // /&ast; do something with child &ast;/
3505 // }
3506 // ]|
3507 // <root>: a #ClutterActor
3508 void init(AT0)(AT0 /*Actor*/ root) nothrow {
3509 clutter_actor_iter_init(&this, UpCast!(Actor*)(root));
3512 // VERSION: 1.10
3513 // Advances the @iter and retrieves the previous child of the root
3514 // #ClutterActor that was used to initialize the #ClutterActorIterator.
3516 // If the iterator can advance, this function returns %TRUE and sets the
3517 // @child argument.
3519 // If the iterator cannot advance, this function returns %FALSE, and
3520 // the contents of @child are undefined.
3521 // RETURNS: %TRUE if the iterator could advance, and %FALSE otherwise.
3522 // <child>: return location for a #ClutterActor
3523 int next(AT0)(/*out*/ AT0 /*Actor**/ child) nothrow {
3524 return clutter_actor_iter_next(&this, UpCast!(Actor**)(child));
3526 int prev(AT0)(AT0 /*Actor**/ child) nothrow {
3527 return clutter_actor_iter_prev(&this, UpCast!(Actor**)(child));
3530 // VERSION: 1.10
3531 // Safely removes the #ClutterActor currently pointer to by the iterator
3532 // from its parent.
3534 // This function can only be called after clutter_actor_iter_next() or
3535 // clutter_actor_iter_prev() returned %TRUE, and cannot be called more
3536 // than once for the same actor.
3538 // This function will call clutter_actor_remove_child() internally.
3539 void remove()() nothrow {
3540 clutter_actor_iter_remove(&this);
3545 // The <structname>ClutterActorMeta</structname> structure contains only
3546 // private data and should be accessed using the provided API
3547 struct ActorMeta /* : GObject.InitiallyUnowned */ /* Version 1.4 */ {
3548 alias parent_instance this;
3549 alias parent_instance super_;
3550 alias parent_instance initiallyunowned;
3551 GObject2.InitiallyUnowned parent_instance;
3552 private ActorMetaPrivate* priv;
3555 // VERSION: 1.4
3556 // Retrieves a pointer to the #ClutterActor that owns @meta
3557 // RETURNS: a pointer to a #ClutterActor or %NULL
3558 Actor* get_actor()() nothrow {
3559 return clutter_actor_meta_get_actor(&this);
3562 // VERSION: 1.4
3563 // Retrieves whether @meta is enabled
3564 // RETURNS: %TRUE if the #ClutterActorMeta instance is enabled
3565 int get_enabled()() nothrow {
3566 return clutter_actor_meta_get_enabled(&this);
3569 // VERSION: 1.4
3570 // Retrieves the name set using clutter_actor_meta_set_name()
3572 // instance, or %NULL if none was set. The returned string is owned
3573 // by the #ClutterActorMeta instance and it should not be modified
3574 // or freed
3575 // RETURNS: the name of the #ClutterActorMeta
3576 char* get_name()() nothrow {
3577 return clutter_actor_meta_get_name(&this);
3580 // VERSION: 1.4
3581 // Sets whether @meta should be enabled or not
3582 // <is_enabled>: whether @meta is enabled
3583 void set_enabled()(int is_enabled) nothrow {
3584 clutter_actor_meta_set_enabled(&this, is_enabled);
3587 // VERSION: 1.4
3588 // Sets the name of @meta
3590 // The name can be used to identify the #ClutterActorMeta instance
3591 // <name>: the name of @meta
3592 void set_name(AT0)(AT0 /*char*/ name) nothrow {
3593 clutter_actor_meta_set_name(&this, toCString!(char*)(name));
3598 // The <structname>ClutterActorMetaClass</structname> structure contains
3599 // only private data
3600 struct ActorMetaClass /* Version 1.4 */ {
3601 private GObject2.InitiallyUnownedClass parent_class;
3602 extern (C) void function (ActorMeta* meta, Actor* actor) nothrow set_actor;
3603 extern (C) void function () nothrow _clutter_meta1;
3604 extern (C) void function () nothrow _clutter_meta2;
3605 extern (C) void function () nothrow _clutter_meta3;
3606 extern (C) void function () nothrow _clutter_meta4;
3607 extern (C) void function () nothrow _clutter_meta5;
3608 extern (C) void function () nothrow _clutter_meta6;
3609 extern (C) void function () nothrow _clutter_meta7;
3612 struct ActorMetaPrivate {
3615 struct ActorPrivate {
3618 enum int AddFavorite = 269025081;
3619 enum int Adiaeresis = 196;
3620 enum int Agrave = 192;
3621 enum int Ahook = 16785058;
3623 // Specifies the axis on which #ClutterAlignConstraint should maintain
3624 // the alignment.
3625 enum AlignAxis /* Version 1.4 */ {
3626 X_AXIS = 0,
3627 Y_AXIS = 1,
3628 BOTH = 2
3631 // <structname>ClutterAlignConstraint</structname> is an opaque structure
3632 // whose members cannot be directly accesses
3633 struct AlignConstraint /* : Constraint */ /* Version 1.4 */ {
3634 alias method_parent this;
3635 alias method_parent super_;
3636 alias method_parent constraint;
3637 Constraint method_parent;
3640 // VERSION: 1.4
3641 // Creates a new constraint, aligning a #ClutterActor's position with
3642 // regards of the size of the actor to @source, with the given
3643 // alignment @factor
3644 // RETURNS: the newly created #ClutterAlignConstraint
3645 // <source>: the #ClutterActor to use as the source of the alignment, or %NULL
3646 // <axis>: the axis to be used to compute the alignment
3647 // <factor>: the alignment factor, between 0.0 and 1.0
3648 static AlignConstraint* new_(AT0)(AT0 /*Actor*/ source, AlignAxis axis, float factor) nothrow {
3649 return clutter_align_constraint_new(UpCast!(Actor*)(source), axis, factor);
3651 static auto opCall(AT0)(AT0 /*Actor*/ source, AlignAxis axis, float factor) {
3652 return clutter_align_constraint_new(UpCast!(Actor*)(source), axis, factor);
3655 // VERSION: 1.4
3656 // Retrieves the value set using clutter_align_constraint_set_align_axis()
3657 // RETURNS: the alignment axis
3658 AlignAxis get_align_axis()() nothrow {
3659 return clutter_align_constraint_get_align_axis(&this);
3662 // VERSION: 1.4
3663 // Retrieves the factor set using clutter_align_constraint_set_factor()
3664 // RETURNS: the alignment factor
3665 float get_factor()() nothrow {
3666 return clutter_align_constraint_get_factor(&this);
3669 // VERSION: 1.4
3670 // Retrieves the source of the alignment
3672 // of the alignment
3673 // RETURNS: the #ClutterActor used as the source
3674 Actor* get_source()() nothrow {
3675 return clutter_align_constraint_get_source(&this);
3678 // VERSION: 1.4
3679 // Sets the axis to which the alignment refers to
3680 // <axis>: the axis to which the alignment refers to
3681 void set_align_axis()(AlignAxis axis) nothrow {
3682 clutter_align_constraint_set_align_axis(&this, axis);
3685 // VERSION: 1.4
3686 // Sets the alignment factor of the constraint
3688 // The factor depends on the #ClutterAlignConstraint:align-axis property
3689 // and it is a value between 0.0 (meaning left, when
3690 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
3691 // meaning top, when #ClutterAlignConstraint:align-axis is set to
3692 // %CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when
3693 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
3694 // meaning bottom, when #ClutterAlignConstraint:align-axis is set to
3695 // %CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
3696 // cases
3697 // <factor>: the alignment factor, between 0.0 and 1.0
3698 void set_factor()(float factor) nothrow {
3699 clutter_align_constraint_set_factor(&this, factor);
3702 // VERSION: 1.4
3703 // Sets the source of the alignment constraint
3704 // <source>: a #ClutterActor, or %NULL to unset the source
3705 void set_source(AT0)(AT0 /*Actor*/ source=null) nothrow {
3706 clutter_align_constraint_set_source(&this, UpCast!(Actor*)(source));
3710 struct AlignConstraintClass {
3714 // Flags passed to the #ClutterActorClass.allocate() virtual function
3715 // and to the clutter_actor_allocate() function.
3716 enum AllocationFlags /* Version 1.0 */ {
3717 ALLOCATION_NONE = 0,
3718 ABSOLUTE_ORIGIN_CHANGED = 2,
3719 DELEGATE_LAYOUT = 4
3722 // #ClutterAlpha combines a #ClutterTimeline and a function.
3723 // The contents of the #ClutterAlpha structure are private and should
3724 // only be accessed using the provided API.
3725 struct Alpha /* : GObject.InitiallyUnowned */ /* Version 0.2 */ {
3726 mixin Scriptable.__interface__;
3727 alias parent this;
3728 alias parent super_;
3729 alias parent initiallyunowned;
3730 GObject2.InitiallyUnowned parent;
3731 private AlphaPrivate* priv;
3734 // VERSION: 0.2
3735 // Creates a new #ClutterAlpha instance. You must set a function
3736 // to compute the alpha value using clutter_alpha_set_func() and
3737 // bind a #ClutterTimeline object to the #ClutterAlpha instance
3738 // using clutter_alpha_set_timeline().
3740 // You should use the newly created #ClutterAlpha instance inside
3741 // a #ClutterBehaviour object.
3742 // RETURNS: the newly created empty #ClutterAlpha instance.
3743 static Alpha* new_()() nothrow {
3744 return clutter_alpha_new();
3746 static auto opCall()() {
3747 return clutter_alpha_new();
3750 // VERSION: 1.0
3751 // Creates a new #ClutterAlpha instance and sets the timeline
3752 // and animation mode.
3754 // See also clutter_alpha_set_timeline() and clutter_alpha_set_mode().
3755 // RETURNS: the newly created #ClutterAlpha
3756 // <timeline>: #ClutterTimeline timeline
3757 // <mode>: animation mode
3758 static Alpha* new_full(AT0)(AT0 /*Timeline*/ timeline, c_ulong mode) nothrow {
3759 return clutter_alpha_new_full(UpCast!(Timeline*)(timeline), mode);
3761 static auto opCall(AT0)(AT0 /*Timeline*/ timeline, c_ulong mode) {
3762 return clutter_alpha_new_full(UpCast!(Timeline*)(timeline), mode);
3765 // VERSION: 1.0
3766 // Creates a new #ClutterAlpha instances and sets the timeline
3767 // and the alpha function.
3769 // This function will not register @func as a global alpha function.
3771 // See also clutter_alpha_set_timeline() and clutter_alpha_set_func().
3772 // RETURNS: the newly created #ClutterAlpha
3773 // <timeline>: a #ClutterTimeline
3774 // <func>: a #ClutterAlphaFunc
3775 // <data>: data to pass to the function, or %NULL
3776 // <destroy>: function to call when removing the alpha function, or %NULL
3777 static Alpha* new_with_func(AT0, AT1)(AT0 /*Timeline*/ timeline, AlphaFunc func, AT1 /*void*/ data, GLib2.DestroyNotify destroy) nothrow {
3778 return clutter_alpha_new_with_func(UpCast!(Timeline*)(timeline), func, UpCast!(void*)(data), destroy);
3780 static auto opCall(AT0, AT1)(AT0 /*Timeline*/ timeline, AlphaFunc func, AT1 /*void*/ data, GLib2.DestroyNotify destroy) {
3781 return clutter_alpha_new_with_func(UpCast!(Timeline*)(timeline), func, UpCast!(void*)(data), destroy);
3784 // VERSION: 1.0
3785 // #GClosure variant of clutter_alpha_register_func().
3787 // Registers a global alpha function and returns its logical id
3788 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
3790 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
3791 // RETURNS: the logical id of the alpha function
3792 // <closure>: a #GClosure
3793 static c_ulong register_closure(AT0)(AT0 /*GObject2.Closure*/ closure) nothrow {
3794 return clutter_alpha_register_closure(UpCast!(GObject2.Closure*)(closure));
3797 // Unintrospectable function: register_func() / clutter_alpha_register_func()
3798 // VERSION: 1.0
3799 // Registers a global alpha function and returns its logical id
3800 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
3802 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
3803 // RETURNS: the logical id of the alpha function
3804 // <func>: a #ClutterAlphaFunc
3805 // <data>: user data to pass to @func, or %NULL
3806 static c_ulong register_func(AT0)(AlphaFunc func, AT0 /*void*/ data) nothrow {
3807 return clutter_alpha_register_func(func, UpCast!(void*)(data));
3810 // VERSION: 0.2
3811 // Query the current alpha value.
3812 // RETURNS: The current alpha value for the alpha
3813 double get_alpha()() nothrow {
3814 return clutter_alpha_get_alpha(&this);
3817 // VERSION: 1.0
3818 // Retrieves the #ClutterAnimationMode used by @alpha.
3819 // RETURNS: the animation mode
3820 c_ulong get_mode()() nothrow {
3821 return clutter_alpha_get_mode(&this);
3824 // VERSION: 0.2
3825 // Gets the #ClutterTimeline bound to @alpha.
3826 // RETURNS: a #ClutterTimeline instance
3827 Timeline* get_timeline()() nothrow {
3828 return clutter_alpha_get_timeline(&this);
3831 // VERSION: 0.8
3832 // Sets the #GClosure used to compute the alpha value at each
3833 // frame of the #ClutterTimeline bound to @alpha.
3834 // <closure>: A #GClosure
3835 void set_closure(AT0)(AT0 /*GObject2.Closure*/ closure) nothrow {
3836 clutter_alpha_set_closure(&this, UpCast!(GObject2.Closure*)(closure));
3839 // VERSION: 0.2
3840 // Sets the #ClutterAlphaFunc function used to compute
3841 // the alpha value at each frame of the #ClutterTimeline
3842 // bound to @alpha.
3844 // This function will not register @func as a global alpha function.
3845 // <func>: A #ClutterAlphaFunc
3846 // <data>: user data to be passed to the alpha function, or %NULL
3847 // <destroy>: notify function used when disposing the alpha function
3848 void set_func(AT0)(AlphaFunc func, AT0 /*void*/ data, GLib2.DestroyNotify destroy) nothrow {
3849 clutter_alpha_set_func(&this, func, UpCast!(void*)(data), destroy);
3852 // VERSION: 1.0
3853 // Sets the progress function of @alpha using the symbolic value
3854 // of @mode, as taken by the #ClutterAnimationMode enumeration or
3855 // using the value returned by clutter_alpha_register_func().
3856 // <mode>: a #ClutterAnimationMode
3857 void set_mode()(c_ulong mode) nothrow {
3858 clutter_alpha_set_mode(&this, mode);
3861 // VERSION: 0.2
3862 // Binds @alpha to @timeline.
3863 // <timeline>: A #ClutterTimeline
3864 void set_timeline(AT0)(AT0 /*Timeline*/ timeline) nothrow {
3865 clutter_alpha_set_timeline(&this, UpCast!(Timeline*)(timeline));
3869 // Base class for #ClutterAlpha
3870 struct AlphaClass /* Version 0.2 */ {
3871 private GObject2.InitiallyUnownedClass parent_class;
3872 extern (C) void function () nothrow _clutter_alpha_1;
3873 extern (C) void function () nothrow _clutter_alpha_2;
3874 extern (C) void function () nothrow _clutter_alpha_3;
3875 extern (C) void function () nothrow _clutter_alpha_4;
3876 extern (C) void function () nothrow _clutter_alpha_5;
3880 // VERSION: 0.2
3881 // A function returning a value depending on the position of
3882 // the #ClutterTimeline bound to @alpha.
3883 // RETURNS: a floating point value
3884 // <alpha>: a #ClutterAlpha
3885 // <user_data>: user data passed to the function
3886 extern (C) alias double function (Alpha* alpha, void* user_data) nothrow AlphaFunc;
3888 struct AlphaPrivate {
3891 enum int Alt_L = 65513;
3892 enum int Alt_R = 65514;
3893 enum int Amacron = 960;
3895 // #ClutterAnimatable is an opaque structure whose members cannot be directly
3896 // accessed
3897 struct Animatable /* Interface */ /* Version 1.0 */ {
3898 mixin template __interface__() {
3899 // VERSION: 1.0
3900 // DEPRECATED (v1.8) method: animate_property - Use clutter_animatable_interpolate_value()
3901 // Calls the animate_property() virtual function for @animatable.
3903 // The @initial_value and @final_value #GValue<!-- -->s must contain
3904 // the same type; @value must have been initialized to the same
3905 // type of @initial_value and @final_value.
3907 // All implementation of the #ClutterAnimatable interface must
3908 // implement this function.
3910 // be applied to the #ClutterAnimatable, and %FALSE otherwise
3913 // instead
3914 // RETURNS: %TRUE if the value has been validated and can
3915 // <animation>: a #ClutterAnimation
3916 // <property_name>: the name of the animated property
3917 // <initial_value>: the initial value of the animation interval
3918 // <final_value>: the final value of the animation interval
3919 // <progress>: the progress factor
3920 // <value>: return location for the animation value
3921 int animate_property(AT0, AT1, AT2, AT3, AT4)(AT0 /*Animation*/ animation, AT1 /*char*/ property_name, AT2 /*GObject2.Value*/ initial_value, AT3 /*GObject2.Value*/ final_value, double progress, AT4 /*GObject2.Value*/ value) nothrow {
3922 return clutter_animatable_animate_property(cast(Animatable*)&this, UpCast!(Animation*)(animation), toCString!(char*)(property_name), UpCast!(GObject2.Value*)(initial_value), UpCast!(GObject2.Value*)(final_value), progress, UpCast!(GObject2.Value*)(value));
3925 // VERSION: 1.4
3926 // Finds the #GParamSpec for @property_name
3928 // or %NULL
3929 // RETURNS: The #GParamSpec for the given property
3930 // <property_name>: the name of the animatable property to find
3931 GObject2.ParamSpec* find_property(AT0)(AT0 /*char*/ property_name) nothrow {
3932 return clutter_animatable_find_property(cast(Animatable*)&this, toCString!(char*)(property_name));
3935 // VERSION: 1.4
3936 // Retrieves the current state of @property_name and sets @value with it
3937 // <property_name>: the name of the animatable property to retrieve
3938 // <value>: a #GValue initialized to the type of the property to retrieve
3939 void get_initial_state(AT0, AT1)(AT0 /*char*/ property_name, AT1 /*GObject2.Value*/ value) nothrow {
3940 clutter_animatable_get_initial_state(cast(Animatable*)&this, toCString!(char*)(property_name), UpCast!(GObject2.Value*)(value));
3943 // VERSION: 1.8
3944 // Asks a #ClutterAnimatable implementation to interpolate a
3945 // a named property between the initial and final values of
3946 // a #ClutterInterval, using @progress as the interpolation
3947 // value, and store the result inside @value.
3949 // This function should be used for every property animation
3950 // involving #ClutterAnimatable<!-- -->s.
3952 // This function replaces clutter_animatable_animate_property().
3954 // and %FALSE otherwise
3955 // RETURNS: %TRUE if the interpolation was successful,
3956 // <property_name>: the name of the property to interpolate
3957 // <interval>: a #ClutterInterval with the animation range
3958 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
3959 // <value>: return location for an initialized #GValue using the same type of the @interval
3960 int interpolate_value(AT0, AT1, AT2)(AT0 /*char*/ property_name, AT1 /*Interval*/ interval, double progress, /*out*/ AT2 /*GObject2.Value*/ value) nothrow {
3961 return clutter_animatable_interpolate_value(cast(Animatable*)&this, toCString!(char*)(property_name), UpCast!(Interval*)(interval), progress, UpCast!(GObject2.Value*)(value));
3964 // VERSION: 1.4
3965 // Sets the current state of @property_name to @value
3966 // <property_name>: the name of the animatable property to set
3967 // <value>: the value of the animatable property to set
3968 void set_final_state(AT0, AT1)(AT0 /*char*/ property_name, AT1 /*GObject2.Value*/ value) nothrow {
3969 clutter_animatable_set_final_state(cast(Animatable*)&this, toCString!(char*)(property_name), UpCast!(GObject2.Value*)(value));
3972 mixin __interface__;
3976 // Base interface for #GObject<!-- -->s that can be animated by a
3977 // a #ClutterAnimation.
3978 struct AnimatableIface /* Version 1.0 */ {
3979 private GObject2.TypeInterface parent_iface;
3981 // RETURNS: %TRUE if the value has been validated and can
3982 // <animation>: a #ClutterAnimation
3983 // <property_name>: the name of the animated property
3984 // <initial_value>: the initial value of the animation interval
3985 // <final_value>: the final value of the animation interval
3986 // <progress>: the progress factor
3987 // <value>: return location for the animation value
3988 extern (C) int function (Animatable* animatable, Animation* animation, char* property_name, GObject2.Value* initial_value, GObject2.Value* final_value, double progress, GObject2.Value* value) nothrow animate_property;
3990 // RETURNS: The #GParamSpec for the given property
3991 // <property_name>: the name of the animatable property to find
3992 extern (C) GObject2.ParamSpec* function (Animatable* animatable, char* property_name) nothrow find_property;
3994 // <property_name>: the name of the animatable property to retrieve
3995 // <value>: a #GValue initialized to the type of the property to retrieve
3996 extern (C) void function (Animatable* animatable, char* property_name, GObject2.Value* value) nothrow get_initial_state;
3998 // <property_name>: the name of the animatable property to set
3999 // <value>: the value of the animatable property to set
4000 extern (C) void function (Animatable* animatable, char* property_name, GObject2.Value* value) nothrow set_final_state;
4002 // RETURNS: %TRUE if the interpolation was successful,
4003 // <property_name>: the name of the property to interpolate
4004 // <interval>: a #ClutterInterval with the animation range
4005 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
4006 // <value>: return location for an initialized #GValue using the same type of the @interval
4007 extern (C) int function (Animatable* animatable, char* property_name, Interval* interval, double progress, /*out*/ GObject2.Value* value) nothrow interpolate_value;
4011 // The #ClutterAnimation structure contains only private data and should
4012 // be accessed using the provided functions.
4013 struct Animation /* : GObject.Object */ /* Version 1.0 */ {
4014 mixin Scriptable.__interface__;
4015 alias parent_instance this;
4016 alias parent_instance super_;
4017 alias parent_instance object;
4018 GObject2.Object parent_instance;
4019 private AnimationPrivate* priv;
4022 // VERSION: 1.0
4023 // Creates a new #ClutterAnimation instance. You should set the
4024 // #GObject to be animated using clutter_animation_set_object(),
4025 // set the duration with clutter_animation_set_duration() and the
4026 // easing mode using clutter_animation_set_mode().
4028 // Use clutter_animation_bind() or clutter_animation_bind_interval()
4029 // to define the properties to be animated. The interval and the
4030 // animated properties can be updated at runtime.
4032 // The clutter_actor_animate() and relative family of functions provide
4033 // an easy way to animate a #ClutterActor and automatically manage the
4034 // lifetime of a #ClutterAnimation instance, so you should consider using
4035 // those functions instead of manually creating an animation.
4037 // to release the associated resources
4038 // RETURNS: the newly created #ClutterAnimation. Use g_object_unref()
4039 static Animation* /*new*/ new_()() nothrow {
4040 return clutter_animation_new();
4042 static auto opCall()() {
4043 return clutter_animation_new();
4046 // VERSION: 1.0
4047 // Adds a single property with name @property_name to the
4048 // animation @animation. For more information about animations,
4049 // see clutter_actor_animate().
4051 // This method returns the animation primarily to make chained
4052 // calls convenient in language bindings.
4053 // RETURNS: The animation itself.
4054 // <property_name>: the property to control
4055 // <final>: The final value of the property
4056 Animation* bind(AT0, AT1)(AT0 /*char*/ property_name, AT1 /*GObject2.Value*/ final_) nothrow {
4057 return clutter_animation_bind(&this, toCString!(char*)(property_name), UpCast!(GObject2.Value*)(final_));
4060 // VERSION: 1.0
4061 // Binds @interval to the @property_name of the #GObject
4062 // attached to @animation. The #ClutterAnimation will take
4063 // ownership of the passed #ClutterInterval. For more information
4064 // about animations, see clutter_actor_animate().
4066 // If you need to update the interval instance use
4067 // clutter_animation_update_interval() instead.
4068 // RETURNS: The animation itself.
4069 // <property_name>: the property to control
4070 // <interval>: a #ClutterInterval
4071 Animation* bind_interval(AT0, AT1)(AT0 /*char*/ property_name, AT1 /*Interval*/ interval) nothrow {
4072 return clutter_animation_bind_interval(&this, toCString!(char*)(property_name), UpCast!(Interval*)(interval));
4075 // VERSION: 1.0
4076 // Emits the ::completed signal on @animation
4078 // When using this function with a #ClutterAnimation created
4079 // by the clutter_actor_animate() family of functions, @animation
4080 // will be unreferenced and it will not be valid anymore,
4081 // unless g_object_ref() was called before calling this function
4082 // or unless a reference was taken inside a handler for the
4083 // #ClutterAnimation::completed signal
4084 void completed()() nothrow {
4085 clutter_animation_completed(&this);
4088 // VERSION: 1.0
4089 // Retrieves the #ClutterAlpha used by @animation.
4090 // RETURNS: the alpha object used by the animation
4091 Alpha* get_alpha()() nothrow {
4092 return clutter_animation_get_alpha(&this);
4095 // VERSION: 1.0
4096 // Retrieves the duration of @animation, in milliseconds.
4097 // RETURNS: the duration of the animation
4098 uint get_duration()() nothrow {
4099 return clutter_animation_get_duration(&this);
4102 // VERSION: 1.0
4103 // Retrieves the #ClutterInterval associated to @property_name
4104 // inside @animation.
4106 // property with the same name was found. The returned interval is
4107 // owned by the #ClutterAnimation and should not be unreferenced
4108 // RETURNS: a #ClutterInterval or %NULL if no
4109 // <property_name>: name of the property
4110 Interval* get_interval(AT0)(AT0 /*char*/ property_name) nothrow {
4111 return clutter_animation_get_interval(&this, toCString!(char*)(property_name));
4114 // VERSION: 1.0
4115 // Retrieves whether @animation is looping.
4116 // RETURNS: %TRUE if the animation is looping
4117 int get_loop()() nothrow {
4118 return clutter_animation_get_loop(&this);
4121 // VERSION: 1.0
4122 // Retrieves the animation mode of @animation, as set by
4123 // clutter_animation_set_mode().
4124 // RETURNS: the mode for the animation
4125 c_ulong get_mode()() nothrow {
4126 return clutter_animation_get_mode(&this);
4129 // VERSION: 1.0
4130 // Retrieves the #GObject attached to @animation.
4131 // RETURNS: a #GObject
4132 GObject2.Object* get_object()() nothrow {
4133 return clutter_animation_get_object(&this);
4136 // VERSION: 1.0
4137 // Retrieves the #ClutterTimeline used by @animation
4138 // RETURNS: the timeline used by the animation
4139 Timeline* get_timeline()() nothrow {
4140 return clutter_animation_get_timeline(&this);
4143 // VERSION: 1.0
4144 // Checks whether @animation is controlling @property_name.
4146 // #ClutterAnimation, %FALSE otherwise
4147 // RETURNS: %TRUE if the property is animated by the
4148 // <property_name>: name of the property
4149 int has_property(AT0)(AT0 /*char*/ property_name) nothrow {
4150 return clutter_animation_has_property(&this, toCString!(char*)(property_name));
4153 // VERSION: 1.0
4154 // Sets @alpha as the #ClutterAlpha used by @animation.
4156 // If @alpha is not %NULL, the #ClutterAnimation will take ownership
4157 // of the #ClutterAlpha instance.
4158 // <alpha>: a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha
4159 void set_alpha(AT0)(AT0 /*Alpha*/ alpha) nothrow {
4160 clutter_animation_set_alpha(&this, UpCast!(Alpha*)(alpha));
4163 // VERSION: 1.0
4164 // Sets the duration of @animation in milliseconds.
4166 // This function will set #ClutterAnimation:alpha and
4167 // #ClutterAnimation:timeline if needed.
4168 // <msecs>: the duration in milliseconds
4169 void set_duration()(uint msecs) nothrow {
4170 clutter_animation_set_duration(&this, msecs);
4173 // VERSION: 1.0
4174 // Sets whether @animation should loop over itself once finished.
4176 // A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
4177 // signal when finished.
4179 // This function will set #ClutterAnimation:alpha and
4180 // #ClutterAnimation:timeline if needed.
4181 // <loop>: %TRUE if the animation should loop
4182 void set_loop()(int loop) nothrow {
4183 clutter_animation_set_loop(&this, loop);
4186 // VERSION: 1.0
4187 // Sets the animation @mode of @animation. The animation @mode is
4188 // a logical id, either coming from the #ClutterAnimationMode enumeration
4189 // or the return value of clutter_alpha_register_func().
4191 // This function will also set #ClutterAnimation:alpha if needed.
4192 // <mode>: an animation mode logical id
4193 void set_mode()(c_ulong mode) nothrow {
4194 clutter_animation_set_mode(&this, mode);
4197 // VERSION: 1.0
4198 // Attaches @animation to @object. The #ClutterAnimation will take a
4199 // reference on @object.
4200 // <object>: a #GObject
4201 void set_object(AT0)(AT0 /*GObject2.Object*/ object) nothrow {
4202 clutter_animation_set_object(&this, UpCast!(GObject2.Object*)(object));
4205 // VERSION: 1.0
4206 // Sets the #ClutterTimeline used by @animation.
4207 // <timeline>: a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline
4208 void set_timeline(AT0)(AT0 /*Timeline*/ timeline) nothrow {
4209 clutter_animation_set_timeline(&this, UpCast!(Timeline*)(timeline));
4212 // VERSION: 1.0
4213 // Removes @property_name from the list of animated properties.
4214 // <property_name>: name of the property
4215 void unbind_property(AT0)(AT0 /*char*/ property_name) nothrow {
4216 clutter_animation_unbind_property(&this, toCString!(char*)(property_name));
4219 // VERSION: 1.0
4220 // Updates the @final value of the interval for @property_name
4221 // RETURNS: The animation itself.
4222 // <property_name>: name of the property
4223 // <final>: The final value of the property
4224 Animation* update(AT0, AT1)(AT0 /*char*/ property_name, AT1 /*GObject2.Value*/ final_) nothrow {
4225 return clutter_animation_update(&this, toCString!(char*)(property_name), UpCast!(GObject2.Value*)(final_));
4228 // VERSION: 1.0
4229 // Changes the @interval for @property_name. The #ClutterAnimation
4230 // will take ownership of the passed #ClutterInterval.
4231 // <property_name>: name of the property
4232 // <interval>: a #ClutterInterval
4233 void update_interval(AT0, AT1)(AT0 /*char*/ property_name, AT1 /*Interval*/ interval) nothrow {
4234 clutter_animation_update_interval(&this, toCString!(char*)(property_name), UpCast!(Interval*)(interval));
4237 // VERSION: 1.0
4238 // The ::completed signal is emitted once the animation has
4239 // been completed.
4241 // The @animation instance is guaranteed to be valid for the entire
4242 // duration of the signal emission chain.
4243 extern (C) alias static void function (Animation* this_, void* user_data=null) nothrow signal_completed;
4245 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4246 return super_.signal_connect!name(cb, data, cf);
4249 ulong signal_connect(string name:"completed", CB/*:signal_completed*/)
4250 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
4251 if (is(typeof(cb)==signal_completed)||_ttmm!(CB, signal_completed)()) {
4252 return signal_connect_data!()(&this, cast(char*)"completed",
4253 cast(GObject2.Callback)cb, data, null, cf);
4256 // VERSION: 1.0
4257 // The ::started signal is emitted once the animation has been
4258 // started
4259 extern (C) alias static void function (Animation* this_, void* user_data=null) nothrow signal_started;
4260 ulong signal_connect(string name:"started", CB/*:signal_started*/)
4261 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
4262 if (is(typeof(cb)==signal_started)||_ttmm!(CB, signal_started)()) {
4263 return signal_connect_data!()(&this, cast(char*)"started",
4264 cast(GObject2.Callback)cb, data, null, cf);
4269 // The #ClutterAnimationClass structure contains only private data and
4270 // should be accessed using the provided functions.
4271 struct AnimationClass /* Version 1.0 */ {
4272 private GObject2.ObjectClass parent_class;
4273 extern (C) void function (Animation* animation) nothrow started;
4274 extern (C) void function (Animation* animation) nothrow completed;
4275 extern (C) void function () nothrow _clutter_reserved1;
4276 extern (C) void function () nothrow _clutter_reserved2;
4277 extern (C) void function () nothrow _clutter_reserved3;
4278 extern (C) void function () nothrow _clutter_reserved4;
4279 extern (C) void function () nothrow _clutter_reserved5;
4280 extern (C) void function () nothrow _clutter_reserved6;
4281 extern (C) void function () nothrow _clutter_reserved7;
4282 extern (C) void function () nothrow _clutter_reserved8;
4286 // The animation modes used by #ClutterAlpha and #ClutterAnimation. This
4287 // enumeration can be expanded in later versions of Clutter. See the
4288 // #ClutterAlpha documentation for a graph of all the animation modes.
4290 // Every global alpha function registered using clutter_alpha_register_func()
4291 // or clutter_alpha_register_closure() will have a logical id greater than
4292 // %CLUTTER_ANIMATION_LAST.
4293 enum AnimationMode /* Version 1.0 */ {
4294 CUSTOM_MODE = 0,
4295 LINEAR = 1,
4296 EASE_IN_QUAD = 2,
4297 EASE_OUT_QUAD = 3,
4298 EASE_IN_OUT_QUAD = 4,
4299 EASE_IN_CUBIC = 5,
4300 EASE_OUT_CUBIC = 6,
4301 EASE_IN_OUT_CUBIC = 7,
4302 EASE_IN_QUART = 8,
4303 EASE_OUT_QUART = 9,
4304 EASE_IN_OUT_QUART = 10,
4305 EASE_IN_QUINT = 11,
4306 EASE_OUT_QUINT = 12,
4307 EASE_IN_OUT_QUINT = 13,
4308 EASE_IN_SINE = 14,
4309 EASE_OUT_SINE = 15,
4310 EASE_IN_OUT_SINE = 16,
4311 EASE_IN_EXPO = 17,
4312 EASE_OUT_EXPO = 18,
4313 EASE_IN_OUT_EXPO = 19,
4314 EASE_IN_CIRC = 20,
4315 EASE_OUT_CIRC = 21,
4316 EASE_IN_OUT_CIRC = 22,
4317 EASE_IN_ELASTIC = 23,
4318 EASE_OUT_ELASTIC = 24,
4319 EASE_IN_OUT_ELASTIC = 25,
4320 EASE_IN_BACK = 26,
4321 EASE_OUT_BACK = 27,
4322 EASE_IN_OUT_BACK = 28,
4323 EASE_IN_BOUNCE = 29,
4324 EASE_OUT_BOUNCE = 30,
4325 EASE_IN_OUT_BOUNCE = 31,
4326 ANIMATION_LAST = 32
4328 struct AnimationPrivate {
4332 // The #ClutterAnimator structure contains only private data and
4333 // should be accessed using the provided API
4334 struct Animator /* : GObject.Object */ /* Version 1.2 */ {
4335 mixin Scriptable.__interface__;
4336 alias parent_instance this;
4337 alias parent_instance super_;
4338 alias parent_instance object;
4339 GObject2.Object parent_instance;
4340 private AnimatorPrivate* priv;
4343 // VERSION: 1.2
4344 // Creates a new #ClutterAnimator instance
4345 // RETURNS: a new #ClutterAnimator.
4346 static Animator* /*new*/ new_()() nothrow {
4347 return clutter_animator_new();
4349 static auto opCall()() {
4350 return clutter_animator_new();
4353 // VERSION: 1.2
4354 // Compute the value for a managed property at a given progress.
4356 // If the property is an ease-in property, the current value of the property
4357 // on the object will be used as the starting point for computation.
4359 // an error occurs or the progress is before any of the keys) %FALSE is
4360 // returned and the #GValue is left untouched
4361 // RETURNS: %TRUE if the computation yields has a value, otherwise (when
4362 // <object>: a #GObject
4363 // <property_name>: the name of the property on object to check
4364 // <progress>: a value between 0.0 and 1.0
4365 // <value>: an initialized value to store the computed result
4366 int compute_value(AT0, AT1, AT2)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name, double progress, AT2 /*GObject2.Value*/ value) nothrow {
4367 return clutter_animator_compute_value(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name), progress, UpCast!(GObject2.Value*)(value));
4370 // VERSION: 1.2
4371 // Retrieves the current duration of an animator
4372 // RETURNS: the duration of the animation, in milliseconds
4373 uint get_duration()() nothrow {
4374 return clutter_animator_get_duration(&this);
4377 // VERSION: 1.2
4378 // Returns a list of pointers to opaque structures with accessor functions
4379 // that describe the keys added to an animator.
4381 // list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned
4382 // by the #ClutterAnimator, but you should free the returned list when done,
4383 // using g_list_free()
4384 // RETURNS: a
4385 // <object>: a #GObject to search for, or %NULL for all objects
4386 // <property_name>: a specific property name to query for, or %NULL for all properties
4387 // <progress>: a specific progress to search for, or a negative value for all progresses
4388 GLib2.List* /*new container*/ get_keys(AT0, AT1)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name, double progress) nothrow {
4389 return clutter_animator_get_keys(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name), progress);
4392 // VERSION: 1.2
4393 // Get the timeline hooked up for driving the #ClutterAnimator
4394 // RETURNS: the #ClutterTimeline that drives the animator
4395 Timeline* get_timeline()() nothrow {
4396 return clutter_animator_get_timeline(&this);
4399 // VERSION: 1.2
4400 // Checks if a property value is to be eased into the animation.
4401 // RETURNS: %TRUE if the property is eased in
4402 // <object>: a #GObject
4403 // <property_name>: the name of a property on object
4404 int property_get_ease_in(AT0, AT1)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name) nothrow {
4405 return clutter_animator_property_get_ease_in(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name));
4408 // VERSION: 1.2
4409 // Get the interpolation used by animator for a property on a particular
4410 // object.
4411 // RETURNS: a ClutterInterpolation value.
4412 // <object>: a #GObject
4413 // <property_name>: the name of a property on object
4414 Interpolation property_get_interpolation(AT0, AT1)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name) nothrow {
4415 return clutter_animator_property_get_interpolation(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name));
4418 // VERSION: 1.2
4419 // Sets whether a property value is to be eased into the animation.
4420 // <object>: a #GObject
4421 // <property_name>: the name of a property on object
4422 // <ease_in>: we are going to be easing in this property
4423 void property_set_ease_in(AT0, AT1)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name, int ease_in) nothrow {
4424 clutter_animator_property_set_ease_in(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name), ease_in);
4427 // VERSION: 1.2
4428 // Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes
4429 // the values to linearly change between the values, and
4430 // %CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between
4431 // the values.
4432 // <object>: a #GObject
4433 // <property_name>: the name of a property on object
4434 // <interpolation>: the #ClutterInterpolation to use
4435 void property_set_interpolation(AT0, AT1)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name, Interpolation interpolation) nothrow {
4436 clutter_animator_property_set_interpolation(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name), interpolation);
4439 // VERSION: 1.2
4440 // Removes all keys matching the conditions specificed in the arguments.
4441 // <object>: a #GObject to search for, or %NULL for all
4442 // <property_name>: a specific property name to query for, or %NULL for all
4443 // <progress>: a specific progress to search for or a negative value for all
4444 void remove_key(AT0, AT1)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name, double progress) nothrow {
4445 clutter_animator_remove_key(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name), progress);
4448 // Unintrospectable method: set() / clutter_animator_set()
4449 // VERSION: 1.2
4450 // Adds multiple keys to a #ClutterAnimator, specifying the value a given
4451 // property should have at a given progress of the animation. The mode
4452 // specified is the mode used when going to this key from the previous key of
4453 // the @property_name
4455 // If a given (object, property, progress) tuple already exist the mode and
4456 // value will be replaced with the new values.
4457 // <first_object>: a #GObject
4458 // <first_property_name>: the property to specify a key for
4459 // <first_mode>: the id of the alpha function to use
4460 // <first_progress>: at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1
4461 /+ Not available -- variadic methods unsupported - use the C function directly.
4462 alias clutter_animator_set set; // Variadic
4465 // VERSION: 1.2
4466 // Runs the timeline of the #ClutterAnimator with a duration in msecs
4467 // as specified.
4468 // <duration>: milliseconds a run of the animator should last.
4469 void set_duration()(uint duration) nothrow {
4470 clutter_animator_set_duration(&this, duration);
4473 // VERSION: 1.2
4474 // Sets a single key in the #ClutterAnimator for the @property_name of
4475 // @object at @progress.
4477 // See also: clutter_animator_set()
4478 // RETURNS: The animator instance
4479 // <object>: a #GObject
4480 // <property_name>: the property to specify a key for
4481 // <mode>: the id of the alpha function to use
4482 // <progress>: the normalized range at which stage of the animation this value applies
4483 // <value>: the value property_name should have at progress.
4484 Animator* set_key(AT0, AT1, AT2)(AT0 /*GObject2.Object*/ object, AT1 /*char*/ property_name, uint mode, double progress, AT2 /*GObject2.Value*/ value) nothrow {
4485 return clutter_animator_set_key(&this, UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name), mode, progress, UpCast!(GObject2.Value*)(value));
4488 // VERSION: 1.2
4489 // Sets an external timeline that will be used for driving the animation
4490 // <timeline>: a #ClutterTimeline
4491 void set_timeline(AT0)(AT0 /*Timeline*/ timeline) nothrow {
4492 clutter_animator_set_timeline(&this, UpCast!(Timeline*)(timeline));
4495 // VERSION: 1.2
4496 // Start the ClutterAnimator, this is a thin wrapper that rewinds
4497 // and starts the animators current timeline.
4499 // the animator. The returned timeline is owned by the #ClutterAnimator
4500 // and it should not be unreferenced
4501 // RETURNS: the #ClutterTimeline that drives
4502 Timeline* start()() nothrow {
4503 return clutter_animator_start(&this);
4507 // The #ClutterAnimatorClass structure contains only private data
4508 struct AnimatorClass /* Version 1.2 */ {
4509 private GObject2.ObjectClass parent_class;
4510 private void*[16] _padding_dummy;
4513 // A key frame inside a #ClutterAnimator
4514 struct AnimatorKey /* Version 1.2 */ {
4516 // VERSION: 1.2
4517 // Retrieves the mode of a #ClutterAnimator key, for the first key of a
4518 // property for an object this represents the whether the animation is
4519 // open ended and or curved for the remainding keys for the property it
4520 // represents the easing mode.
4521 // RETURNS: the mode of a #ClutterAnimatorKey
4522 c_ulong get_mode()() nothrow {
4523 return clutter_animator_key_get_mode(&this);
4526 // VERSION: 1.2
4527 // Retrieves the object a key applies to.
4528 // RETURNS: the object an animator_key exist for.
4529 GObject2.Object* get_object()() nothrow {
4530 return clutter_animator_key_get_object(&this);
4533 // VERSION: 1.2
4534 // Retrieves the progress of an clutter_animator_key
4535 // RETURNS: the progress defined for a #ClutterAnimator key.
4536 double get_progress()() nothrow {
4537 return clutter_animator_key_get_progress(&this);
4540 // VERSION: 1.2
4541 // Retrieves the name of the property a key applies to.
4542 // RETURNS: the name of the property an animator_key exist for.
4543 char* get_property_name()() nothrow {
4544 return clutter_animator_key_get_property_name(&this);
4547 // VERSION: 1.2
4548 // Retrieves the #GType of the property a key applies to
4550 // You can use this type to initialize the #GValue to pass to
4551 // clutter_animator_key_get_value()
4552 // RETURNS: the #GType of the property
4553 Type get_property_type()() nothrow {
4554 return clutter_animator_key_get_property_type(&this);
4557 // VERSION: 1.2
4558 // Retrieves a copy of the value for a #ClutterAnimatorKey.
4560 // The passed in #GValue needs to be already initialized for the value
4561 // type of the key or to a type that allow transformation from the value
4562 // type of the key.
4564 // Use g_value_unset() when done.
4566 // %FALSE otherwise
4567 // RETURNS: %TRUE if the passed #GValue was successfully set, and
4568 // <value>: a #GValue initialized with the correct type for the animator key
4569 int get_value(AT0)(AT0 /*GObject2.Value*/ value) nothrow {
4570 return clutter_animator_key_get_value(&this, UpCast!(GObject2.Value*)(value));
4574 struct AnimatorPrivate {
4577 // Common members for a #ClutterEvent
4578 struct AnyEvent /* Version 0.2 */ {
4579 EventType type;
4580 uint time;
4581 EventFlags flags;
4582 Stage* stage;
4583 Actor* source;
4586 enum int Aogonek = 417;
4587 enum int ApplicationLeft = 269025104;
4588 enum int ApplicationRight = 269025105;
4589 enum int Arabic_0 = 16778848;
4590 enum int Arabic_1 = 16778849;
4591 enum int Arabic_2 = 16778850;
4592 enum int Arabic_3 = 16778851;
4593 enum int Arabic_4 = 16778852;
4594 enum int Arabic_5 = 16778853;
4595 enum int Arabic_6 = 16778854;
4596 enum int Arabic_7 = 16778855;
4597 enum int Arabic_8 = 16778856;
4598 enum int Arabic_9 = 16778857;
4599 enum int Arabic_ain = 1497;
4600 enum int Arabic_alef = 1479;
4601 enum int Arabic_alefmaksura = 1513;
4602 enum int Arabic_beh = 1480;
4603 enum int Arabic_comma = 1452;
4604 enum int Arabic_dad = 1494;
4605 enum int Arabic_dal = 1487;
4606 enum int Arabic_damma = 1519;
4607 enum int Arabic_dammatan = 1516;
4608 enum int Arabic_ddal = 16778888;
4609 enum int Arabic_farsi_yeh = 16778956;
4610 enum int Arabic_fatha = 1518;
4611 enum int Arabic_fathatan = 1515;
4612 enum int Arabic_feh = 1505;
4613 enum int Arabic_fullstop = 16778964;
4614 enum int Arabic_gaf = 16778927;
4615 enum int Arabic_ghain = 1498;
4616 enum int Arabic_ha = 1511;
4617 enum int Arabic_hah = 1485;
4618 enum int Arabic_hamza = 1473;
4619 enum int Arabic_hamza_above = 16778836;
4620 enum int Arabic_hamza_below = 16778837;
4621 enum int Arabic_hamzaonalef = 1475;
4622 enum int Arabic_hamzaonwaw = 1476;
4623 enum int Arabic_hamzaonyeh = 1478;
4624 enum int Arabic_hamzaunderalef = 1477;
4625 enum int Arabic_heh = 1511;
4626 enum int Arabic_heh_doachashmee = 16778942;
4627 enum int Arabic_heh_goal = 16778945;
4628 enum int Arabic_jeem = 1484;
4629 enum int Arabic_jeh = 16778904;
4630 enum int Arabic_kaf = 1507;
4631 enum int Arabic_kasra = 1520;
4632 enum int Arabic_kasratan = 1517;
4633 enum int Arabic_keheh = 16778921;
4634 enum int Arabic_khah = 1486;
4635 enum int Arabic_lam = 1508;
4636 enum int Arabic_madda_above = 16778835;
4637 enum int Arabic_maddaonalef = 1474;
4638 enum int Arabic_meem = 1509;
4639 enum int Arabic_noon = 1510;
4640 enum int Arabic_noon_ghunna = 16778938;
4641 enum int Arabic_peh = 16778878;
4642 enum int Arabic_percent = 16778858;
4643 enum int Arabic_qaf = 1506;
4644 enum int Arabic_question_mark = 1471;
4645 enum int Arabic_ra = 1489;
4646 enum int Arabic_rreh = 16778897;
4647 enum int Arabic_sad = 1493;
4648 enum int Arabic_seen = 1491;
4649 enum int Arabic_semicolon = 1467;
4650 enum int Arabic_shadda = 1521;
4651 enum int Arabic_sheen = 1492;
4652 enum int Arabic_sukun = 1522;
4653 enum int Arabic_superscript_alef = 16778864;
4654 enum int Arabic_switch = 65406;
4655 enum int Arabic_tah = 1495;
4656 enum int Arabic_tatweel = 1504;
4657 enum int Arabic_tcheh = 16778886;
4658 enum int Arabic_teh = 1482;
4659 enum int Arabic_tehmarbuta = 1481;
4660 enum int Arabic_thal = 1488;
4661 enum int Arabic_theh = 1483;
4662 enum int Arabic_tteh = 16778873;
4663 enum int Arabic_veh = 16778916;
4664 enum int Arabic_waw = 1512;
4665 enum int Arabic_yeh = 1514;
4666 enum int Arabic_yeh_baree = 16778962;
4667 enum int Arabic_zah = 1496;
4668 enum int Arabic_zain = 1490;
4669 enum int Aring = 197;
4670 enum int Armenian_AT = 16778552;
4671 enum int Armenian_AYB = 16778545;
4672 enum int Armenian_BEN = 16778546;
4673 enum int Armenian_CHA = 16778569;
4674 enum int Armenian_DA = 16778548;
4675 enum int Armenian_DZA = 16778561;
4676 enum int Armenian_E = 16778551;
4677 enum int Armenian_FE = 16778582;
4678 enum int Armenian_GHAT = 16778562;
4679 enum int Armenian_GIM = 16778547;
4680 enum int Armenian_HI = 16778565;
4681 enum int Armenian_HO = 16778560;
4682 enum int Armenian_INI = 16778555;
4683 enum int Armenian_JE = 16778571;
4684 enum int Armenian_KE = 16778580;
4685 enum int Armenian_KEN = 16778559;
4686 enum int Armenian_KHE = 16778557;
4687 enum int Armenian_LYUN = 16778556;
4688 enum int Armenian_MEN = 16778564;
4689 enum int Armenian_NU = 16778566;
4690 enum int Armenian_O = 16778581;
4691 enum int Armenian_PE = 16778570;
4692 enum int Armenian_PYUR = 16778579;
4693 enum int Armenian_RA = 16778572;
4694 enum int Armenian_RE = 16778576;
4695 enum int Armenian_SE = 16778573;
4696 enum int Armenian_SHA = 16778567;
4697 enum int Armenian_TCHE = 16778563;
4698 enum int Armenian_TO = 16778553;
4699 enum int Armenian_TSA = 16778558;
4700 enum int Armenian_TSO = 16778577;
4701 enum int Armenian_TYUN = 16778575;
4702 enum int Armenian_VEV = 16778574;
4703 enum int Armenian_VO = 16778568;
4704 enum int Armenian_VYUN = 16778578;
4705 enum int Armenian_YECH = 16778549;
4706 enum int Armenian_ZA = 16778550;
4707 enum int Armenian_ZHE = 16778554;
4708 enum int Armenian_accent = 16778587;
4709 enum int Armenian_amanak = 16778588;
4710 enum int Armenian_apostrophe = 16778586;
4711 enum int Armenian_at = 16778600;
4712 enum int Armenian_ayb = 16778593;
4713 enum int Armenian_ben = 16778594;
4714 enum int Armenian_but = 16778589;
4715 enum int Armenian_cha = 16778617;
4716 enum int Armenian_da = 16778596;
4717 enum int Armenian_dza = 16778609;
4718 enum int Armenian_e = 16778599;
4719 enum int Armenian_exclam = 16778588;
4720 enum int Armenian_fe = 16778630;
4721 enum int Armenian_full_stop = 16778633;
4722 enum int Armenian_ghat = 16778610;
4723 enum int Armenian_gim = 16778595;
4724 enum int Armenian_hi = 16778613;
4725 enum int Armenian_ho = 16778608;
4726 enum int Armenian_hyphen = 16778634;
4727 enum int Armenian_ini = 16778603;
4728 enum int Armenian_je = 16778619;
4729 enum int Armenian_ke = 16778628;
4730 enum int Armenian_ken = 16778607;
4731 enum int Armenian_khe = 16778605;
4732 enum int Armenian_ligature_ew = 16778631;
4733 enum int Armenian_lyun = 16778604;
4734 enum int Armenian_men = 16778612;
4735 enum int Armenian_nu = 16778614;
4736 enum int Armenian_o = 16778629;
4737 enum int Armenian_paruyk = 16778590;
4738 enum int Armenian_pe = 16778618;
4739 enum int Armenian_pyur = 16778627;
4740 enum int Armenian_question = 16778590;
4741 enum int Armenian_ra = 16778620;
4742 enum int Armenian_re = 16778624;
4743 enum int Armenian_se = 16778621;
4744 enum int Armenian_separation_mark = 16778589;
4745 enum int Armenian_sha = 16778615;
4746 enum int Armenian_shesht = 16778587;
4747 enum int Armenian_tche = 16778611;
4748 enum int Armenian_to = 16778601;
4749 enum int Armenian_tsa = 16778606;
4750 enum int Armenian_tso = 16778625;
4751 enum int Armenian_tyun = 16778623;
4752 enum int Armenian_verjaket = 16778633;
4753 enum int Armenian_vev = 16778622;
4754 enum int Armenian_vo = 16778616;
4755 enum int Armenian_vyun = 16778626;
4756 enum int Armenian_yech = 16778597;
4757 enum int Armenian_yentamna = 16778634;
4758 enum int Armenian_za = 16778598;
4759 enum int Armenian_zhe = 16778602;
4760 enum int Atilde = 195;
4761 enum int AudibleBell_Enable = 65146;
4762 enum int AudioCycleTrack = 269025179;
4763 enum int AudioForward = 269025175;
4764 enum int AudioLowerVolume = 269025041;
4765 enum int AudioMedia = 269025074;
4766 enum int AudioMute = 269025042;
4767 enum int AudioNext = 269025047;
4768 enum int AudioPause = 269025073;
4769 enum int AudioPlay = 269025044;
4770 enum int AudioPrev = 269025046;
4771 enum int AudioRaiseVolume = 269025043;
4772 enum int AudioRandomPlay = 269025177;
4773 enum int AudioRecord = 269025052;
4774 enum int AudioRepeat = 269025176;
4775 enum int AudioRewind = 269025086;
4776 enum int AudioStop = 269025045;
4777 enum int Away = 269025165;
4778 enum int B = 66;
4779 enum int BUTTON_MIDDLE = 2;
4780 enum int BUTTON_PRIMARY = 1;
4781 enum int BUTTON_SECONDARY = 3;
4782 enum int Babovedot = 16784898;
4783 enum int Back = 269025062;
4784 enum int BackForward = 269025087;
4785 enum int BackSpace = 65288;
4787 // <structname>ClutterBackend</structname> is an opaque structure whose
4788 // members cannot be directly accessed.
4789 struct Backend /* : GObject.Object */ /* Version 0.4 */ {
4790 alias method_parent this;
4791 alias method_parent super_;
4792 alias method_parent object;
4793 GObject2.Object method_parent;
4796 // VERSION: 0.4
4797 // DEPRECATED (v1.4) method: get_double_click_distance - Use #ClutterSettings:double-click-distance instead
4798 // Retrieves the distance used to verify a double click event
4799 // RETURNS: a distance, in pixels.
4800 uint get_double_click_distance()() nothrow {
4801 return clutter_backend_get_double_click_distance(&this);
4804 // VERSION: 0.4
4805 // DEPRECATED (v1.4) method: get_double_click_time - Use #ClutterSettings:double-click-time instead
4806 // Gets the maximum time between two button press events, as set
4807 // by clutter_backend_set_double_click_time().
4808 // RETURNS: a time in milliseconds
4809 uint get_double_click_time()() nothrow {
4810 return clutter_backend_get_double_click_time(&this);
4813 // VERSION: 1.0
4814 // DEPRECATED (v1.4) method: get_font_name - Use #ClutterSettings:font-name instead
4815 // Retrieves the default font name as set by
4816 // clutter_backend_set_font_name().
4818 // owned by the #ClutterBackend and should never be modified or freed
4819 // RETURNS: the font name for the backend. The returned string is
4820 char* get_font_name()() nothrow {
4821 return clutter_backend_get_font_name(&this);
4824 // VERSION: 0.8
4825 // Retrieves the font options for @backend.
4827 // The returned #cairo_font_options_t is owned by the backend and should
4828 // not be modified or freed
4829 // RETURNS: the font options of the #ClutterBackend.
4830 cairo.FontOptions* get_font_options()() nothrow {
4831 return clutter_backend_get_font_options(&this);
4834 // VERSION: 0.4
4835 // Gets the resolution for font handling on the screen.
4837 // The resolution is a scale factor between points specified in a
4838 // #PangoFontDescription and cairo units. The default value is 96.0,
4839 // meaning that a 10 point font will be 13 units
4840 // high (10 * 96. / 72. = 13.3).
4842 // Clutter will set the resolution using the current backend when
4843 // initializing; the resolution is also stored in the
4844 // #ClutterSettings:font-dpi property.
4846 // has been set.
4847 // RETURNS: the current resolution, or -1 if no resolution
4848 double get_resolution()() nothrow {
4849 return clutter_backend_get_resolution(&this);
4852 // VERSION: 0.4
4853 // DEPRECATED (v1.4) method: set_double_click_distance - Use #ClutterSettings:double-click-distance instead
4854 // Sets the maximum distance used to verify a double click event.
4855 // <distance>: a distance, in pixels
4856 void set_double_click_distance()(uint distance) nothrow {
4857 clutter_backend_set_double_click_distance(&this, distance);
4860 // VERSION: 0.4
4861 // DEPRECATED (v1.4) method: set_double_click_time - Use #ClutterSettings:double-click-time instead
4862 // Sets the maximum time between two button press events, used to
4863 // verify whether it's a double click event or not.
4864 // <msec>: milliseconds between two button press events
4865 void set_double_click_time()(uint msec) nothrow {
4866 clutter_backend_set_double_click_time(&this, msec);
4869 // VERSION: 1.0
4870 // DEPRECATED (v1.4) method: set_font_name - Use #ClutterSettings:font-name instead
4871 // Sets the default font to be used by Clutter. The @font_name string
4872 // must either be %NULL, which means that the font name from the
4873 // default #ClutterBackend will be used; or be something that can
4874 // be parsed by the pango_font_description_from_string() function.
4875 // <font_name>: the name of the font
4876 void set_font_name(AT0)(AT0 /*char*/ font_name) nothrow {
4877 clutter_backend_set_font_name(&this, toCString!(char*)(font_name));
4880 // VERSION: 0.8
4881 // Sets the new font options for @backend. The #ClutterBackend will
4882 // copy the #cairo_font_options_t.
4884 // If @options is %NULL, the first following call to
4885 // clutter_backend_get_font_options() will return the default font
4886 // options for @backend.
4888 // This function is intended for actors creating a Pango layout
4889 // using the PangoCairo API.
4890 // <options>: Cairo font options for the backend, or %NULL
4891 void set_font_options(AT0)(AT0 /*cairo.FontOptions*/ options) nothrow {
4892 clutter_backend_set_font_options(&this, UpCast!(cairo.FontOptions*)(options));
4895 // VERSION: 0.4
4896 // DEPRECATED method: set_resolution - Use #ClutterSettings:font-dpi instead
4897 // Sets the resolution for font handling on the screen. This is a
4898 // scale factor between points specified in a #PangoFontDescription
4899 // and cairo units. The default value is 96, meaning that a 10 point
4900 // font will be 13 units high. (10 * 96. / 72. = 13.3).
4902 // Applications should never need to call this function.
4903 // <dpi>: the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional).
4904 void set_resolution()(double dpi) nothrow {
4905 clutter_backend_set_resolution(&this, dpi);
4908 // VERSION: 1.0
4909 // The ::font-changed signal is emitted each time the font options
4910 // have been changed through #ClutterSettings.
4911 extern (C) alias static void function (Backend* this_, void* user_data=null) nothrow signal_font_changed;
4913 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4914 return super_.signal_connect!name(cb, data, cf);
4917 ulong signal_connect(string name:"font-changed", CB/*:signal_font_changed*/)
4918 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
4919 if (is(typeof(cb)==signal_font_changed)||_ttmm!(CB, signal_font_changed)()) {
4920 return signal_connect_data!()(&this, cast(char*)"font-changed",
4921 cast(GObject2.Callback)cb, data, null, cf);
4924 // VERSION: 1.0
4925 // The ::resolution-changed signal is emitted each time the font
4926 // resolutions has been changed through #ClutterSettings.
4927 extern (C) alias static void function (Backend* this_, void* user_data=null) nothrow signal_resolution_changed;
4928 ulong signal_connect(string name:"resolution-changed", CB/*:signal_resolution_changed*/)
4929 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
4930 if (is(typeof(cb)==signal_resolution_changed)||_ttmm!(CB, signal_resolution_changed)()) {
4931 return signal_connect_data!()(&this, cast(char*)"resolution-changed",
4932 cast(GObject2.Callback)cb, data, null, cf);
4935 // VERSION: 1.4
4936 // The ::settings-changed signal is emitted each time the #ClutterSettings
4937 // properties have been changed.
4938 extern (C) alias static void function (Backend* this_, void* user_data=null) nothrow signal_settings_changed;
4939 ulong signal_connect(string name:"settings-changed", CB/*:signal_settings_changed*/)
4940 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
4941 if (is(typeof(cb)==signal_settings_changed)||_ttmm!(CB, signal_settings_changed)()) {
4942 return signal_connect_data!()(&this, cast(char*)"settings-changed",
4943 cast(GObject2.Callback)cb, data, null, cf);
4947 struct BackendClass {
4950 enum int Battery = 269025171;
4951 enum int Begin = 65368;
4953 // #ClutterBehaviour-struct contains only private data and should
4954 // be accessed with the functions below.
4955 struct Behaviour /* : GObject.Object */ /* Version 0.2 */ {
4956 mixin Scriptable.__interface__;
4957 alias parent this;
4958 alias parent super_;
4959 alias parent object;
4960 GObject2.Object parent;
4961 private BehaviourPrivate* priv;
4964 // VERSION: 0.2
4965 // DEPRECATED method: actors_foreach - 1.6
4966 // Calls @func for every actor driven by @behave.
4967 // <func>: a function called for each actor
4968 // <data>: optional data to be passed to the function, or %NULL
4969 void actors_foreach(AT0)(BehaviourForeachFunc func, AT0 /*void*/ data) nothrow {
4970 clutter_behaviour_actors_foreach(&this, func, UpCast!(void*)(data));
4973 // VERSION: 0.2
4974 // DEPRECATED method: apply - 1.6
4975 // Applies @behave to @actor. This function adds a reference on
4976 // the actor.
4977 // <actor>: a #ClutterActor
4978 void apply(AT0)(AT0 /*Actor*/ actor) nothrow {
4979 clutter_behaviour_apply(&this, UpCast!(Actor*)(actor));
4982 // VERSION: 0.2
4983 // DEPRECATED method: get_actors - 1.6
4984 // Retrieves all the actors to which @behave applies. It is not recommended
4985 // for derived classes to use this in there alpha notify method but use
4986 // #clutter_behaviour_actors_foreach as it avoids alot of needless allocations.
4988 // actors. You should free the returned list with g_slist_free() when
4989 // finished using it.
4990 // RETURNS: a list of
4991 GLib2.SList* /*new container*/ get_actors()() nothrow {
4992 return clutter_behaviour_get_actors(&this);
4995 // VERSION: 0.2
4996 // DEPRECATED method: get_alpha - 1.6
4997 // Retrieves the #ClutterAlpha object bound to @behave.
4999 // object has been bound to this behaviour.
5000 // RETURNS: a #ClutterAlpha object, or %NULL if no alpha
5001 Alpha* get_alpha()() nothrow {
5002 return clutter_behaviour_get_alpha(&this);
5005 // VERSION: 0.2
5006 // DEPRECATED method: get_n_actors - 1.6
5007 // Gets the number of actors this behaviour is applied too.
5008 // RETURNS: The number of applied actors
5009 int get_n_actors()() nothrow {
5010 return clutter_behaviour_get_n_actors(&this);
5013 // VERSION: 0.2
5014 // DEPRECATED method: get_nth_actor - 1.6
5015 // Gets an actor the behaviour was applied to referenced by index num.
5016 // RETURNS: A Clutter actor or NULL if @index_ is invalid.
5017 // <index_>: the index of an actor this behaviour is applied too.
5018 Actor* get_nth_actor()(int index_) nothrow {
5019 return clutter_behaviour_get_nth_actor(&this, index_);
5022 // VERSION: 0.4
5023 // DEPRECATED method: is_applied - 1.6
5024 // Check if @behave applied to @actor.
5025 // RETURNS: TRUE if actor has behaviour. FALSE otherwise.
5026 // <actor>: a #ClutterActor
5027 int is_applied(AT0)(AT0 /*Actor*/ actor) nothrow {
5028 return clutter_behaviour_is_applied(&this, UpCast!(Actor*)(actor));
5031 // VERSION: 0.2
5032 // DEPRECATED method: remove - 1.6
5033 // Removes @actor from the list of #ClutterActor<!-- -->s to which
5034 // @behave applies. This function removes a reference on the actor.
5035 // <actor>: a #ClutterActor
5036 void remove(AT0)(AT0 /*Actor*/ actor) nothrow {
5037 clutter_behaviour_remove(&this, UpCast!(Actor*)(actor));
5040 // VERSION: 0.4
5041 // DEPRECATED method: remove_all - 1.6
5042 // Removes every actor from the list that @behave holds.
5043 void remove_all()() nothrow {
5044 clutter_behaviour_remove_all(&this);
5047 // VERSION: 0.2
5048 // DEPRECATED method: set_alpha - 1.6
5049 // Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object
5050 // is what makes a behaviour work: for each tick of the timeline
5051 // used by #ClutterAlpha a new value of the alpha parameter is
5052 // computed by the alpha function; the value should be used by
5053 // the #ClutterBehaviour to update one or more properties of the
5054 // actors to which the behaviour applies.
5056 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5057 // of the #ClutterAlpha instance.
5058 // <alpha>: a #ClutterAlpha or %NULL to unset a previously set alpha
5059 void set_alpha(AT0)(AT0 /*Alpha*/ alpha) nothrow {
5060 clutter_behaviour_set_alpha(&this, UpCast!(Alpha*)(alpha));
5063 // VERSION: 0.4
5064 // DEPRECATED glib:signal: applied - 1.6
5065 // The ::apply signal is emitted each time the behaviour is applied
5066 // to an actor.
5067 // <actor>: the actor the behaviour was applied to.
5068 extern (C) alias static void function (Behaviour* this_, Actor* actor, void* user_data=null) nothrow signal_applied;
5070 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5071 return super_.signal_connect!name(cb, data, cf);
5074 ulong signal_connect(string name:"applied", CB/*:signal_applied*/)
5075 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
5076 if (is(typeof(cb)==signal_applied)||_ttmm!(CB, signal_applied)()) {
5077 return signal_connect_data!()(&this, cast(char*)"applied",
5078 cast(GObject2.Callback)cb, data, null, cf);
5081 // VERSION: 0.4
5082 // DEPRECATED glib:signal: removed - 1.6
5083 // The ::removed signal is emitted each time a behaviour is not applied
5084 // to an actor anymore.
5085 // <actor>: the removed actor
5086 extern (C) alias static void function (Behaviour* this_, Actor* actor, void* user_data=null) nothrow signal_removed;
5087 ulong signal_connect(string name:"removed", CB/*:signal_removed*/)
5088 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
5089 if (is(typeof(cb)==signal_removed)||_ttmm!(CB, signal_removed)()) {
5090 return signal_connect_data!()(&this, cast(char*)"removed",
5091 cast(GObject2.Callback)cb, data, null, cf);
5095 // Base class for behaviours.
5096 struct BehaviourClass /* Version 0.2 */ {
5097 private GObject2.ObjectClass parent_class;
5098 extern (C) void function (Behaviour* behave, double alpha_value) nothrow alpha_notify;
5099 extern (C) void function (Behaviour* behave, Actor* actor) nothrow applied;
5100 extern (C) void function (Behaviour* behave, Actor* actor) nothrow removed;
5101 extern (C) void function () nothrow _clutter_behaviour1;
5102 extern (C) void function () nothrow _clutter_behaviour2;
5103 extern (C) void function () nothrow _clutter_behaviour3;
5104 extern (C) void function () nothrow _clutter_behaviour4;
5105 extern (C) void function () nothrow _clutter_behaviour5;
5106 extern (C) void function () nothrow _clutter_behaviour6;
5110 // The #ClutterBehaviourDepth structure contains only private data
5111 // and should be accessed using the provided API
5114 // instead.
5115 struct BehaviourDepth /* : Behaviour */ /* Version 0.2 */ {
5116 mixin Scriptable.__interface__;
5117 alias parent_instance this;
5118 alias parent_instance super_;
5119 alias parent_instance behaviour;
5120 Behaviour parent_instance;
5121 private BehaviourDepthPrivate* priv;
5124 // VERSION: 0.4
5125 // DEPRECATED constructor: new - 1.6
5126 // Creates a new #ClutterBehaviourDepth which can be used to control
5127 // the ClutterActor:depth property of a set of #ClutterActor<!-- -->s.
5129 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5130 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5131 // it can be set later with clutter_behaviour_set_alpha().
5132 // RETURNS: the newly created behaviour
5133 // <alpha>: a #ClutterAlpha instance, or %NULL
5134 // <depth_start>: initial value of the depth
5135 // <depth_end>: final value of the depth
5136 static BehaviourDepth* /*new*/ new_(AT0)(AT0 /*Alpha*/ alpha, int depth_start, int depth_end) nothrow {
5137 return clutter_behaviour_depth_new(UpCast!(Alpha*)(alpha), depth_start, depth_end);
5139 static auto opCall(AT0)(AT0 /*Alpha*/ alpha, int depth_start, int depth_end) {
5140 return clutter_behaviour_depth_new(UpCast!(Alpha*)(alpha), depth_start, depth_end);
5143 // VERSION: 0.6
5144 // DEPRECATED method: get_bounds - 1.6
5145 // Gets the boundaries of the @behaviour
5146 // <depth_start>: return location for the initial depth value, or %NULL
5147 // <depth_end>: return location for the final depth value, or %NULL
5148 void get_bounds()(/*out*/ int* depth_start, /*out*/ int* depth_end) nothrow {
5149 clutter_behaviour_depth_get_bounds(&this, depth_start, depth_end);
5152 // VERSION: 0.6
5153 // DEPRECATED method: set_bounds - 1.6
5154 // Sets the boundaries of the @behaviour.
5155 // <depth_start>: initial value of the depth
5156 // <depth_end>: final value of the depth
5157 void set_bounds()(int depth_start, int depth_end) nothrow {
5158 clutter_behaviour_depth_set_bounds(&this, depth_start, depth_end);
5162 // The #ClutterBehaviourDepthClass structure contains only private data
5163 struct BehaviourDepthClass /* Version 0.2 */ {
5164 private BehaviourClass parent_class;
5167 struct BehaviourDepthPrivate {
5171 // The #ClutterBehaviourEllipse struct contains only private data
5172 // and should be accessed using the provided API
5173 struct BehaviourEllipse /* : Behaviour */ /* Version 0.4 */ {
5174 mixin Scriptable.__interface__;
5175 alias parent_instance this;
5176 alias parent_instance super_;
5177 alias parent_instance behaviour;
5178 Behaviour parent_instance;
5179 private BehaviourEllipsePrivate* priv;
5182 // VERSION: 0.4
5183 // Creates a behaviour that drives actors along an elliptical path with
5184 // given center, width and height; the movement starts at @start
5185 // degrees (with 0 corresponding to 12 o'clock) and ends at @end
5186 // degrees. Angles greated than 360 degrees get clamped to the canonical
5187 // interval <0, 360); if @start is equal to @end, the behaviour will
5188 // rotate by exacly 360 degrees.
5190 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5191 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5192 // it can be set later with clutter_behaviour_set_alpha().
5193 // RETURNS: the newly created #ClutterBehaviourEllipse
5194 // <alpha>: a #ClutterAlpha instance, or %NULL
5195 // <x>: x coordinace of the center
5196 // <y>: y coordiance of the center
5197 // <width>: width of the ellipse
5198 // <height>: height of the ellipse
5199 // <direction>: #ClutterRotateDirection of rotation
5200 // <start>: angle in degrees at which movement starts, between 0 and 360
5201 // <end>: angle in degrees at which movement ends, between 0 and 360
5202 static BehaviourEllipse* /*new*/ new_(AT0)(AT0 /*Alpha*/ alpha, int x, int y, int width, int height, RotateDirection direction, double start, double end) nothrow {
5203 return clutter_behaviour_ellipse_new(UpCast!(Alpha*)(alpha), x, y, width, height, direction, start, end);
5205 static auto opCall(AT0)(AT0 /*Alpha*/ alpha, int x, int y, int width, int height, RotateDirection direction, double start, double end) {
5206 return clutter_behaviour_ellipse_new(UpCast!(Alpha*)(alpha), x, y, width, height, direction, start, end);
5209 // VERSION: 0.4
5210 // Gets the at which movements ends.
5211 // RETURNS: angle in degrees
5212 double get_angle_end()() nothrow {
5213 return clutter_behaviour_ellipse_get_angle_end(&this);
5216 // VERSION: 0.6
5217 // Gets the angle at which movements starts.
5218 // RETURNS: angle in degrees
5219 double get_angle_start()() nothrow {
5220 return clutter_behaviour_ellipse_get_angle_start(&this);
5223 // VERSION: 0.4
5224 // Gets the tilt of the ellipse around the center in the given axis.
5225 // RETURNS: angle in degrees.
5226 // <axis>: a #ClutterRotateAxis
5227 double get_angle_tilt()(RotateAxis axis) nothrow {
5228 return clutter_behaviour_ellipse_get_angle_tilt(&this, axis);
5231 // VERSION: 0.4
5232 // Gets the center of the elliptical path path.
5233 // <x>: return location for the X coordinate of the center, or %NULL
5234 // <y>: return location for the Y coordinate of the center, or %NULL
5235 void get_center()(/*out*/ int* x, /*out*/ int* y) nothrow {
5236 clutter_behaviour_ellipse_get_center(&this, x, y);
5239 // VERSION: 0.4
5240 // Retrieves the #ClutterRotateDirection used by the ellipse behaviour.
5241 // RETURNS: the rotation direction
5242 RotateDirection get_direction()() nothrow {
5243 return clutter_behaviour_ellipse_get_direction(&this);
5246 // VERSION: 0.4
5247 // Gets the height of the elliptical path.
5248 // RETURNS: the height of the path
5249 int get_height()() nothrow {
5250 return clutter_behaviour_ellipse_get_height(&this);
5253 // VERSION: 0.4
5254 // Gets the tilt of the ellipse around the center in Y axis.
5255 // <angle_tilt_x>: return location for tilt angle on the X axis, or %NULL.
5256 // <angle_tilt_y>: return location for tilt angle on the Y axis, or %NULL.
5257 // <angle_tilt_z>: return location for tilt angle on the Z axis, or %NULL.
5258 void get_tilt(AT0, AT1, AT2)(/*out*/ AT0 /*double*/ angle_tilt_x, /*out*/ AT1 /*double*/ angle_tilt_y, /*out*/ AT2 /*double*/ angle_tilt_z) nothrow {
5259 clutter_behaviour_ellipse_get_tilt(&this, UpCast!(double*)(angle_tilt_x), UpCast!(double*)(angle_tilt_y), UpCast!(double*)(angle_tilt_z));
5262 // VERSION: 0.4
5263 // Gets the width of the elliptical path.
5264 // RETURNS: the width of the path
5265 int get_width()() nothrow {
5266 return clutter_behaviour_ellipse_get_width(&this);
5269 // VERSION: 0.4
5270 // Sets the angle at which movement ends; angles >= 360 degress get clamped
5271 // to the canonical interval <0, 360).
5272 // <angle_end>: angle at which movement ends in degrees, between 0 and 360.
5273 void set_angle_end()(double angle_end) nothrow {
5274 clutter_behaviour_ellipse_set_angle_end(&this, angle_end);
5277 // VERSION: 0.6
5278 // Sets the angle at which movement starts; angles >= 360 degress get clamped
5279 // to the canonical interval <0, 360).
5280 // <angle_start>: angle at which movement starts in degrees, between 0 and 360.
5281 void set_angle_start()(double angle_start) nothrow {
5282 clutter_behaviour_ellipse_set_angle_start(&this, angle_start);
5285 // VERSION: 0.4
5286 // Sets the angle at which the ellipse should be tilted around it's center.
5287 // <axis>: a #ClutterRotateAxis
5288 // <angle_tilt>: tilt of the elipse around the center in the given axis in degrees.
5289 void set_angle_tilt()(RotateAxis axis, double angle_tilt) nothrow {
5290 clutter_behaviour_ellipse_set_angle_tilt(&this, axis, angle_tilt);
5293 // VERSION: 0.4
5294 // Sets the center of the elliptical path to the point represented by knot.
5295 // <x>: x coordinace of centre
5296 // <y>: y coordinace of centre
5297 void set_center()(int x, int y) nothrow {
5298 clutter_behaviour_ellipse_set_center(&this, x, y);
5301 // VERSION: 0.4
5302 // Sets the rotation direction used by the ellipse behaviour.
5303 // <direction>: the rotation direction
5304 void set_direction()(RotateDirection direction) nothrow {
5305 clutter_behaviour_ellipse_set_direction(&this, direction);
5308 // VERSION: 0.4
5309 // Sets the height of the elliptical path.
5310 // <height>: height of the ellipse
5311 void set_height()(int height) nothrow {
5312 clutter_behaviour_ellipse_set_height(&this, height);
5315 // VERSION: 0.4
5316 // Sets the angles at which the ellipse should be tilted around it's center.
5317 // <angle_tilt_x>: tilt of the elipse around the center in X axis in degrees.
5318 // <angle_tilt_y>: tilt of the elipse around the center in Y axis in degrees.
5319 // <angle_tilt_z>: tilt of the elipse around the center in Z axis in degrees.
5320 void set_tilt()(double angle_tilt_x, double angle_tilt_y, double angle_tilt_z) nothrow {
5321 clutter_behaviour_ellipse_set_tilt(&this, angle_tilt_x, angle_tilt_y, angle_tilt_z);
5324 // VERSION: 0.4
5325 // Sets the width of the elliptical path.
5326 // <width>: width of the ellipse
5327 void set_width()(int width) nothrow {
5328 clutter_behaviour_ellipse_set_width(&this, width);
5332 // The #ClutterBehaviourEllipseClass struct contains only private data
5333 struct BehaviourEllipseClass /* Version 0.4 */ {
5334 private BehaviourClass parent_class;
5337 struct BehaviourEllipsePrivate {
5341 // VERSION: 0.2
5342 // DEPRECATED callback: BehaviourForeachFunc - 1.6
5343 // This function is passed to clutter_behaviour_actors_foreach() and
5344 // will be called for each actor driven by @behaviour.
5345 // <behaviour>: the #ClutterBehaviour
5346 // <actor>: an actor driven by @behaviour
5347 // <data>: optional data passed to the function
5348 extern (C) alias void function (Behaviour* behaviour, Actor* actor, void* data) nothrow BehaviourForeachFunc;
5351 // The #ClutterBehaviourOpacity structure contains only private data and
5352 // should be accessed using the provided API
5355 // instead.
5356 struct BehaviourOpacity /* : Behaviour */ /* Version 0.2 */ {
5357 mixin Scriptable.__interface__;
5358 alias parent this;
5359 alias parent super_;
5360 alias parent behaviour;
5361 Behaviour parent;
5362 private BehaviourOpacityPrivate* priv;
5365 // VERSION: 0.2
5366 // DEPRECATED constructor: new - 1.6
5367 // Creates a new #ClutterBehaviourOpacity object, driven by @alpha
5368 // which controls the opacity property of every actor, making it
5369 // change in the interval between @opacity_start and @opacity_end.
5371 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5372 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5373 // it can be set later with clutter_behaviour_set_alpha().
5374 // RETURNS: the newly created #ClutterBehaviourOpacity
5375 // <alpha>: a #ClutterAlpha instance, or %NULL
5376 // <opacity_start>: minimum level of opacity
5377 // <opacity_end>: maximum level of opacity
5378 static BehaviourOpacity* /*new*/ new_(AT0)(AT0 /*Alpha*/ alpha, ubyte opacity_start, ubyte opacity_end) nothrow {
5379 return clutter_behaviour_opacity_new(UpCast!(Alpha*)(alpha), opacity_start, opacity_end);
5381 static auto opCall(AT0)(AT0 /*Alpha*/ alpha, ubyte opacity_start, ubyte opacity_end) {
5382 return clutter_behaviour_opacity_new(UpCast!(Alpha*)(alpha), opacity_start, opacity_end);
5385 // VERSION: 0.6
5386 // DEPRECATED method: get_bounds - 1.6
5387 // Gets the initial and final levels of the opacity applied by @behaviour
5388 // on each actor it controls.
5389 // <opacity_start>: return location for the minimum level of opacity, or %NULL
5390 // <opacity_end>: return location for the maximum level of opacity, or %NULL
5391 void get_bounds(AT0, AT1)(/*out*/ AT0 /*ubyte*/ opacity_start, /*out*/ AT1 /*ubyte*/ opacity_end) nothrow {
5392 clutter_behaviour_opacity_get_bounds(&this, UpCast!(ubyte*)(opacity_start), UpCast!(ubyte*)(opacity_end));
5395 // VERSION: 0.6
5396 // DEPRECATED method: set_bounds - 1.6
5397 // Sets the initial and final levels of the opacity applied by @behaviour
5398 // on each actor it controls.
5399 // <opacity_start>: minimum level of opacity
5400 // <opacity_end>: maximum level of opacity
5401 void set_bounds()(ubyte opacity_start, ubyte opacity_end) nothrow {
5402 clutter_behaviour_opacity_set_bounds(&this, opacity_start, opacity_end);
5406 // The #ClutterBehaviourOpacityClass structure contains only private data
5407 struct BehaviourOpacityClass /* Version 0.2 */ {
5408 private BehaviourClass parent_class;
5411 struct BehaviourOpacityPrivate {
5415 // The #ClutterBehaviourPath structure contains only private data
5416 // and should be accessed using the provided API
5419 // instead.
5420 struct BehaviourPath /* : Behaviour */ /* Version 0.2 */ {
5421 mixin Scriptable.__interface__;
5422 alias parent this;
5423 alias parent super_;
5424 alias parent behaviour;
5425 Behaviour parent;
5426 private BehaviourPathPrivate* priv;
5429 // VERSION: 0.2
5430 // DEPRECATED constructor: new - 1.6
5431 // Creates a new path behaviour. You can use this behaviour to drive
5432 // actors along the nodes of a path, described by @path.
5434 // This will claim the floating reference on the #ClutterPath so you
5435 // do not need to unref if it.
5437 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5438 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5439 // it can be set later with clutter_behaviour_set_alpha().
5440 // RETURNS: a #ClutterBehaviour
5441 // <alpha>: a #ClutterAlpha instance, or %NULL
5442 // <path>: a #ClutterPath or %NULL for an empty path
5443 static BehaviourPath* /*new*/ new_(AT0, AT1)(AT0 /*Alpha*/ alpha, AT1 /*Path*/ path) nothrow {
5444 return clutter_behaviour_path_new(UpCast!(Alpha*)(alpha), UpCast!(Path*)(path));
5446 static auto opCall(AT0, AT1)(AT0 /*Alpha*/ alpha, AT1 /*Path*/ path) {
5447 return clutter_behaviour_path_new(UpCast!(Alpha*)(alpha), UpCast!(Path*)(path));
5450 // VERSION: 1.0
5451 // DEPRECATED constructor: new_with_description - 1.6
5452 // Creates a new path behaviour using the path described by @desc. See
5453 // clutter_path_add_string() for a description of the format.
5455 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5456 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5457 // it can be set later with clutter_behaviour_set_alpha().
5458 // RETURNS: a #ClutterBehaviour
5459 // <alpha>: a #ClutterAlpha instance, or %NULL
5460 // <desc>: a string description of the path
5461 static BehaviourPath* /*new*/ new_with_description(AT0, AT1)(AT0 /*Alpha*/ alpha, AT1 /*char*/ desc) nothrow {
5462 return clutter_behaviour_path_new_with_description(UpCast!(Alpha*)(alpha), toCString!(char*)(desc));
5464 static auto opCall(AT0, AT1)(AT0 /*Alpha*/ alpha, AT1 /*char*/ desc) {
5465 return clutter_behaviour_path_new_with_description(UpCast!(Alpha*)(alpha), toCString!(char*)(desc));
5468 // VERSION: 1.0
5469 // DEPRECATED constructor: new_with_knots - 1.6
5470 // Creates a new path behaviour that will make the actors visit all of
5471 // the given knots in order with straight lines in between.
5473 // A path will be created where the first knot is used in a
5474 // %CLUTTER_PATH_MOVE_TO and the subsequent knots are used in
5475 // %CLUTTER_PATH_LINE_TO<!-- -->s.
5477 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5478 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5479 // it can be set later with clutter_behaviour_set_alpha().
5480 // RETURNS: a #ClutterBehaviour
5481 // <alpha>: a #ClutterAlpha instance, or %NULL
5482 // <knots>: an array of #ClutterKnot<!-- -->s
5483 // <n_knots>: number of entries in @knots
5484 static BehaviourPath* /*new*/ new_with_knots(AT0, AT1)(AT0 /*Alpha*/ alpha, AT1 /*Knot*/ knots, uint n_knots) nothrow {
5485 return clutter_behaviour_path_new_with_knots(UpCast!(Alpha*)(alpha), UpCast!(Knot*)(knots), n_knots);
5487 static auto opCall(AT0, AT1)(AT0 /*Alpha*/ alpha, AT1 /*Knot*/ knots, uint n_knots) {
5488 return clutter_behaviour_path_new_with_knots(UpCast!(Alpha*)(alpha), UpCast!(Knot*)(knots), n_knots);
5491 // VERSION: 1.0
5492 // DEPRECATED method: get_path - 1.6
5493 // Get the current path of the behaviour
5494 // RETURNS: the path
5495 Path* get_path()() nothrow {
5496 return clutter_behaviour_path_get_path(&this);
5499 // VERSION: 1.0
5500 // DEPRECATED method: set_path - 1.6
5501 // Change the path that the actors will follow. This will take the
5502 // floating reference on the #ClutterPath so you do not need to unref
5503 // it.
5504 // <path>: the new path to follow
5505 void set_path(AT0)(AT0 /*Path*/ path) nothrow {
5506 clutter_behaviour_path_set_path(&this, UpCast!(Path*)(path));
5509 // VERSION: 0.2
5510 // DEPRECATED glib:signal: knot-reached - 1.6
5511 // This signal is emitted each time a node defined inside the path
5512 // is reached.
5513 // <knot_num>: the index of the #ClutterKnot reached
5514 extern (C) alias static void function (BehaviourPath* this_, c_uint knot_num, void* user_data=null) nothrow signal_knot_reached;
5516 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5517 return super_.signal_connect!name(cb, data, cf);
5520 ulong signal_connect(string name:"knot-reached", CB/*:signal_knot_reached*/)
5521 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
5522 if (is(typeof(cb)==signal_knot_reached)||_ttmm!(CB, signal_knot_reached)()) {
5523 return signal_connect_data!()(&this, cast(char*)"knot-reached",
5524 cast(GObject2.Callback)cb, data, null, cf);
5528 // The #ClutterBehaviourPathClass struct contains only private data
5529 struct BehaviourPathClass /* Version 0.2 */ {
5530 private BehaviourClass parent_class;
5531 extern (C) void function (BehaviourPath* pathb, uint knot_num) nothrow knot_reached;
5532 extern (C) void function () nothrow _clutter_path_1;
5533 extern (C) void function () nothrow _clutter_path_2;
5534 extern (C) void function () nothrow _clutter_path_3;
5535 extern (C) void function () nothrow _clutter_path_4;
5538 struct BehaviourPathPrivate {
5541 struct BehaviourPrivate {
5545 // The #ClutterBehaviourRotate struct contains only private data and
5546 // should be accessed using the provided API
5547 struct BehaviourRotate /* : Behaviour */ /* Version 0.4 */ {
5548 mixin Scriptable.__interface__;
5549 alias parent_instance this;
5550 alias parent_instance super_;
5551 alias parent_instance behaviour;
5552 Behaviour parent_instance;
5553 private BehaviourRotatePrivate* priv;
5556 // VERSION: 0.4
5557 // Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors
5558 // bound to it on @axis, following @direction, between @angle_start and
5559 // @angle_end. Angles >= 360 degrees will be clamped to the canonical interval
5560 // <0, 360), if angle_start == angle_end, the behaviour will carry out a
5561 // single rotation of 360 degrees.
5563 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5564 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5565 // it can be set later with clutter_behaviour_set_alpha().
5566 // RETURNS: the newly created #ClutterBehaviourRotate.
5567 // <alpha>: a #ClutterAlpha instance, or %NULL
5568 // <axis>: the rotation axis
5569 // <direction>: the rotation direction
5570 // <angle_start>: the starting angle in degrees, between 0 and 360.
5571 // <angle_end>: the final angle in degrees, between 0 and 360.
5572 static BehaviourRotate* /*new*/ new_(AT0)(AT0 /*Alpha*/ alpha, RotateAxis axis, RotateDirection direction, double angle_start, double angle_end) nothrow {
5573 return clutter_behaviour_rotate_new(UpCast!(Alpha*)(alpha), axis, direction, angle_start, angle_end);
5575 static auto opCall(AT0)(AT0 /*Alpha*/ alpha, RotateAxis axis, RotateDirection direction, double angle_start, double angle_end) {
5576 return clutter_behaviour_rotate_new(UpCast!(Alpha*)(alpha), axis, direction, angle_start, angle_end);
5579 // VERSION: 0.4
5580 // Retrieves the #ClutterRotateAxis used by the rotate behaviour.
5581 // RETURNS: the rotation axis
5582 RotateAxis get_axis()() nothrow {
5583 return clutter_behaviour_rotate_get_axis(&this);
5586 // VERSION: 0.4
5587 // Retrieves the rotation boundaries of the rotate behaviour.
5588 // <angle_start>: return value for the initial angle
5589 // <angle_end>: return value for the final angle
5590 void get_bounds(AT0, AT1)(/*out*/ AT0 /*double*/ angle_start, /*out*/ AT1 /*double*/ angle_end) nothrow {
5591 clutter_behaviour_rotate_get_bounds(&this, UpCast!(double*)(angle_start), UpCast!(double*)(angle_end));
5594 // VERSION: 0.4
5595 // Retrieves the center of rotation set using
5596 // clutter_behaviour_rotate_set_center().
5597 // <x>: return location for the X center of rotation
5598 // <y>: return location for the Y center of rotation
5599 // <z>: return location for the Z center of rotation
5600 void get_center()(/*out*/ int* x, /*out*/ int* y, /*out*/ int* z) nothrow {
5601 clutter_behaviour_rotate_get_center(&this, x, y, z);
5604 // VERSION: 0.4
5605 // Retrieves the #ClutterRotateDirection used by the rotate behaviour.
5606 // RETURNS: the rotation direction
5607 RotateDirection get_direction()() nothrow {
5608 return clutter_behaviour_rotate_get_direction(&this);
5611 // VERSION: 0.4
5612 // Sets the axis used by the rotate behaviour.
5613 // <axis>: a #ClutterRotateAxis
5614 void set_axis()(RotateAxis axis) nothrow {
5615 clutter_behaviour_rotate_set_axis(&this, axis);
5618 // VERSION: 0.4
5619 // Sets the initial and final angles of a rotation behaviour; angles >= 360
5620 // degrees get clamped to the canonical interval <0, 360).
5621 // <angle_start>: initial angle in degrees, between 0 and 360.
5622 // <angle_end>: final angle in degrees, between 0 and 360.
5623 void set_bounds()(double angle_start, double angle_end) nothrow {
5624 clutter_behaviour_rotate_set_bounds(&this, angle_start, angle_end);
5627 // VERSION: 0.4
5628 // Sets the center of rotation. The coordinates are relative to the plane
5629 // normal to the rotation axis set with clutter_behaviour_rotate_set_axis().
5630 // <x>: X axis center of rotation
5631 // <y>: Y axis center of rotation
5632 // <z>: Z axis center of rotation
5633 void set_center()(int x, int y, int z) nothrow {
5634 clutter_behaviour_rotate_set_center(&this, x, y, z);
5637 // VERSION: 0.4
5638 // Sets the rotation direction used by the rotate behaviour.
5639 // <direction>: the rotation direction
5640 void set_direction()(RotateDirection direction) nothrow {
5641 clutter_behaviour_rotate_set_direction(&this, direction);
5645 // The #ClutterBehaviourRotateClass struct contains only private data
5646 struct BehaviourRotateClass /* Version 0.4 */ {
5647 private BehaviourClass parent_class;
5650 struct BehaviourRotatePrivate {
5654 // The #ClutterBehaviourScale struct contains only private data and
5655 // should be accessed using the provided API
5658 // and #ClutterActor:scale-y instead.
5659 struct BehaviourScale /* : Behaviour */ /* Version 0.2 */ {
5660 mixin Scriptable.__interface__;
5661 alias parent_instance this;
5662 alias parent_instance super_;
5663 alias parent_instance behaviour;
5664 Behaviour parent_instance;
5665 private BehaviourScalePrivate* priv;
5668 // VERSION: 0.2
5669 // DEPRECATED constructor: new - 1.6
5670 // Creates a new #ClutterBehaviourScale instance.
5672 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
5673 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
5674 // it can be set later with clutter_behaviour_set_alpha().
5675 // RETURNS: the newly created #ClutterBehaviourScale
5676 // <alpha>: a #ClutterAlpha instance, or %NULL
5677 // <x_scale_start>: initial scale factor on the X axis
5678 // <y_scale_start>: initial scale factor on the Y axis
5679 // <x_scale_end>: final scale factor on the X axis
5680 // <y_scale_end>: final scale factor on the Y axis
5681 static BehaviourScale* /*new*/ new_(AT0)(AT0 /*Alpha*/ alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end) nothrow {
5682 return clutter_behaviour_scale_new(UpCast!(Alpha*)(alpha), x_scale_start, y_scale_start, x_scale_end, y_scale_end);
5684 static auto opCall(AT0)(AT0 /*Alpha*/ alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end) {
5685 return clutter_behaviour_scale_new(UpCast!(Alpha*)(alpha), x_scale_start, y_scale_start, x_scale_end, y_scale_end);
5688 // VERSION: 0.4
5689 // DEPRECATED method: get_bounds - 1.6
5690 // Retrieves the bounds used by scale behaviour.
5691 // <x_scale_start>: return location for the initial scale factor on the X axis, or %NULL
5692 // <y_scale_start>: return location for the initial scale factor on the Y axis, or %NULL
5693 // <x_scale_end>: return location for the final scale factor on the X axis, or %NULL
5694 // <y_scale_end>: return location for the final scale factor on the Y axis, or %NULL
5695 void get_bounds(AT0, AT1, AT2, AT3)(/*out*/ AT0 /*double*/ x_scale_start, /*out*/ AT1 /*double*/ y_scale_start, /*out*/ AT2 /*double*/ x_scale_end, /*out*/ AT3 /*double*/ y_scale_end) nothrow {
5696 clutter_behaviour_scale_get_bounds(&this, UpCast!(double*)(x_scale_start), UpCast!(double*)(y_scale_start), UpCast!(double*)(x_scale_end), UpCast!(double*)(y_scale_end));
5699 // VERSION: 0.6
5700 // DEPRECATED method: set_bounds - 1.6
5701 // Sets the bounds used by scale behaviour.
5702 // <x_scale_start>: initial scale factor on the X axis
5703 // <y_scale_start>: initial scale factor on the Y axis
5704 // <x_scale_end>: final scale factor on the X axis
5705 // <y_scale_end>: final scale factor on the Y axis
5706 void set_bounds()(double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end) nothrow {
5707 clutter_behaviour_scale_set_bounds(&this, x_scale_start, y_scale_start, x_scale_end, y_scale_end);
5711 // The #ClutterBehaviourScaleClass struct contains only private data
5712 struct BehaviourScaleClass /* Version 0.2 */ {
5713 private BehaviourClass parent_class;
5716 struct BehaviourScalePrivate {
5719 // The alignment policies available on each axis for #ClutterBinLayout
5720 enum BinAlignment /* Version 1.2 */ {
5721 FIXED = 0,
5722 FILL = 1,
5723 START = 2,
5724 END = 3,
5725 CENTER = 4
5728 // The #ClutterBinLayout structure contains only private data
5729 // and should be accessed using the provided API
5730 struct BinLayout /* : LayoutManager */ /* Version 1.2 */ {
5731 alias parent_instance this;
5732 alias parent_instance super_;
5733 alias parent_instance layoutmanager;
5734 LayoutManager parent_instance;
5735 private BinLayoutPrivate* priv;
5738 // VERSION: 1.2
5739 // Creates a new #ClutterBinLayout layout manager
5740 // RETURNS: the newly created layout manager
5741 // <x_align>: the default alignment policy to be used on the horizontal axis
5742 // <y_align>: the default alignment policy to be used on the vertical axis
5743 static BinLayout* new_()(BinAlignment x_align, BinAlignment y_align) nothrow {
5744 return clutter_bin_layout_new(x_align, y_align);
5746 static auto opCall()(BinAlignment x_align, BinAlignment y_align) {
5747 return clutter_bin_layout_new(x_align, y_align);
5750 // VERSION: 1.2
5751 // Adds a #ClutterActor to the container using @self and
5752 // sets the alignment policies for it
5754 // This function is equivalent to clutter_container_add_actor()
5755 // and clutter_layout_manager_child_set_property() but it does not
5756 // require a pointer to the #ClutterContainer associated to the
5757 // #ClutterBinLayout
5758 // <child>: a #ClutterActor
5759 // <x_align>: horizontal alignment policy for @child
5760 // <y_align>: vertical alignment policy for @child
5761 void add(AT0)(AT0 /*Actor*/ child, BinAlignment x_align, BinAlignment y_align) nothrow {
5762 clutter_bin_layout_add(&this, UpCast!(Actor*)(child), x_align, y_align);
5765 // VERSION: 1.2
5766 // Retrieves the horizontal and vertical alignment policies for
5767 // a child of @self
5769 // If @child is %NULL the default alignment policies will be returned
5770 // instead
5771 // <child>: a child of @container
5772 // <x_align>: return location for the horizontal alignment policy
5773 // <y_align>: return location for the vertical alignment policy
5774 void get_alignment(AT0, AT1, AT2)(AT0 /*Actor*/ child=null, /*out*/ AT1 /*BinAlignment*/ x_align=null, /*out*/ AT2 /*BinAlignment*/ y_align=null) nothrow {
5775 clutter_bin_layout_get_alignment(&this, UpCast!(Actor*)(child), UpCast!(BinAlignment*)(x_align), UpCast!(BinAlignment*)(y_align));
5778 // VERSION: 1.2
5779 // Sets the horizontal and vertical alignment policies to be applied
5780 // to a @child of @self
5782 // If @child is %NULL then the @x_align and @y_align values will
5783 // be set as the default alignment policies
5784 // <child>: a child of @container
5785 // <x_align>: the horizontal alignment policy to be used for the @child inside @container
5786 // <y_align>: the vertical aligment policy to be used on the @child inside @container
5787 void set_alignment(AT0)(AT0 /*Actor*/ child, BinAlignment x_align, BinAlignment y_align) nothrow {
5788 clutter_bin_layout_set_alignment(&this, UpCast!(Actor*)(child), x_align, y_align);
5793 // The #ClutterBinLayoutClass structure contains only private
5794 // data and should be accessed using the provided API
5795 struct BinLayoutClass /* Version 1.2 */ {
5796 private LayoutManagerClass parent_class;
5799 struct BinLayoutPrivate {
5803 // <structname>ClutterBindConstraint</structname> is an opaque structure
5804 // whose members cannot be directly accessed
5805 struct BindConstraint /* : Constraint */ /* Version 1.4 */ {
5806 alias method_parent this;
5807 alias method_parent super_;
5808 alias method_parent constraint;
5809 Constraint method_parent;
5812 // VERSION: 1.4
5813 // Creates a new constraint, binding a #ClutterActor's position to
5814 // the given @coordinate of the position of @source
5815 // RETURNS: the newly created #ClutterBindConstraint
5816 // <source>: the #ClutterActor to use as the source of the binding, or %NULL
5817 // <coordinate>: the coordinate to bind
5818 // <offset>: the offset to apply to the binding, in pixels
5819 static BindConstraint* new_(AT0)(AT0 /*Actor*/ source, BindCoordinate coordinate, float offset) nothrow {
5820 return clutter_bind_constraint_new(UpCast!(Actor*)(source), coordinate, offset);
5822 static auto opCall(AT0)(AT0 /*Actor*/ source, BindCoordinate coordinate, float offset) {
5823 return clutter_bind_constraint_new(UpCast!(Actor*)(source), coordinate, offset);
5826 // VERSION: 1.4
5827 // Retrieves the bound coordinate of the constraint
5828 // RETURNS: the bound coordinate
5829 BindCoordinate get_coordinate()() nothrow {
5830 return clutter_bind_constraint_get_coordinate(&this);
5833 // VERSION: 1.4
5834 // Retrieves the offset set using clutter_bind_constraint_set_offset()
5835 // RETURNS: the offset, in pixels
5836 float get_offset()() nothrow {
5837 return clutter_bind_constraint_get_offset(&this);
5840 // VERSION: 1.4
5841 // Retrieves the #ClutterActor set using clutter_bind_constraint_set_source()
5842 // RETURNS: a pointer to the source actor
5843 Actor* get_source()() nothrow {
5844 return clutter_bind_constraint_get_source(&this);
5847 // VERSION: 1.4
5848 // Sets the coordinate to bind in the constraint
5849 // <coordinate>: the coordinate to bind
5850 void set_coordinate()(BindCoordinate coordinate) nothrow {
5851 clutter_bind_constraint_set_coordinate(&this, coordinate);
5854 // VERSION: 1.4
5855 // Sets the offset to be applied to the constraint
5856 // <offset>: the offset to apply, in pixels
5857 void set_offset()(float offset) nothrow {
5858 clutter_bind_constraint_set_offset(&this, offset);
5861 // VERSION: 1.4
5862 // Sets the source #ClutterActor for the constraint
5863 // <source>: a #ClutterActor, or %NULL to unset the source
5864 void set_source(AT0)(AT0 /*Actor*/ source=null) nothrow {
5865 clutter_bind_constraint_set_source(&this, UpCast!(Actor*)(source));
5869 struct BindConstraintClass {
5872 // Specifies which property should be used in a binding
5873 enum BindCoordinate /* Version 1.4 */ {
5874 X = 0,
5875 Y = 1,
5876 WIDTH = 2,
5877 HEIGHT = 3,
5878 POSITION = 4,
5879 SIZE = 5
5882 // VERSION: 1.0
5883 // The prototype for the callback function registered with
5884 // clutter_binding_pool_install_action() and invoked by
5885 // clutter_binding_pool_activate().
5887 // binding has been handled, and return %FALSE otherwise
5888 // RETURNS: the function should return %TRUE if the key
5889 // <gobject>: a #GObject
5890 // <action_name>: the name of the action
5891 // <key_val>: the key symbol
5892 // <modifiers>: bitmask of the modifier flags
5893 extern (C) alias int function (GObject2.Object* gobject, char* action_name, uint key_val, ModifierType modifiers) nothrow BindingActionFunc;
5896 // Container of key bindings. The #ClutterBindingPool struct is
5897 // private.
5898 struct BindingPool /* : GObject.Object */ /* Version 1.0 */ {
5899 alias method_parent this;
5900 alias method_parent super_;
5901 alias method_parent object;
5902 GObject2.Object method_parent;
5905 // VERSION: 1.0
5906 // Creates a new #ClutterBindingPool that can be used to store
5907 // key bindings for an actor. The @name must be a unique identifier
5908 // for the binding pool, so that clutter_binding_pool_find() will
5909 // be able to return the correct binding pool.
5911 // name. Use g_object_unref() when done.
5912 // RETURNS: the newly created binding pool with the given
5913 // <name>: the name of the binding pool
5914 static BindingPool* /*new*/ new_(AT0)(AT0 /*char*/ name) nothrow {
5915 return clutter_binding_pool_new(toCString!(char*)(name));
5917 static auto opCall(AT0)(AT0 /*char*/ name) {
5918 return clutter_binding_pool_new(toCString!(char*)(name));
5921 // VERSION: 1.0
5922 // Finds the #ClutterBindingPool with @name.
5923 // RETURNS: a pointer to the #ClutterBindingPool, or %NULL
5924 // <name>: the name of the binding pool to find
5925 static BindingPool* find(AT0)(AT0 /*char*/ name) nothrow {
5926 return clutter_binding_pool_find(toCString!(char*)(name));
5929 // VERSION: 1.0
5930 // Retrieves the #ClutterBindingPool for the given #GObject class
5931 // and, eventually, creates it. This function is a wrapper around
5932 // clutter_binding_pool_new() and uses the class type name as the
5933 // unique name for the binding pool.
5935 // Calling this function multiple times will return the same
5936 // #ClutterBindingPool.
5938 // A binding pool for a class can also be retrieved using
5939 // clutter_binding_pool_find() with the class type name:
5941 // |[
5942 // pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
5943 // ]|
5945 // The returned #ClutterBindingPool is owned by Clutter and should not
5946 // be freed directly
5947 // RETURNS: the binding pool for the given class.
5948 // <klass>: a #GObjectClass pointer
5949 static BindingPool* get_for_class(AT0)(AT0 /*void*/ klass) nothrow {
5950 return clutter_binding_pool_get_for_class(UpCast!(void*)(klass));
5953 // VERSION: 1.0
5954 // Activates the callback associated to the action that is
5955 // bound to the @key_val and @modifiers pair.
5957 // The callback has the following signature:
5959 // |[
5960 // void (* callback) (GObject *gobject,
5961 // const gchar *action_name,
5962 // guint key_val,
5963 // ClutterModifierType modifiers,
5964 // gpointer user_data);
5965 // ]|
5967 // Where the #GObject instance is @gobject and the user data
5968 // is the one passed when installing the action with
5969 // clutter_binding_pool_install_action().
5971 // If the action bound to the @key_val, @modifiers pair has been
5972 // blocked using clutter_binding_pool_block_action(), the callback
5973 // will not be invoked, and this function will return %FALSE.
5974 // RETURNS: %TRUE if an action was found and was activated
5975 // <key_val>: the key symbol
5976 // <modifiers>: bitmask for the modifiers
5977 // <gobject>: a #GObject
5978 int activate(AT0)(uint key_val, ModifierType modifiers, AT0 /*GObject2.Object*/ gobject) nothrow {
5979 return clutter_binding_pool_activate(&this, key_val, modifiers, UpCast!(GObject2.Object*)(gobject));
5982 // VERSION: 1.0
5983 // Blocks all the actions with name @action_name inside @pool.
5984 // <action_name>: an action name
5985 void block_action(AT0)(AT0 /*char*/ action_name) nothrow {
5986 clutter_binding_pool_block_action(&this, toCString!(char*)(action_name));
5989 // VERSION: 1.0
5990 // Retrieves the name of the action matching the given key symbol
5991 // and modifiers bitmask.
5993 // returned string is owned by the binding pool and should never
5994 // be modified or freed
5995 // RETURNS: the name of the action, if found, or %NULL. The
5996 // <key_val>: a key symbol
5997 // <modifiers>: a bitmask for the modifiers
5998 char* find_action()(uint key_val, ModifierType modifiers) nothrow {
5999 return clutter_binding_pool_find_action(&this, key_val, modifiers);
6002 // VERSION: 1.0
6003 // Installs a new action inside a #ClutterBindingPool. The action
6004 // is bound to @key_val and @modifiers.
6006 // The same action name can be used for multiple @key_val, @modifiers
6007 // pairs.
6009 // When an action has been activated using clutter_binding_pool_activate()
6010 // the passed @callback will be invoked (with @data).
6012 // Actions can be blocked with clutter_binding_pool_block_action()
6013 // and then unblocked using clutter_binding_pool_unblock_action().
6014 // <action_name>: the name of the action
6015 // <key_val>: key symbol
6016 // <modifiers>: bitmask of modifiers
6017 // <callback>: function to be called when the action is activated
6018 // <data>: data to be passed to @callback
6019 // <notify>: function to be called when the action is removed from the pool
6020 void install_action(AT0, AT1)(AT0 /*char*/ action_name, uint key_val, ModifierType modifiers, GObject2.Callback callback, AT1 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
6021 clutter_binding_pool_install_action(&this, toCString!(char*)(action_name), key_val, modifiers, callback, UpCast!(void*)(data), notify);
6024 // VERSION: 1.0
6025 // A #GClosure variant of clutter_binding_pool_install_action().
6027 // Installs a new action inside a #ClutterBindingPool. The action
6028 // is bound to @key_val and @modifiers.
6030 // The same action name can be used for multiple @key_val, @modifiers
6031 // pairs.
6033 // When an action has been activated using clutter_binding_pool_activate()
6034 // the passed @closure will be invoked.
6036 // Actions can be blocked with clutter_binding_pool_block_action()
6037 // and then unblocked using clutter_binding_pool_unblock_action().
6038 // <action_name>: the name of the action
6039 // <key_val>: key symbol
6040 // <modifiers>: bitmask of modifiers
6041 // <closure>: a #GClosure
6042 void install_closure(AT0, AT1)(AT0 /*char*/ action_name, uint key_val, ModifierType modifiers, AT1 /*GObject2.Closure*/ closure) nothrow {
6043 clutter_binding_pool_install_closure(&this, toCString!(char*)(action_name), key_val, modifiers, UpCast!(GObject2.Closure*)(closure));
6046 // VERSION: 1.0
6047 // Allows overriding the action for @key_val and @modifiers inside a
6048 // #ClutterBindingPool. See clutter_binding_pool_install_action().
6050 // When an action has been activated using clutter_binding_pool_activate()
6051 // the passed @callback will be invoked (with @data).
6053 // Actions can be blocked with clutter_binding_pool_block_action()
6054 // and then unblocked using clutter_binding_pool_unblock_action().
6055 // <key_val>: key symbol
6056 // <modifiers>: bitmask of modifiers
6057 // <callback>: function to be called when the action is activated
6058 // <data>: data to be passed to @callback
6059 // <notify>: function to be called when the action is removed from the pool
6060 void override_action(AT0)(uint key_val, ModifierType modifiers, GObject2.Callback callback, AT0 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
6061 clutter_binding_pool_override_action(&this, key_val, modifiers, callback, UpCast!(void*)(data), notify);
6064 // VERSION: 1.0
6065 // A #GClosure variant of clutter_binding_pool_override_action().
6067 // Allows overriding the action for @key_val and @modifiers inside a
6068 // #ClutterBindingPool. See clutter_binding_pool_install_closure().
6070 // When an action has been activated using clutter_binding_pool_activate()
6071 // the passed @callback will be invoked (with @data).
6073 // Actions can be blocked with clutter_binding_pool_block_action()
6074 // and then unblocked using clutter_binding_pool_unblock_action().
6075 // <key_val>: key symbol
6076 // <modifiers>: bitmask of modifiers
6077 // <closure>: a #GClosure
6078 void override_closure(AT0)(uint key_val, ModifierType modifiers, AT0 /*GObject2.Closure*/ closure) nothrow {
6079 clutter_binding_pool_override_closure(&this, key_val, modifiers, UpCast!(GObject2.Closure*)(closure));
6082 // VERSION: 1.0
6083 // Removes the action matching the given @key_val, @modifiers pair,
6084 // if any exists.
6085 // <key_val>: a key symbol
6086 // <modifiers>: a bitmask for the modifiers
6087 void remove_action()(uint key_val, ModifierType modifiers) nothrow {
6088 clutter_binding_pool_remove_action(&this, key_val, modifiers);
6091 // VERSION: 1.0
6092 // Unblockes all the actions with name @action_name inside @pool.
6094 // Unblocking an action does not cause the callback bound to it to
6095 // be invoked in case clutter_binding_pool_activate() was called on
6096 // an action previously blocked with clutter_binding_pool_block_action().
6097 // <action_name>: an action name
6098 void unblock_action(AT0)(AT0 /*char*/ action_name) nothrow {
6099 clutter_binding_pool_unblock_action(&this, toCString!(char*)(action_name));
6103 struct BindingPoolClass {
6106 enum int Blue = 269025190;
6107 enum int Bluetooth = 269025172;
6109 // <structname>ClutterBlurEffect</structname> is an opaque structure
6110 // whose members cannot be accessed directly
6111 struct BlurEffect /* : OffscreenEffect */ /* Version 1.4 */ {
6112 alias method_parent this;
6113 alias method_parent super_;
6114 alias method_parent offscreeneffect;
6115 OffscreenEffect method_parent;
6118 // VERSION: 1.4
6119 // Creates a new #ClutterBlurEffect to be used with
6120 // clutter_actor_add_effect()
6121 // RETURNS: the newly created #ClutterBlurEffect or %NULL
6122 static BlurEffect* new_()() nothrow {
6123 return clutter_blur_effect_new();
6125 static auto opCall()() {
6126 return clutter_blur_effect_new();
6130 struct BlurEffectClass {
6133 enum int Book = 269025106;
6134 enum int BounceKeys_Enable = 65140;
6136 // The #ClutterBox structure contains only private data and should
6137 // be accessed using the provided API
6138 struct Box /* : Actor */ /* Version 1.2 */ {
6139 mixin Atk.ImplementorIface.__interface__;
6140 mixin Animatable.__interface__;
6141 mixin Container.__interface__;
6142 mixin Scriptable.__interface__;
6143 alias parent_instance this;
6144 alias parent_instance super_;
6145 alias parent_instance actor;
6146 Actor parent_instance;
6147 private BoxPrivate* priv;
6150 // VERSION: 1.2
6151 // DEPRECATED (v1.10) constructor: new - Use clutter_actor_new() instead.
6152 // Creates a new #ClutterBox. The children of the box will be layed
6153 // out by the passed @manager
6154 // RETURNS: the newly created #ClutterBox actor
6155 // <manager>: a #ClutterLayoutManager
6156 static Box* new_(AT0)(AT0 /*LayoutManager*/ manager) nothrow {
6157 return clutter_box_new(UpCast!(LayoutManager*)(manager));
6159 static auto opCall(AT0)(AT0 /*LayoutManager*/ manager) {
6160 return clutter_box_new(UpCast!(LayoutManager*)(manager));
6163 // VERSION: 1.2
6164 // DEPRECATED (v1.10) method: get_color - Use clutter_actor_get_background_color() instead.
6165 // Retrieves the background color of @box
6167 // If the #ClutterBox:color-set property is set to %FALSE the
6168 // returned #ClutterColor is undefined
6169 // <color>: return location for a #ClutterColor
6170 void get_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
6171 clutter_box_get_color(&this, UpCast!(Color*)(color));
6174 // VERSION: 1.2
6175 // DEPRECATED (v1.10) method: get_layout_manager - Use clutter_actor_get_layout_manager() instead.
6176 // Retrieves the #ClutterLayoutManager instance used by @box
6178 // #ClutterLayoutManager is owned by the #ClutterBox and it should not
6179 // be unreferenced
6180 // RETURNS: a #ClutterLayoutManager. The returned
6181 LayoutManager* get_layout_manager()() nothrow {
6182 return clutter_box_get_layout_manager(&this);
6185 // Unintrospectable method: pack() / clutter_box_pack()
6186 // VERSION: 1.2
6187 // DEPRECATED (v1.10) method: pack - Use clutter_actor_add_child() instead.
6188 // Adds @actor to @box and sets layout properties at the same time,
6189 // if the #ClutterLayoutManager used by @box has them
6191 // This function is a wrapper around clutter_container_add_actor()
6192 // and clutter_layout_manager_child_set()
6194 // Language bindings should use the vector-based clutter_box_packv()
6195 // variant instead
6196 // <actor>: a #ClutterActor
6197 // <first_property>: the name of the first property to set, or %NULL
6198 /+ Not available -- variadic methods unsupported - use the C function directly.
6199 alias clutter_box_pack pack; // Variadic
6202 // Unintrospectable method: pack_after() / clutter_box_pack_after()
6203 // VERSION: 1.2
6204 // DEPRECATED (v1.10) method: pack_after - Use clutter_actor_insert_child_above() instead.
6205 // Adds @actor to @box, placing it after @sibling, and sets layout
6206 // properties at the same time, if the #ClutterLayoutManager used by
6207 // @box supports them
6209 // If @sibling is %NULL then @actor is placed at the end of the
6210 // list of children, to be allocated and painted after every other child
6212 // This function is a wrapper around clutter_container_add_actor(),
6213 // clutter_container_raise_child() and clutter_layout_manager_child_set()
6214 // <actor>: a #ClutterActor
6215 // <sibling>: a #ClutterActor or %NULL
6216 // <first_property>: the name of the first property to set, or %NULL
6217 /+ Not available -- variadic methods unsupported - use the C function directly.
6218 alias clutter_box_pack_after pack_after; // Variadic
6221 // Unintrospectable method: pack_at() / clutter_box_pack_at()
6222 // VERSION: 1.2
6223 // DEPRECATED (v1.10) method: pack_at - Use clutter_actor_insert_child_at_index() instead.
6224 // Adds @actor to @box, placing it at @position, and sets layout
6225 // properties at the same time, if the #ClutterLayoutManager used by
6226 // @box supports them
6228 // If @position is a negative number, or is larger than the number of
6229 // children of @box, the new child is added at the end of the list of
6230 // children
6231 // <actor>: a #ClutterActor
6232 // <position>: the position to insert the @actor at
6233 // <first_property>: the name of the first property to set, or %NULL
6234 /+ Not available -- variadic methods unsupported - use the C function directly.
6235 alias clutter_box_pack_at pack_at; // Variadic
6238 // Unintrospectable method: pack_before() / clutter_box_pack_before()
6239 // VERSION: 1.2
6240 // DEPRECATED (v1.10) method: pack_before - Use clutter_actor_insert_child_below() instead.
6241 // Adds @actor to @box, placing it before @sibling, and sets layout
6242 // properties at the same time, if the #ClutterLayoutManager used by
6243 // @box supports them
6245 // If @sibling is %NULL then @actor is placed at the beginning of the
6246 // list of children, to be allocated and painted below every other child
6248 // This function is a wrapper around clutter_container_add_actor(),
6249 // clutter_container_lower_child() and clutter_layout_manager_child_set()
6250 // <actor>: a #ClutterActor
6251 // <sibling>: a #ClutterActor or %NULL
6252 // <first_property>: the name of the first property to set, or %NULL
6253 /+ Not available -- variadic methods unsupported - use the C function directly.
6254 alias clutter_box_pack_before pack_before; // Variadic
6257 // VERSION: 1.2
6258 // DEPRECATED (v1.10) method: packv - Use clutter_actor_add_child() instead.
6259 // Vector-based variant of clutter_box_pack(), intended for language
6260 // bindings to use
6261 // <actor>: a #ClutterActor
6262 // <n_properties>: the number of properties to set
6263 // <properties>: a vector containing the property names to set
6264 // <values>: a vector containing the property values to set
6265 void packv(AT0, AT1, AT2)(AT0 /*Actor*/ actor, uint n_properties, AT1 /*char*/ properties, AT2 /*GObject2.Value*/ values) nothrow {
6266 clutter_box_packv(&this, UpCast!(Actor*)(actor), n_properties, toCString!(char*)(properties), UpCast!(GObject2.Value*)(values));
6269 // VERSION: 1.2
6270 // DEPRECATED (v1.10) method: set_color - Use clutter_actor_set_background_color() instead.
6271 // Sets (or unsets) the background color for @box
6272 // <color>: the background color, or %NULL to unset
6273 void set_color(AT0)(AT0 /*Color*/ color=null) nothrow {
6274 clutter_box_set_color(&this, UpCast!(Color*)(color));
6277 // VERSION: 1.2
6278 // DEPRECATED (v1.10) method: set_layout_manager - Use clutter_actor_set_layout_manager() instead.
6279 // Sets the #ClutterLayoutManager for @box
6281 // A #ClutterLayoutManager is a delegate object that controls the
6282 // layout of the children of @box
6283 // <manager>: a #ClutterLayoutManager
6284 void set_layout_manager(AT0)(AT0 /*LayoutManager*/ manager) nothrow {
6285 clutter_box_set_layout_manager(&this, UpCast!(LayoutManager*)(manager));
6289 // The alignment policies available on each axis of the #ClutterBoxLayout
6290 enum BoxAlignment /* Version 1.2 */ {
6291 START = 0,
6292 END = 1,
6293 CENTER = 2
6295 // The #ClutterBoxClass structure contains only private data
6296 struct BoxClass /* Version 1.2 */ {
6297 private ActorClass parent_class;
6298 extern (C) void function () nothrow clutter_padding_1;
6299 extern (C) void function () nothrow clutter_padding_2;
6300 extern (C) void function () nothrow clutter_padding_3;
6301 extern (C) void function () nothrow clutter_padding_4;
6302 extern (C) void function () nothrow clutter_padding_5;
6303 extern (C) void function () nothrow clutter_padding_6;
6307 // The #ClutterBoxLayout structure contains only private data
6308 // and should be accessed using the provided API
6309 struct BoxLayout /* : LayoutManager */ /* Version 1.2 */ {
6310 alias parent_instance this;
6311 alias parent_instance super_;
6312 alias parent_instance layoutmanager;
6313 LayoutManager parent_instance;
6314 private BoxLayoutPrivate* priv;
6317 // VERSION: 1.2
6318 // Creates a new #ClutterBoxLayout layout manager
6319 // RETURNS: the newly created #ClutterBoxLayout
6320 static BoxLayout* new_()() nothrow {
6321 return clutter_box_layout_new();
6323 static auto opCall()() {
6324 return clutter_box_layout_new();
6327 // VERSION: 1.2
6328 // Retrieves the horizontal and vertical alignment policies for @actor
6329 // as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment()
6330 // <actor>: a #ClutterActor child of @layout
6331 // <x_align>: return location for the horizontal alignment policy
6332 // <y_align>: return location for the vertical alignment policy
6333 void get_alignment(AT0, AT1, AT2)(AT0 /*Actor*/ actor, /*out*/ AT1 /*BoxAlignment*/ x_align, /*out*/ AT2 /*BoxAlignment*/ y_align) nothrow {
6334 clutter_box_layout_get_alignment(&this, UpCast!(Actor*)(actor), UpCast!(BoxAlignment*)(x_align), UpCast!(BoxAlignment*)(y_align));
6337 // VERSION: 1.2
6338 // Retrieves the duration set using clutter_box_layout_set_easing_duration()
6339 // RETURNS: the duration of the animations, in milliseconds
6340 uint get_easing_duration()() nothrow {
6341 return clutter_box_layout_get_easing_duration(&this);
6344 // VERSION: 1.2
6345 // Retrieves the easing mode set using clutter_box_layout_set_easing_mode()
6346 // RETURNS: an easing mode
6347 c_ulong get_easing_mode()() nothrow {
6348 return clutter_box_layout_get_easing_mode(&this);
6351 // VERSION: 1.2
6352 // Retrieves whether @actor should expand inside @layout
6353 // RETURNS: %TRUE if the #ClutterActor should expand, %FALSE otherwise
6354 // <actor>: a #ClutterActor child of @layout
6355 int get_expand(AT0)(AT0 /*Actor*/ actor) nothrow {
6356 return clutter_box_layout_get_expand(&this, UpCast!(Actor*)(actor));
6359 // VERSION: 1.2
6360 // Retrieves the horizontal and vertical fill policies for @actor
6361 // as set using clutter_box_layout_pack() or clutter_box_layout_set_fill()
6362 // <actor>: a #ClutterActor child of @layout
6363 // <x_fill>: return location for the horizontal fill policy
6364 // <y_fill>: return location for the vertical fill policy
6365 void get_fill(AT0)(AT0 /*Actor*/ actor, /*out*/ int* x_fill, /*out*/ int* y_fill) nothrow {
6366 clutter_box_layout_get_fill(&this, UpCast!(Actor*)(actor), x_fill, y_fill);
6369 // VERSION: 1.4
6370 // Retrieves if the children sizes are allocated homogeneously.
6372 // homogeneously, and %FALSE otherwise
6373 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
6374 int get_homogeneous()() nothrow {
6375 return clutter_box_layout_get_homogeneous(&this);
6378 // VERSION: 1.2
6379 // Retrieves the value set using clutter_box_layout_set_pack_start()
6381 // at the beginning of the layout, and %FALSE otherwise
6382 // RETURNS: %TRUE if the #ClutterBoxLayout should pack children
6383 int get_pack_start()() nothrow {
6384 return clutter_box_layout_get_pack_start(&this);
6387 // VERSION: 1.2
6388 // Retrieves the spacing set using clutter_box_layout_set_spacing()
6389 // RETURNS: the spacing between children of the #ClutterBoxLayout
6390 uint get_spacing()() nothrow {
6391 return clutter_box_layout_get_spacing(&this);
6394 // VERSION: 1.2
6395 // Retrieves whether @layout should animate changes in the layout properties
6397 // Since clutter_box_layout_set_use_animations()
6398 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
6399 int get_use_animations()() nothrow {
6400 return clutter_box_layout_get_use_animations(&this);
6403 // VERSION: 1.2
6404 // Retrieves the orientation of the @layout as set using the
6405 // clutter_box_layout_set_vertical() function
6407 // vertically, and %FALSE otherwise
6408 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
6409 int get_vertical()() nothrow {
6410 return clutter_box_layout_get_vertical(&this);
6413 // VERSION: 1.2
6414 // Packs @actor inside the #ClutterContainer associated to @layout
6415 // and sets the layout properties
6416 // <actor>: a #ClutterActor
6417 // <expand>: whether the @actor should expand
6418 // <x_fill>: whether the @actor should fill horizontally
6419 // <y_fill>: whether the @actor should fill vertically
6420 // <x_align>: the horizontal alignment policy for @actor
6421 // <y_align>: the vertical alignment policy for @actor
6422 void pack(AT0)(AT0 /*Actor*/ actor, int expand, int x_fill, int y_fill, BoxAlignment x_align, BoxAlignment y_align) nothrow {
6423 clutter_box_layout_pack(&this, UpCast!(Actor*)(actor), expand, x_fill, y_fill, x_align, y_align);
6426 // VERSION: 1.2
6427 // Sets the horizontal and vertical alignment policies for @actor
6428 // inside @layout
6429 // <actor>: a #ClutterActor child of @layout
6430 // <x_align>: Horizontal alignment policy for @actor
6431 // <y_align>: Vertical alignment policy for @actor
6432 void set_alignment(AT0)(AT0 /*Actor*/ actor, BoxAlignment x_align, BoxAlignment y_align) nothrow {
6433 clutter_box_layout_set_alignment(&this, UpCast!(Actor*)(actor), x_align, y_align);
6436 // VERSION: 1.2
6437 // Sets the duration of the animations used by @layout when animating changes
6438 // in the layout properties
6440 // Use clutter_box_layout_set_use_animations() to enable and disable the
6441 // animations
6442 // <msecs>: the duration of the animations, in milliseconds
6443 void set_easing_duration()(uint msecs) nothrow {
6444 clutter_box_layout_set_easing_duration(&this, msecs);
6447 // VERSION: 1.2
6448 // Sets the easing mode to be used by @layout when animating changes in layout
6449 // properties
6451 // Use clutter_box_layout_set_use_animations() to enable and disable the
6452 // animations
6453 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
6454 void set_easing_mode()(c_ulong mode) nothrow {
6455 clutter_box_layout_set_easing_mode(&this, mode);
6458 // VERSION: 1.2
6459 // Sets whether @actor should expand inside @layout
6460 // <actor>: a #ClutterActor child of @layout
6461 // <expand>: whether @actor should expand
6462 void set_expand(AT0)(AT0 /*Actor*/ actor, int expand) nothrow {
6463 clutter_box_layout_set_expand(&this, UpCast!(Actor*)(actor), expand);
6466 // VERSION: 1.2
6467 // Sets the horizontal and vertical fill policies for @actor
6468 // inside @layout
6469 // <actor>: a #ClutterActor child of @layout
6470 // <x_fill>: whether @actor should fill horizontally the allocated space
6471 // <y_fill>: whether @actor should fill vertically the allocated space
6472 void set_fill(AT0)(AT0 /*Actor*/ actor, int x_fill, int y_fill) nothrow {
6473 clutter_box_layout_set_fill(&this, UpCast!(Actor*)(actor), x_fill, y_fill);
6476 // VERSION: 1.4
6477 // Sets whether the size of @layout children should be
6478 // homogeneous
6479 // <homogeneous>: %TRUE if the layout should be homogeneous
6480 void set_homogeneous()(int homogeneous) nothrow {
6481 clutter_box_layout_set_homogeneous(&this, homogeneous);
6484 // VERSION: 1.2
6485 // Sets whether children of @layout should be layed out by appending
6486 // them or by prepending them
6487 // <pack_start>: %TRUE if the @layout should pack children at the beginning of the layout
6488 void set_pack_start()(int pack_start) nothrow {
6489 clutter_box_layout_set_pack_start(&this, pack_start);
6492 // VERSION: 1.2
6493 // Sets the spacing between children of @layout
6494 // <spacing>: the spacing between children of the layout, in pixels
6495 void set_spacing()(uint spacing) nothrow {
6496 clutter_box_layout_set_spacing(&this, spacing);
6499 // VERSION: 1.2
6500 // Sets whether @layout should animate changes in the layout properties
6502 // The duration of the animations is controlled by
6503 // clutter_box_layout_set_easing_duration(); the easing mode to be used
6504 // by the animations is controlled by clutter_box_layout_set_easing_mode()
6505 // <animate>: %TRUE if the @layout should use animations
6506 void set_use_animations()(int animate) nothrow {
6507 clutter_box_layout_set_use_animations(&this, animate);
6510 // VERSION: 1.2
6511 // Sets whether @layout should arrange its children vertically alongside
6512 // the Y axis, instead of horizontally alongside the X axis
6513 // <vertical>: %TRUE if the layout should be vertical
6514 void set_vertical()(int vertical) nothrow {
6515 clutter_box_layout_set_vertical(&this, vertical);
6520 // The #ClutterBoxLayoutClass structure contains only private
6521 // data and should be accessed using the provided API
6522 struct BoxLayoutClass /* Version 1.2 */ {
6523 private LayoutManagerClass parent_class;
6526 struct BoxLayoutPrivate {
6529 struct BoxPrivate {
6532 enum int Break = 65387;
6533 enum int BrightnessAdjust = 269025083;
6535 // Button event.
6537 // The event coordinates are relative to the stage that received the
6538 // event, and can be transformed into actor-relative coordinates by
6539 // using clutter_actor_transform_stage_point().
6540 struct ButtonEvent /* Version 0.2 */ {
6541 EventType type;
6542 uint time;
6543 EventFlags flags;
6544 Stage* stage;
6545 Actor* source;
6546 float x, y;
6547 ModifierType modifier_state;
6548 uint button;
6549 uint click_count;
6550 double* axes;
6551 InputDevice* device;
6554 enum int Byelorussian_SHORTU = 1726;
6555 enum int Byelorussian_shortu = 1710;
6556 enum int C = 67;
6557 enum int CD = 269025107;
6558 enum int CH = 65186;
6559 enum COGL = "deprecated";
6560 enum int CURRENT_TIME = 0;
6561 enum int C_H = 65189;
6562 enum int C_h = 65188;
6563 enum int Cabovedot = 709;
6564 enum int Cacute = 454;
6565 // The #ClutterCairoTexture struct contains only private data.
6566 struct CairoTexture /* : Texture */ /* Version 1.0 */ {
6567 mixin Atk.ImplementorIface.__interface__;
6568 mixin Animatable.__interface__;
6569 mixin Container.__interface__;
6570 mixin Scriptable.__interface__;
6571 alias parent_instance this;
6572 alias parent_instance super_;
6573 alias parent_instance texture;
6574 Texture parent_instance;
6575 private CairoTexturePrivate* priv;
6578 // VERSION: 1.0
6579 // Creates a new #ClutterCairoTexture actor, with a surface of @width by
6580 // @height pixels.
6581 // RETURNS: the newly created #ClutterCairoTexture actor
6582 // <width>: the width of the surface
6583 // <height>: the height of the surface
6584 static CairoTexture* new_()(uint width, uint height) nothrow {
6585 return clutter_cairo_texture_new(width, height);
6587 static auto opCall()(uint width, uint height) {
6588 return clutter_cairo_texture_new(width, height);
6591 // VERSION: 1.0
6592 // Clears @self's internal drawing surface, so that the next upload
6593 // will replace the previous contents of the #ClutterCairoTexture
6594 // rather than adding to it.
6596 // Calling this function from within a #ClutterCairoTexture::draw
6597 // signal handler will clear the invalidated area.
6598 void clear()() nothrow {
6599 clutter_cairo_texture_clear(&this);
6602 // VERSION: 1.0
6603 // DEPRECATED (v1.8) method: create - Use the #ClutterCairoTexture::draw signal and
6604 // Creates a new Cairo context for the @cairo texture. It is
6605 // similar to using clutter_cairo_texture_create_region() with @x_offset
6606 // and @y_offset of 0, @width equal to the @cairo texture surface width
6607 // and @height equal to the @cairo texture surface height.
6609 // <warning><para>Do not call this function within the paint virtual
6610 // function or from a callback to the #ClutterActor::paint
6611 // signal.</para></warning>
6613 // to upload the contents of the context when done drawing
6616 // the clutter_cairo_texture_invalidate() function to obtain a
6617 // Cairo context for 2D drawing.
6618 // RETURNS: a newly created Cairo context. Use cairo_destroy()
6619 cairo.Context* /*new*/ create()() nothrow {
6620 return clutter_cairo_texture_create(&this);
6623 // VERSION: 1.0
6624 // DEPRECATED (v1.8) method: create_region - Use the #ClutterCairoTexture::draw signal and
6625 // Creates a new Cairo context that will updat the region defined
6626 // by @x_offset, @y_offset, @width and @height.
6628 // <warning><para>Do not call this function within the paint virtual
6629 // function or from a callback to the #ClutterActor::paint
6630 // signal.</para></warning>
6632 // to upload the contents of the context when done drawing
6635 // clutter_cairo_texture_invalidate_rectangle() to obtain a
6636 // clipped Cairo context for 2D drawing.
6637 // RETURNS: a newly created Cairo context. Use cairo_destroy()
6638 // <x_offset>: offset of the region on the X axis
6639 // <y_offset>: offset of the region on the Y axis
6640 // <width>: width of the region, or -1 for the full surface width
6641 // <height>: height of the region, or -1 for the full surface height
6642 cairo.Context* /*new*/ create_region()(int x_offset, int y_offset, int width, int height) nothrow {
6643 return clutter_cairo_texture_create_region(&this, x_offset, y_offset, width, height);
6646 // VERSION: 1.8
6647 // Retrieves the value set using clutter_cairo_texture_set_auto_resize().
6649 // allocation, and %FALSE otherwise
6650 // RETURNS: %TRUE if the #ClutterCairoTexture should track the
6651 int get_auto_resize()() nothrow {
6652 return clutter_cairo_texture_get_auto_resize(&this);
6655 // VERSION: 1.0
6656 // Retrieves the surface width and height for @self.
6657 // <width>: return location for the surface width, or %NULL
6658 // <height>: return location for the surface height, or %NULL
6659 void get_surface_size(AT0, AT1)(/*out*/ AT0 /*uint*/ width, /*out*/ AT1 /*uint*/ height) nothrow {
6660 clutter_cairo_texture_get_surface_size(&this, UpCast!(uint*)(width), UpCast!(uint*)(height));
6663 // VERSION: 1.8
6664 // Invalidates the whole surface of a #ClutterCairoTexture.
6666 // This function will cause the #ClutterCairoTexture::draw signal
6667 // to be emitted.
6669 // See also: clutter_cairo_texture_invalidate_rectangle()
6670 void invalidate()() nothrow {
6671 clutter_cairo_texture_invalidate(&this);
6674 // VERSION: 1.8
6675 // Invalidates a rectangular region of a #ClutterCairoTexture.
6677 // The invalidation will cause the #ClutterCairoTexture::draw signal
6678 // to be emitted.
6680 // See also: clutter_cairo_texture_invalidate()
6681 // <rect>: a rectangle with the area to invalida, or %NULL to perform an unbounded invalidation
6682 void invalidate_rectangle(AT0)(AT0 /*cairo.RectangleInt*/ rect=null) nothrow {
6683 clutter_cairo_texture_invalidate_rectangle(&this, UpCast!(cairo.RectangleInt*)(rect));
6686 // VERSION: 1.8
6687 // Sets whether the #ClutterCairoTexture should ensure that the
6688 // backing Cairo surface used matches the allocation assigned to
6689 // the actor. If the allocation changes, the contents of the
6690 // #ClutterCairoTexture will also be invalidated automatically.
6691 // <value>: %TRUE if the #ClutterCairoTexture should bind the surface size to the allocation
6692 void set_auto_resize()(int value) nothrow {
6693 clutter_cairo_texture_set_auto_resize(&this, value);
6696 // VERSION: 1.0
6697 // Resizes the Cairo surface used by @self to @width and @height.
6699 // This function will not invalidate the contents of the Cairo
6700 // texture: you will have to explicitly call either
6701 // clutter_cairo_texture_invalidate_rectangle() or
6702 // clutter_cairo_texture_invalidate().
6703 // <width>: the new width of the surface
6704 // <height>: the new height of the surface
6705 void set_surface_size()(uint width, uint height) nothrow {
6706 clutter_cairo_texture_set_surface_size(&this, width, height);
6709 // VERSION: 1.6
6710 // The ::create-surface signal is emitted when a #ClutterCairoTexture
6711 // news its surface (re)created, which happens either when the Cairo
6712 // context is created with clutter_cairo_texture_create() or
6713 // clutter_cairo_texture_create_region(), or when the surface is resized
6714 // through clutter_cairo_texture_set_surface_size().
6716 // The first signal handler that returns a non-%NULL, valid surface will
6717 // stop any further signal emission, and the returned surface will be
6718 // the one used.
6719 // RETURNS: the newly created #cairo_surface_t for the texture
6720 // <width>: the width of the surface to create
6721 // <height>: the height of the surface to create
6722 extern (C) alias static cairo.Surface* /*new*/ function (CairoTexture* this_, c_uint width, c_uint height, void* user_data=null) nothrow signal_create_surface;
6724 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6725 return super_.signal_connect!name(cb, data, cf);
6728 ulong signal_connect(string name:"create-surface", CB/*:signal_create_surface*/)
6729 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
6730 if (is(typeof(cb)==signal_create_surface)||_ttmm!(CB, signal_create_surface)()) {
6731 return signal_connect_data!()(&this, cast(char*)"create-surface",
6732 cast(GObject2.Callback)cb, data, null, cf);
6735 // VERSION: 1.8
6736 // The ::draw signal is emitted each time a #ClutterCairoTexture has
6737 // been invalidated.
6739 // The passed Cairo context passed will be clipped to the invalidated
6740 // area.
6742 // It is safe to connect multiple callbacks to this signals; the state
6743 // of the Cairo context passed to each callback is automatically saved
6744 // and restored, so it's not necessary to call cairo_save() and
6745 // cairo_restore().
6747 // to continue
6748 // RETURNS: %TRUE if the signal emission should stop, and %FALSE
6749 // <cr>: the Cairo context to use to draw
6750 extern (C) alias static c_int function (CairoTexture* this_, cairo.Context* cr, void* user_data=null) nothrow signal_draw;
6751 ulong signal_connect(string name:"draw", CB/*:signal_draw*/)
6752 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
6753 if (is(typeof(cb)==signal_draw)||_ttmm!(CB, signal_draw)()) {
6754 return signal_connect_data!()(&this, cast(char*)"draw",
6755 cast(GObject2.Callback)cb, data, null, cf);
6759 // The #ClutterCairoTextureClass struct contains only private data.
6760 struct CairoTextureClass /* Version 1.0 */ {
6761 private TextureClass parent_class;
6762 extern (C) cairo.Surface* /*new*/ function (CairoTexture* texture, uint width, uint height) nothrow create_surface;
6763 extern (C) int function (CairoTexture* texture, cairo.Context* cr) nothrow draw;
6764 extern (C) void function () nothrow _clutter_cairo_3;
6765 extern (C) void function () nothrow _clutter_cairo_4;
6768 struct CairoTexturePrivate {
6771 enum int Calculator = 269025053;
6772 enum int Calendar = 269025056;
6774 // Generic callback
6775 // <actor>: a #ClutterActor
6776 // <data>: user data
6777 extern (C) alias void function (Actor* actor, void* data) nothrow Callback;
6779 enum int Cancel = 65385;
6780 enum int Caps_Lock = 65509;
6781 enum int Ccaron = 456;
6782 enum int Ccedilla = 199;
6783 enum int Ccircumflex = 710;
6784 enum int Ch = 65185;
6786 // Base interface for container specific state for child actors. A child
6787 // data is meant to be used when you need to keep track of information
6788 // about each individual child added to a container.
6790 // In order to use it you should create your own subclass of
6791 // #ClutterChildMeta and set the #ClutterContainerIface child_meta_type
6792 // interface member to your subclass type, like:
6794 // |[
6795 // static void
6796 // my_container_iface_init (ClutterContainerIface *iface)
6797 // {
6798 // /&ast; set the rest of the #ClutterContainer vtable &ast;/
6800 // container_iface->child_meta_type = MY_TYPE_CHILD_META;
6801 // }
6802 // ]|
6804 // This will automatically create a #ClutterChildMeta of type
6805 // MY_TYPE_CHILD_META for every actor that is added to the container.
6807 // The child data for an actor can be retrieved using the
6808 // clutter_container_get_child_meta() function.
6810 // The properties of the data and your subclass can be manipulated with
6811 // clutter_container_child_set() and clutter_container_child_get() which
6812 // act like g_object_set() and g_object_get().
6814 // You can provide hooks for your own storage as well as control the
6815 // instantiation by overriding the #ClutterContainerIface virtual functions
6816 // <function>create_child_meta</function>,
6817 // <function>destroy_child_meta</function>,
6818 // and <function>get_child_meta</function>.
6819 struct ChildMeta /* : GObject.Object */ /* Version 0.8 */ {
6820 alias parent_instance this;
6821 alias parent_instance super_;
6822 alias parent_instance object;
6823 GObject2.Object parent_instance;
6824 Container* container;
6825 Actor* actor;
6828 // VERSION: 0.8
6829 // Retrieves the actor wrapped by @data
6830 // RETURNS: a #ClutterActor
6831 Actor* get_actor()() nothrow {
6832 return clutter_child_meta_get_actor(&this);
6835 // VERSION: 0.8
6836 // Retrieves the container using @data
6837 // RETURNS: a #ClutterContainer
6838 Container* get_container()() nothrow {
6839 return clutter_child_meta_get_container(&this);
6843 // The #ClutterChildMetaClass contains only private data
6844 struct ChildMetaClass /* Version 0.8 */ {
6845 private GObject2.ObjectClass parent_class;
6848 enum int Clear = 65291;
6849 enum int ClearGrab = 269024801;
6851 // The <structname>ClutterClickAction</structname> structure contains
6852 // only private data and should be accessed using the provided API
6853 struct ClickAction /* : Action */ /* Version 1.4 */ {
6854 alias parent_instance this;
6855 alias parent_instance super_;
6856 alias parent_instance action;
6857 Action parent_instance;
6858 private ClickActionPrivate* priv;
6861 // VERSION: 1.4
6862 // Creates a new #ClutterClickAction instance
6863 // RETURNS: the newly created #ClutterClickAction
6864 static ClickAction* new_()() nothrow {
6865 return clutter_click_action_new();
6867 static auto opCall()() {
6868 return clutter_click_action_new();
6871 // VERSION: 1.4
6872 // Retrieves the button that was pressed.
6873 // RETURNS: the button value
6874 uint get_button()() nothrow {
6875 return clutter_click_action_get_button(&this);
6878 // VERSION: 1.8
6879 // Retrieves the screen coordinates of the button press.
6880 // <press_x>: return location for the X coordinate, or %NULL
6881 // <press_y>: return location for the Y coordinate, or %NULL
6882 void get_coords(AT0, AT1)(/*out*/ AT0 /*float*/ press_x, /*out*/ AT1 /*float*/ press_y) nothrow {
6883 clutter_click_action_get_coords(&this, UpCast!(float*)(press_x), UpCast!(float*)(press_y));
6886 // VERSION: 1.6
6887 // Retrieves the modifier state of the click action.
6888 // RETURNS: the modifier state parameter, or 0
6889 ModifierType get_state()() nothrow {
6890 return clutter_click_action_get_state(&this);
6893 // VERSION: 1.4
6894 // Emulates a release of the pointer button, which ungrabs the pointer
6895 // and unsets the #ClutterClickAction:pressed state.
6897 // This function will also cancel the long press gesture if one was
6898 // initiated.
6900 // This function is useful to break a grab, for instance after a certain
6901 // amount of time has passed.
6902 void release()() nothrow {
6903 clutter_click_action_release(&this);
6906 // VERSION: 1.4
6907 // The ::clicked signal is emitted when the #ClutterActor to which
6908 // a #ClutterClickAction has been applied should respond to a
6909 // pointer button press and release events
6910 // <actor>: the #ClutterActor attached to the @action
6911 extern (C) alias static void function (ClickAction* this_, Actor* actor, void* user_data=null) nothrow signal_clicked;
6913 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
6914 return super_.signal_connect!name(cb, data, cf);
6917 ulong signal_connect(string name:"clicked", CB/*:signal_clicked*/)
6918 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
6919 if (is(typeof(cb)==signal_clicked)||_ttmm!(CB, signal_clicked)()) {
6920 return signal_connect_data!()(&this, cast(char*)"clicked",
6921 cast(GObject2.Callback)cb, data, null, cf);
6924 // VERSION: 1.8
6925 // The ::long-press signal is emitted during the long press gesture
6926 // handling.
6928 // This signal can be emitted multiple times with different states.
6930 // The %CLUTTER_LONG_PRESS_QUERY state will be emitted on button presses,
6931 // and its return value will determine whether the long press handling
6932 // should be initiated. If the signal handlers will return %TRUE, the
6933 // %CLUTTER_LONG_PRESS_QUERY state will be followed either by a signal
6934 // emission with the %CLUTTER_LONG_PRESS_ACTIVATE state if the long press
6935 // constraints were respected, or by a signal emission with the
6936 // %CLUTTER_LONG_PRESS_CANCEL state if the long press was cancelled.
6938 // It is possible to forcibly cancel a long press detection using
6939 // clutter_click_action_release().
6941 // returned value of the handler; other states will ignore it
6942 // RETURNS: Only the %CLUTTER_LONG_PRESS_QUERY state uses the
6943 // <actor>: the #ClutterActor attached to the @action
6944 // <state>: the long press state
6945 extern (C) alias static c_int function (ClickAction* this_, Actor* actor, LongPressState* state, void* user_data=null) nothrow signal_long_press;
6946 ulong signal_connect(string name:"long-press", CB/*:signal_long_press*/)
6947 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
6948 if (is(typeof(cb)==signal_long_press)||_ttmm!(CB, signal_long_press)()) {
6949 return signal_connect_data!()(&this, cast(char*)"long-press",
6950 cast(GObject2.Callback)cb, data, null, cf);
6955 // The <structname>ClutterClickActionClass</structname> structure
6956 // contains only private data
6957 struct ClickActionClass /* Version 1.4 */ {
6958 private ActionClass parent_class;
6959 extern (C) void function (ClickAction* action, Actor* actor) nothrow clicked;
6960 extern (C) int function (ClickAction* action, Actor* actor, LongPressState state) nothrow long_press;
6961 extern (C) void function () nothrow _clutter_click_action1;
6962 extern (C) void function () nothrow _clutter_click_action2;
6963 extern (C) void function () nothrow _clutter_click_action3;
6964 extern (C) void function () nothrow _clutter_click_action4;
6965 extern (C) void function () nothrow _clutter_click_action5;
6966 extern (C) void function () nothrow _clutter_click_action6;
6967 extern (C) void function () nothrow _clutter_click_action7;
6970 struct ClickActionPrivate {
6974 // The #ClutterClone structure contains only private data
6975 // and should be accessed using the provided API
6976 struct Clone /* : Actor */ /* Version 1.0 */ {
6977 mixin Atk.ImplementorIface.__interface__;
6978 mixin Animatable.__interface__;
6979 mixin Container.__interface__;
6980 mixin Scriptable.__interface__;
6981 alias parent_instance this;
6982 alias parent_instance super_;
6983 alias parent_instance actor;
6984 Actor parent_instance;
6985 private ClonePrivate* priv;
6988 // VERSION: 1.0
6989 // Creates a new #ClutterActor which clones @source/
6990 // RETURNS: the newly created #ClutterClone
6991 // <source>: a #ClutterActor, or %NULL
6992 static Clone* new_(AT0)(AT0 /*Actor*/ source) nothrow {
6993 return clutter_clone_new(UpCast!(Actor*)(source));
6995 static auto opCall(AT0)(AT0 /*Actor*/ source) {
6996 return clutter_clone_new(UpCast!(Actor*)(source));
6999 // VERSION: 1.0
7000 // Retrieves the source #ClutterActor being cloned by @self.
7001 // RETURNS: the actor source for the clone
7002 Actor* get_source()() nothrow {
7003 return clutter_clone_get_source(&this);
7006 // VERSION: 1.0
7007 // Sets @source as the source actor to be cloned by @self.
7008 // <source>: a #ClutterActor, or %NULL
7009 void set_source(AT0)(AT0 /*Actor*/ source=null) nothrow {
7010 clutter_clone_set_source(&this, UpCast!(Actor*)(source));
7014 // The #ClutterCloneClass structure contains only private data
7015 struct CloneClass /* Version 1.0 */ {
7016 private ActorClass parent_class;
7017 extern (C) void function () nothrow _clutter_actor_clone1;
7018 extern (C) void function () nothrow _clutter_actor_clone2;
7019 extern (C) void function () nothrow _clutter_actor_clone3;
7020 extern (C) void function () nothrow _clutter_actor_clone4;
7023 struct ClonePrivate {
7026 enum int Close = 269025110;
7027 enum int Codeinput = 65335;
7028 enum int ColonSign = 16785569;
7029 // Color representation.
7030 struct Color {
7031 ubyte red, green, blue, alpha;
7034 // VERSION: 0.8.4
7035 // Creates a new #ClutterColor with the given values.
7037 // Use clutter_color_free() when done
7038 // RETURNS: the newly allocated color.
7039 // <red>: red component of the color, between 0 and 255
7040 // <green>: green component of the color, between 0 and 255
7041 // <blue>: blue component of the color, between 0 and 255
7042 // <alpha>: alpha component of the color, between 0 and 255
7043 static Color* /*new*/ new_()(ubyte red, ubyte green, ubyte blue, ubyte alpha) nothrow {
7044 return clutter_color_new(red, green, blue, alpha);
7046 static auto opCall()(ubyte red, ubyte green, ubyte blue, ubyte alpha) {
7047 return clutter_color_new(red, green, blue, alpha);
7050 // Adds @a to @b and saves the resulting color inside @result.
7052 // The alpha channel of @result is set as as the maximum value
7053 // between the alpha channels of @a and @b.
7054 // <b>: a #ClutterColor
7055 // <result>: return location for the result
7056 void add(AT0, AT1)(AT0 /*Color*/ b, /*out*/ AT1 /*Color*/ result) nothrow {
7057 clutter_color_add(&this, UpCast!(Color*)(b), UpCast!(Color*)(result));
7060 // VERSION: 0.2
7061 // Makes a copy of the color structure. The result must be
7062 // freed using clutter_color_free().
7063 // RETURNS: an allocated copy of @color.
7064 Color* /*new*/ copy()() nothrow {
7065 return clutter_color_copy(&this);
7068 // Darkens @color by a fixed amount, and saves the changed color
7069 // in @result.
7070 // <result>: return location for the darker color
7071 void darken(AT0)(/*out*/ AT0 /*Color*/ result) nothrow {
7072 clutter_color_darken(&this, UpCast!(Color*)(result));
7075 // VERSION: 0.2
7076 // Frees a color structure created with clutter_color_copy().
7077 void free()() nothrow {
7078 clutter_color_free(&this);
7081 // Converts a color expressed in HLS (hue, luminance and saturation)
7082 // values into a #ClutterColor.
7083 // <hue>: hue value, in the 0 .. 360 range
7084 // <luminance>: luminance value, in the 0 .. 1 range
7085 // <saturation>: saturation value, in the 0 .. 1 range
7086 void from_hls()(float hue, float luminance, float saturation) nothrow {
7087 clutter_color_from_hls(&this, hue, luminance, saturation);
7090 // Converts @pixel from the packed representation of a four 8 bit channel
7091 // color to a #ClutterColor.
7092 // <pixel>: a 32 bit packed integer containing a color
7093 void from_pixel()(uint pixel) nothrow {
7094 clutter_color_from_pixel(&this, pixel);
7097 // VERSION: 1.0
7098 // Parses a string definition of a color, filling the
7099 // <structfield>red</structfield>, <structfield>green</structfield>,
7100 // <structfield>blue</structfield> and <structfield>alpha</structfield>
7101 // channels of @color.
7103 // The @color is not allocated.
7105 // The format of @str can be either one of:
7107 // <itemizedlist>
7108 // <listitem>
7109 // <para>a standard name (as taken from the X11 rgb.txt file)</para>
7110 // </listitem>
7111 // <listitem>
7112 // <para>an hexadecimal value in the form: <literal>&num;rgb</literal>,
7113 // <literal>&num;rrggbb</literal>, <literal>&num;rgba</literal> or
7114 // <literal>&num;rrggbbaa</literal></para>
7115 // </listitem>
7116 // <listitem>
7117 // <para>a RGB color in the form: <literal>rgb(r, g, b)</literal></para>
7118 // </listitem>
7119 // <listitem>
7120 // <para>a RGB color in the form: <literal>rgba(r, g, b, a)</literal></para>
7121 // </listitem>
7122 // <listitem>
7123 // <para>a HSL color in the form: <literal>hsl(h, s, l)</literal></para>
7124 // </listitem>
7125 // <listitem>
7126 // <para>a HSL color in the form: <literal>hsla(h, s, l, a)</literal></para>
7127 // </listitem>
7128 // </itemizedlist>
7130 // where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color
7131 // intensities and the opacity. The 'h', 's' and 'l' are (respectively) the
7132 // hue, saturation and luminance values.
7134 // In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either
7135 // integers between 0 and 255, or percentage values in the range between 0%
7136 // and 100%; the percentages require the '%' character. The 'a' value, if
7137 // specified, can only be a floating point value between 0.0 and 1.0.
7139 // In the hls() and hlsa() formats, the 'h' value (hue) it's an angle between
7140 // 0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are
7141 // a floating point value between 0.0 and 1.0. The 'a' value, if specified,
7142 // can only be a floating point value between 0.0 and 1.0.
7144 // Whitespace inside the definitions is ignored; no leading whitespace
7145 // is allowed.
7147 // If the alpha component is not specified then it is assumed to be set to
7148 // be fully opaque.
7149 // RETURNS: %TRUE if parsing succeeded, and %FALSE otherwise
7150 // <str>: a string specifiying a color
7151 int from_string(AT0)(AT0 /*char*/ str) nothrow {
7152 return clutter_color_from_string(&this, toCString!(char*)(str));
7155 // VERSION: 1.6
7156 // Interpolates between @initial and @final #ClutterColor<!-- -->s
7157 // using @progress
7158 // <final>: the final #ClutterColor
7159 // <progress>: the interpolation progress
7160 // <result>: return location for the interpolation
7161 void interpolate(AT0, AT1)(AT0 /*Color*/ final_, double progress, /*out*/ AT1 /*Color*/ result) nothrow {
7162 clutter_color_interpolate(&this, UpCast!(Color*)(final_), progress, UpCast!(Color*)(result));
7165 // Lightens @color by a fixed amount, and saves the changed color
7166 // in @result.
7167 // <result>: return location for the lighter color
7168 void lighten(AT0)(/*out*/ AT0 /*Color*/ result) nothrow {
7169 clutter_color_lighten(&this, UpCast!(Color*)(result));
7172 // Shades @color by @factor and saves the modified color into @result.
7173 // <factor>: the shade factor to apply
7174 // <result>: return location for the shaded color
7175 void shade(AT0)(double factor, /*out*/ AT0 /*Color*/ result) nothrow {
7176 clutter_color_shade(&this, factor, UpCast!(Color*)(result));
7179 // Subtracts @b from @a and saves the resulting color inside @result.
7181 // This function assumes that the components of @a are greater than the
7182 // components of @b; the result is, otherwise, undefined.
7184 // The alpha channel of @result is set as the minimum value
7185 // between the alpha channels of @a and @b.
7186 // <b>: a #ClutterColor
7187 // <result>: return location for the result
7188 void subtract(AT0, AT1)(AT0 /*Color*/ b, /*out*/ AT1 /*Color*/ result) nothrow {
7189 clutter_color_subtract(&this, UpCast!(Color*)(b), UpCast!(Color*)(result));
7192 // Converts @color to the HLS format.
7194 // The @hue value is in the 0 .. 360 range. The @luminance and
7195 // @saturation values are in the 0 .. 1 range.
7196 // <hue>: return location for the hue value or %NULL
7197 // <luminance>: return location for the luminance value or %NULL
7198 // <saturation>: return location for the saturation value or %NULL
7199 void to_hls(AT0, AT1, AT2)(/*out*/ AT0 /*float*/ hue, /*out*/ AT1 /*float*/ luminance, /*out*/ AT2 /*float*/ saturation) nothrow {
7200 clutter_color_to_hls(&this, UpCast!(float*)(hue), UpCast!(float*)(luminance), UpCast!(float*)(saturation));
7203 // Converts @color into a packed 32 bit integer, containing
7204 // all the four 8 bit channels used by #ClutterColor.
7205 // RETURNS: a packed color
7206 uint to_pixel()() nothrow {
7207 return clutter_color_to_pixel(&this);
7210 // VERSION: 0.2
7211 // Returns a textual specification of @color in the hexadecimal form
7212 // <literal>&num;rrggbbaa</literal>, where <literal>r</literal>,
7213 // <literal>g</literal>, <literal>b</literal> and <literal>a</literal> are
7214 // hexadecimal digits representing the red, green, blue and alpha components
7215 // respectively.
7216 // RETURNS: a newly-allocated text string
7217 char* /*new*/ to_string()() nothrow {
7218 return clutter_color_to_string(&this);
7221 // VERSION: 0.2
7222 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
7224 // This function can be passed to g_hash_table_new() as the @key_equal_func
7225 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
7226 // RETURNS: %TRUE if the two colors are the same.
7227 // <v1>: a #ClutterColor
7228 // <v2>: a #ClutterColor
7229 static int equal(AT0, AT1)(AT0 /*const(void)*/ v1, AT1 /*const(void)*/ v2) nothrow {
7230 return clutter_color_equal(UpCast!(const(void)*)(v1), UpCast!(const(void)*)(v2));
7233 // VERSION: 1.6
7234 // Retrieves a static color for the given @color name
7236 // Static colors are created by Clutter and are guaranteed to always be
7237 // available and valid
7239 // is owned by Clutter and it should never be modified or freed
7240 // RETURNS: a pointer to a static color; the returned pointer
7241 // <color>: the named global color
7242 static Color* get_static()(StaticColor color) nothrow {
7243 return clutter_color_get_static(color);
7246 // VERSION: 1.0
7247 // Converts a #ClutterColor to a hash value.
7249 // This function can be passed to g_hash_table_new() as the @hash_func
7250 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
7251 // RETURNS: a hash value corresponding to the color
7252 // <v>: a #ClutterColor
7253 static uint hash(AT0)(AT0 /*const(void)*/ v) nothrow {
7254 return clutter_color_hash(UpCast!(const(void)*)(v));
7259 // <structname>ClutterColorizeEffect</structname> is an opaque structure
7260 // whose members cannot be directly accessed
7261 struct ColorizeEffect /* : OffscreenEffect */ /* Version 1.4 */ {
7262 alias method_parent this;
7263 alias method_parent super_;
7264 alias method_parent offscreeneffect;
7265 OffscreenEffect method_parent;
7268 // VERSION: 1.4
7269 // Creates a new #ClutterColorizeEffect to be used with
7270 // clutter_actor_add_effect()
7271 // RETURNS: the newly created #ClutterColorizeEffect or %NULL
7272 // <tint>: the color to be used
7273 static ColorizeEffect* new_(AT0)(AT0 /*Color*/ tint) nothrow {
7274 return clutter_colorize_effect_new(UpCast!(Color*)(tint));
7276 static auto opCall(AT0)(AT0 /*Color*/ tint) {
7277 return clutter_colorize_effect_new(UpCast!(Color*)(tint));
7280 // VERSION: 1.4
7281 // Retrieves the tint used by @effect
7282 // <tint>: return location for the color used
7283 void get_tint(AT0)(/*out*/ AT0 /*Color*/ tint) nothrow {
7284 clutter_colorize_effect_get_tint(&this, UpCast!(Color*)(tint));
7287 // VERSION: 1.4
7288 // Sets the tint to be used when colorizing
7289 // <tint>: the color to be used
7290 void set_tint(AT0)(AT0 /*Color*/ tint) nothrow {
7291 clutter_colorize_effect_set_tint(&this, UpCast!(Color*)(tint));
7295 struct ColorizeEffectClass {
7298 enum int Community = 269025085;
7300 // The <structname>ClutterConstraint</structname> structure contains only
7301 // private data and should be accessed using the provided API
7302 struct Constraint /* : ActorMeta */ /* Version 1.4 */ {
7303 alias parent_instance this;
7304 alias parent_instance super_;
7305 alias parent_instance actormeta;
7306 ActorMeta parent_instance;
7310 // The <structname>ClutterConstraintClass</structname> structure contains
7311 // only private data
7312 struct ConstraintClass /* Version 1.4 */ {
7313 private ActorMetaClass parent_class;
7314 extern (C) void function (Constraint* constraint, Actor* actor, ActorBox* allocation) nothrow update_allocation;
7315 extern (C) void function () nothrow _clutter_constraint1;
7316 extern (C) void function () nothrow _clutter_constraint2;
7317 extern (C) void function () nothrow _clutter_constraint3;
7318 extern (C) void function () nothrow _clutter_constraint4;
7319 extern (C) void function () nothrow _clutter_constraint5;
7320 extern (C) void function () nothrow _clutter_constraint6;
7321 extern (C) void function () nothrow _clutter_constraint7;
7322 extern (C) void function () nothrow _clutter_constraint8;
7326 // #ClutterContainer is an opaque structure whose members cannot be directly
7327 // accessed
7328 struct Container /* Interface */ /* Version 0.4 */ {
7329 mixin template __interface__() {
7330 // VERSION: 0.8
7331 // Looks up the #GParamSpec for a child property of @klass.
7333 // if no such property exist.
7334 // RETURNS: The #GParamSpec for the property or %NULL
7335 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
7336 // <property_name>: a property name.
7337 static GObject2.ParamSpec* class_find_child_property(AT0, AT1)(AT0 /*GObject2.ObjectClass*/ klass, AT1 /*char*/ property_name) nothrow {
7338 return clutter_container_class_find_child_property(UpCast!(GObject2.ObjectClass*)(klass), toCString!(char*)(property_name));
7341 // VERSION: 0.8
7342 // Returns an array of #GParamSpec for all child properties.
7344 // of #GParamSpec<!-- -->s which should be freed after use.
7345 // RETURNS: an array
7346 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
7347 // <n_properties>: return location for length of returned array.
7348 static GObject2.ParamSpec** /*new*/ class_list_child_properties(AT0, AT1)(AT0 /*GObject2.ObjectClass*/ klass, /*out*/ AT1 /*uint*/ n_properties) nothrow {
7349 return clutter_container_class_list_child_properties(UpCast!(GObject2.ObjectClass*)(klass), UpCast!(uint*)(n_properties));
7352 // Unintrospectable method: add() / clutter_container_add()
7353 // VERSION: 0.4
7354 // DEPRECATED (v1.10) method: add - Use clutter_actor_add_child() instead.
7355 // Adds a list of #ClutterActor<!-- -->s to @container. Each time and
7356 // actor is added, the "actor-added" signal is emitted. Each actor should
7357 // be parented to @container, which takes a reference on the actor. You
7358 // cannot add a #ClutterActor to more than one #ClutterContainer.
7359 // <first_actor>: the first #ClutterActor to add
7360 /+ Not available -- variadic methods unsupported - use the C function directly.
7361 alias clutter_container_add add; // Variadic
7364 // VERSION: 0.4
7365 // DEPRECATED (v1.10) method: add_actor - Use clutter_actor_add_child() instead.
7366 // Adds a #ClutterActor to @container. This function will emit the
7367 // "actor-added" signal. The actor should be parented to
7368 // @container. You cannot add a #ClutterActor to more than one
7369 // #ClutterContainer.
7370 // <actor>: the first #ClutterActor to add
7371 void add_actor(AT0)(AT0 /*Actor*/ actor) nothrow {
7372 clutter_container_add_actor(cast(Container*)&this, UpCast!(Actor*)(actor));
7375 // Unintrospectable method: add_valist() / clutter_container_add_valist()
7376 // VERSION: 0.4
7377 // DEPRECATED (v1.10) method: add_valist - Use clutter_actor_add_child() instead.
7378 // Alternative va_list version of clutter_container_add().
7379 // <first_actor>: the first #ClutterActor to add
7380 // <var_args>: list of actors to add, followed by %NULL
7381 void add_valist(AT0)(AT0 /*Actor*/ first_actor, va_list var_args) nothrow {
7382 clutter_container_add_valist(cast(Container*)&this, UpCast!(Actor*)(first_actor), var_args);
7385 // Unintrospectable method: child_get() / clutter_container_child_get()
7386 // VERSION: 0.8
7387 // Gets @container specific properties of an actor.
7389 // In general, a copy is made of the property contents and the caller is
7390 // responsible for freeing the memory in the appropriate manner for the type, for
7391 // instance by calling g_free() or g_object_unref().
7392 // <actor>: a #ClutterActor that is a child of @container.
7393 // <first_prop>: name of the first property to be set.
7394 /+ Not available -- variadic methods unsupported - use the C function directly.
7395 alias clutter_container_child_get child_get; // Variadic
7398 // VERSION: 0.8
7399 // Gets a container specific property of a child of @container, In general,
7400 // a copy is made of the property contents and the caller is responsible for
7401 // freeing the memory by calling g_value_unset().
7403 // Note that clutter_container_child_set_property() is really intended for
7404 // language bindings, clutter_container_child_set() is much more convenient
7405 // for C programming.
7406 // <child>: a #ClutterActor that is a child of @container.
7407 // <property>: the name of the property to set.
7408 // <value>: the value.
7409 void child_get_property(AT0, AT1, AT2)(AT0 /*Actor*/ child, AT1 /*char*/ property, AT2 /*GObject2.Value*/ value) nothrow {
7410 clutter_container_child_get_property(cast(Container*)&this, UpCast!(Actor*)(child), toCString!(char*)(property), UpCast!(GObject2.Value*)(value));
7413 // VERSION: 1.6
7414 // Calls the <function>child_notify()</function> virtual function of
7415 // #ClutterContainer. The default implementation will emit the
7416 // #ClutterContainer::child-notify signal.
7417 // <child>: a #ClutterActor
7418 // <pspec>: a #GParamSpec
7419 void child_notify(AT0, AT1)(AT0 /*Actor*/ child, AT1 /*GObject2.ParamSpec*/ pspec) nothrow {
7420 clutter_container_child_notify(cast(Container*)&this, UpCast!(Actor*)(child), UpCast!(GObject2.ParamSpec*)(pspec));
7423 // Unintrospectable method: child_set() / clutter_container_child_set()
7424 // VERSION: 0.8
7425 // Sets container specific properties on the child of a container.
7426 // <actor>: a #ClutterActor that is a child of @container.
7427 // <first_prop>: name of the first property to be set.
7428 /+ Not available -- variadic methods unsupported - use the C function directly.
7429 alias clutter_container_child_set child_set; // Variadic
7432 // VERSION: 0.8
7433 // Sets a container-specific property on a child of @container.
7434 // <child>: a #ClutterActor that is a child of @container.
7435 // <property>: the name of the property to set.
7436 // <value>: the value.
7437 void child_set_property(AT0, AT1, AT2)(AT0 /*Actor*/ child, AT1 /*char*/ property, AT2 /*GObject2.Value*/ value) nothrow {
7438 clutter_container_child_set_property(cast(Container*)&this, UpCast!(Actor*)(child), toCString!(char*)(property), UpCast!(GObject2.Value*)(value));
7441 // VERSION: 1.2
7442 // Creates the #ClutterChildMeta wrapping @actor inside the
7443 // @container, if the #ClutterContainerIface::child_meta_type
7444 // class member is not set to %G_TYPE_INVALID.
7446 // This function is only useful when adding a #ClutterActor to
7447 // a #ClutterContainer implementation outside of the
7448 // #ClutterContainer::add() virtual function implementation.
7450 // Applications should not call this function.
7451 // <actor>: a #ClutterActor
7452 void create_child_meta(AT0)(AT0 /*Actor*/ actor) nothrow {
7453 clutter_container_create_child_meta(cast(Container*)&this, UpCast!(Actor*)(actor));
7456 // VERSION: 1.2
7457 // Destroys the #ClutterChildMeta wrapping @actor inside the
7458 // @container, if any.
7460 // This function is only useful when removing a #ClutterActor to
7461 // a #ClutterContainer implementation outside of the
7462 // #ClutterContainer::add() virtual function implementation.
7464 // Applications should not call this function.
7465 // <actor>: a #ClutterActor
7466 void destroy_child_meta(AT0)(AT0 /*Actor*/ actor) nothrow {
7467 clutter_container_destroy_child_meta(cast(Container*)&this, UpCast!(Actor*)(actor));
7470 // VERSION: 0.6
7471 // Finds a child actor of a container by its name. Search recurses
7472 // into any child container.
7474 // or %NULL if no actor with that name was found.
7475 // RETURNS: The child actor with the requested name,
7476 // <child_name>: the name of the requested child.
7477 Actor* find_child_by_name(AT0)(AT0 /*char*/ child_name) nothrow {
7478 return clutter_container_find_child_by_name(cast(Container*)&this, toCString!(char*)(child_name));
7481 // VERSION: 0.4
7482 // DEPRECATED (v1.10) method: foreach - Use clutter_actor_get_first_child() or
7483 // Calls @callback for each child of @container that was added
7484 // by the application (with clutter_container_add_actor()). Does
7485 // not iterate over "internal" children that are part of the
7486 // container's own implementation, if any.
7489 // clutter_actor_get_last_child() to retrieve the beginning of
7490 // the list of children, and clutter_actor_get_next_sibling()
7491 // and clutter_actor_get_previous_sibling() to iterate over it.
7492 // <callback>: a function to be called for each child
7493 // <user_data>: data to be passed to the function, or %NULL
7494 void foreach_(AT0)(Callback callback, AT0 /*void*/ user_data) nothrow {
7495 clutter_container_foreach(cast(Container*)&this, callback, UpCast!(void*)(user_data));
7498 // VERSION: 1.0
7499 // DEPRECATED (v1.10) method: foreach_with_internals - See clutter_container_foreach().
7500 // Calls @callback for each child of @container, including "internal"
7501 // children built in to the container itself that were never added
7502 // by the application.
7503 // <callback>: a function to be called for each child
7504 // <user_data>: data to be passed to the function, or %NULL
7505 void foreach_with_internals(AT0)(Callback callback, AT0 /*void*/ user_data) nothrow {
7506 clutter_container_foreach_with_internals(cast(Container*)&this, callback, UpCast!(void*)(user_data));
7509 // VERSION: 0.8
7510 // Retrieves the #ClutterChildMeta which contains the data about the
7511 // @container specific state for @actor.
7513 // of @container or %NULL if the specifiec actor does not exist or the
7514 // container is not configured to provide #ClutterChildMeta<!-- -->s
7515 // RETURNS: the #ClutterChildMeta for the @actor child
7516 // <actor>: a #ClutterActor that is a child of @container.
7517 ChildMeta* get_child_meta(AT0)(AT0 /*Actor*/ actor) nothrow {
7518 return clutter_container_get_child_meta(cast(Container*)&this, UpCast!(Actor*)(actor));
7521 // VERSION: 0.4
7522 // DEPRECATED (v1.10) method: get_children - Use clutter_actor_get_children() instead.
7523 // Retrieves all the children of @container.
7525 // of #ClutterActor<!-- -->s. Use g_list_free() on the returned
7526 // list when done.
7527 // RETURNS: a list
7528 GLib2.List* /*new container*/ get_children()() nothrow {
7529 return clutter_container_get_children(cast(Container*)&this);
7532 // VERSION: 0.6
7533 // DEPRECATED (v1.10) method: lower_child - Use clutter_actor_set_child_below_sibling() instead.
7534 // Lowers @actor to @sibling level, in the depth ordering.
7535 // <actor>: the actor to raise
7536 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
7537 void lower_child(AT0, AT1)(AT0 /*Actor*/ actor, AT1 /*Actor*/ sibling=null) nothrow {
7538 clutter_container_lower_child(cast(Container*)&this, UpCast!(Actor*)(actor), UpCast!(Actor*)(sibling));
7541 // VERSION: 0.6
7542 // DEPRECATED (v1.10) method: raise_child - Use clutter_actor_set_child_above_sibling() instead.
7543 // Raises @actor to @sibling level, in the depth ordering.
7544 // <actor>: the actor to raise
7545 // <sibling>: the sibling to raise to, or %NULL to raise to the top
7546 void raise_child(AT0, AT1)(AT0 /*Actor*/ actor, AT1 /*Actor*/ sibling=null) nothrow {
7547 clutter_container_raise_child(cast(Container*)&this, UpCast!(Actor*)(actor), UpCast!(Actor*)(sibling));
7550 // Unintrospectable method: remove() / clutter_container_remove()
7551 // VERSION: 0.4
7552 // DEPRECATED (v1.10) method: remove - Use clutter_actor_remove_child() instead.
7553 // Removes a %NULL terminated list of #ClutterActor<!-- -->s from
7554 // @container. Each actor should be unparented, so if you want to keep it
7555 // around you must hold a reference to it yourself, using g_object_ref().
7556 // Each time an actor is removed, the "actor-removed" signal is
7557 // emitted by @container.
7558 // <first_actor>: first #ClutterActor to remove
7559 /+ Not available -- variadic methods unsupported - use the C function directly.
7560 alias clutter_container_remove remove; // Variadic
7563 // VERSION: 0.4
7564 // DEPRECATED (v1.10) method: remove_actor - Use clutter_actor_remove_child() instead.
7565 // Removes @actor from @container. The actor should be unparented, so
7566 // if you want to keep it around you must hold a reference to it
7567 // yourself, using g_object_ref(). When the actor has been removed,
7568 // the "actor-removed" signal is emitted by @container.
7569 // <actor>: a #ClutterActor
7570 void remove_actor(AT0)(AT0 /*Actor*/ actor) nothrow {
7571 clutter_container_remove_actor(cast(Container*)&this, UpCast!(Actor*)(actor));
7574 // Unintrospectable method: remove_valist() / clutter_container_remove_valist()
7575 // VERSION: 0.4
7576 // DEPRECATED (v1.10) method: remove_valist - Use clutter_actor_remove_child() instead.
7577 // Alternative va_list version of clutter_container_remove().
7578 // <first_actor>: the first #ClutterActor to add
7579 // <var_args>: list of actors to remove, followed by %NULL
7580 void remove_valist(AT0)(AT0 /*Actor*/ first_actor, va_list var_args) nothrow {
7581 clutter_container_remove_valist(cast(Container*)&this, UpCast!(Actor*)(first_actor), var_args);
7584 // VERSION: 0.6
7585 // DEPRECATED (v1.10) method: sort_depth_order - The #ClutterContainerIface.sort_depth_order() virtual
7586 // Sorts a container's children using their depth. This function should not
7587 // be normally used by applications.
7590 // function should not be used any more; the default implementation in
7591 // #ClutterContainer does not do anything.
7592 void sort_depth_order()() nothrow {
7593 clutter_container_sort_depth_order(cast(Container*)&this);
7596 // VERSION: 0.4
7597 // The ::actor-added signal is emitted each time an actor
7598 // has been added to @container.
7599 // <actor>: the new child that has been added to @container
7600 extern (C) alias static void function (Container* this_, Actor* actor, void* user_data=null) nothrow signal_actor_added;
7602 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
7603 return super_.signal_connect!name(cb, data, cf);
7606 ulong signal_connect(string name:"actor-added", CB/*:signal_actor_added*/)
7607 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
7608 if (is(typeof(cb)==signal_actor_added)||_ttmm!(CB, signal_actor_added)()) {
7609 return signal_connect_data!()(&this, cast(char*)"actor-added",
7610 cast(GObject2.Callback)cb, data, null, cf);
7613 // VERSION: 0.4
7614 // The ::actor-removed signal is emitted each time an actor
7615 // is removed from @container.
7616 // <actor>: the child that has been removed from @container
7617 extern (C) alias static void function (Container* this_, Actor* actor, void* user_data=null) nothrow signal_actor_removed;
7618 ulong signal_connect(string name:"actor-removed", CB/*:signal_actor_removed*/)
7619 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
7620 if (is(typeof(cb)==signal_actor_removed)||_ttmm!(CB, signal_actor_removed)()) {
7621 return signal_connect_data!()(&this, cast(char*)"actor-removed",
7622 cast(GObject2.Callback)cb, data, null, cf);
7625 // VERSION: 0.8
7626 // The ::child-notify signal is emitted each time a property is
7627 // being set through the clutter_container_child_set() and
7628 // clutter_container_child_set_property() calls.
7629 // <actor>: the child that has had a property set
7630 // <pspec>: the #GParamSpec of the property set
7631 extern (C) alias static void function (Container* this_, Actor* actor, GObject2.ParamSpec* pspec, void* user_data=null) nothrow signal_child_notify;
7632 ulong signal_connect(string name:"child-notify", CB/*:signal_child_notify*/)
7633 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
7634 if (is(typeof(cb)==signal_child_notify)||_ttmm!(CB, signal_child_notify)()) {
7635 return signal_connect_data!()(&this, cast(char*)"child-notify",
7636 cast(GObject2.Callback)cb, data, null, cf);
7639 mixin __interface__;
7643 // Base interface for container actors. The @add, @remove and @foreach
7644 // virtual functions must be provided by any implementation; the other
7645 // virtual functions are optional.
7646 struct ContainerIface /* Version 0.4 */ {
7647 private GObject2.TypeInterface g_iface;
7648 // <actor>: the first #ClutterActor to add
7649 extern (C) void function (Container* container, Actor* actor) nothrow add;
7650 // <actor>: a #ClutterActor
7651 extern (C) void function (Container* container, Actor* actor) nothrow remove;
7653 // <callback>: a function to be called for each child
7654 // <user_data>: data to be passed to the function, or %NULL
7655 extern (C) void function (Container* container, Callback callback, void* user_data) nothrow foreach_;
7657 // <callback>: a function to be called for each child
7658 // <user_data>: data to be passed to the function, or %NULL
7659 extern (C) void function (Container* container, Callback callback, void* user_data) nothrow foreach_with_internals;
7661 // <actor>: the actor to raise
7662 // <sibling>: the sibling to raise to, or %NULL to raise to the top
7663 extern (C) void function (Container* container, Actor* actor, Actor* sibling=null) nothrow raise;
7665 // <actor>: the actor to raise
7666 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
7667 extern (C) void function (Container* container, Actor* actor, Actor* sibling=null) nothrow lower;
7668 extern (C) void function (Container* container) nothrow sort_depth_order;
7669 Type child_meta_type;
7670 // <actor>: a #ClutterActor
7671 extern (C) void function (Container* container, Actor* actor) nothrow create_child_meta;
7672 // <actor>: a #ClutterActor
7673 extern (C) void function (Container* container, Actor* actor) nothrow destroy_child_meta;
7675 // RETURNS: the #ClutterChildMeta for the @actor child
7676 // <actor>: a #ClutterActor that is a child of @container.
7677 extern (C) ChildMeta* function (Container* container, Actor* actor) nothrow get_child_meta;
7678 extern (C) void function (Container* container, Actor* actor) nothrow actor_added;
7679 extern (C) void function (Container* container, Actor* actor) nothrow actor_removed;
7681 // <child>: a #ClutterActor
7682 // <pspec>: a #GParamSpec
7683 extern (C) void function (Container* container, Actor* child, GObject2.ParamSpec* pspec) nothrow child_notify;
7686 enum int ContrastAdjust = 269025058;
7687 enum int Control_L = 65507;
7688 enum int Control_R = 65508;
7689 enum int Copy = 269025111;
7690 // Event for the movement of the pointer across different actors
7691 struct CrossingEvent /* Version 0.2 */ {
7692 EventType type;
7693 uint time;
7694 EventFlags flags;
7695 Stage* stage;
7696 Actor* source;
7697 float x, y;
7698 InputDevice* device;
7699 Actor* related;
7702 enum int CruzeiroSign = 16785570;
7703 enum int Cut = 269025112;
7704 enum int CycleAngle = 269025180;
7705 enum int Cyrillic_A = 1761;
7706 enum int Cyrillic_BE = 1762;
7707 enum int Cyrillic_CHE = 1790;
7708 enum int Cyrillic_CHE_descender = 16778422;
7709 enum int Cyrillic_CHE_vertstroke = 16778424;
7710 enum int Cyrillic_DE = 1764;
7711 enum int Cyrillic_DZHE = 1727;
7712 enum int Cyrillic_E = 1788;
7713 enum int Cyrillic_EF = 1766;
7714 enum int Cyrillic_EL = 1772;
7715 enum int Cyrillic_EM = 1773;
7716 enum int Cyrillic_EN = 1774;
7717 enum int Cyrillic_EN_descender = 16778402;
7718 enum int Cyrillic_ER = 1778;
7719 enum int Cyrillic_ES = 1779;
7720 enum int Cyrillic_GHE = 1767;
7721 enum int Cyrillic_GHE_bar = 16778386;
7722 enum int Cyrillic_HA = 1768;
7723 enum int Cyrillic_HARDSIGN = 1791;
7724 enum int Cyrillic_HA_descender = 16778418;
7725 enum int Cyrillic_I = 1769;
7726 enum int Cyrillic_IE = 1765;
7727 enum int Cyrillic_IO = 1715;
7728 enum int Cyrillic_I_macron = 16778466;
7729 enum int Cyrillic_JE = 1720;
7730 enum int Cyrillic_KA = 1771;
7731 enum int Cyrillic_KA_descender = 16778394;
7732 enum int Cyrillic_KA_vertstroke = 16778396;
7733 enum int Cyrillic_LJE = 1721;
7734 enum int Cyrillic_NJE = 1722;
7735 enum int Cyrillic_O = 1775;
7736 enum int Cyrillic_O_bar = 16778472;
7737 enum int Cyrillic_PE = 1776;
7738 enum int Cyrillic_SCHWA = 16778456;
7739 enum int Cyrillic_SHA = 1787;
7740 enum int Cyrillic_SHCHA = 1789;
7741 enum int Cyrillic_SHHA = 16778426;
7742 enum int Cyrillic_SHORTI = 1770;
7743 enum int Cyrillic_SOFTSIGN = 1784;
7744 enum int Cyrillic_TE = 1780;
7745 enum int Cyrillic_TSE = 1763;
7746 enum int Cyrillic_U = 1781;
7747 enum int Cyrillic_U_macron = 16778478;
7748 enum int Cyrillic_U_straight = 16778414;
7749 enum int Cyrillic_U_straight_bar = 16778416;
7750 enum int Cyrillic_VE = 1783;
7751 enum int Cyrillic_YA = 1777;
7752 enum int Cyrillic_YERU = 1785;
7753 enum int Cyrillic_YU = 1760;
7754 enum int Cyrillic_ZE = 1786;
7755 enum int Cyrillic_ZHE = 1782;
7756 enum int Cyrillic_ZHE_descender = 16778390;
7757 enum int Cyrillic_a = 1729;
7758 enum int Cyrillic_be = 1730;
7759 enum int Cyrillic_che = 1758;
7760 enum int Cyrillic_che_descender = 16778423;
7761 enum int Cyrillic_che_vertstroke = 16778425;
7762 enum int Cyrillic_de = 1732;
7763 enum int Cyrillic_dzhe = 1711;
7764 enum int Cyrillic_e = 1756;
7765 enum int Cyrillic_ef = 1734;
7766 enum int Cyrillic_el = 1740;
7767 enum int Cyrillic_em = 1741;
7768 enum int Cyrillic_en = 1742;
7769 enum int Cyrillic_en_descender = 16778403;
7770 enum int Cyrillic_er = 1746;
7771 enum int Cyrillic_es = 1747;
7772 enum int Cyrillic_ghe = 1735;
7773 enum int Cyrillic_ghe_bar = 16778387;
7774 enum int Cyrillic_ha = 1736;
7775 enum int Cyrillic_ha_descender = 16778419;
7776 enum int Cyrillic_hardsign = 1759;
7777 enum int Cyrillic_i = 1737;
7778 enum int Cyrillic_i_macron = 16778467;
7779 enum int Cyrillic_ie = 1733;
7780 enum int Cyrillic_io = 1699;
7781 enum int Cyrillic_je = 1704;
7782 enum int Cyrillic_ka = 1739;
7783 enum int Cyrillic_ka_descender = 16778395;
7784 enum int Cyrillic_ka_vertstroke = 16778397;
7785 enum int Cyrillic_lje = 1705;
7786 enum int Cyrillic_nje = 1706;
7787 enum int Cyrillic_o = 1743;
7788 enum int Cyrillic_o_bar = 16778473;
7789 enum int Cyrillic_pe = 1744;
7790 enum int Cyrillic_schwa = 16778457;
7791 enum int Cyrillic_sha = 1755;
7792 enum int Cyrillic_shcha = 1757;
7793 enum int Cyrillic_shha = 16778427;
7794 enum int Cyrillic_shorti = 1738;
7795 enum int Cyrillic_softsign = 1752;
7796 enum int Cyrillic_te = 1748;
7797 enum int Cyrillic_tse = 1731;
7798 enum int Cyrillic_u = 1749;
7799 enum int Cyrillic_u_macron = 16778479;
7800 enum int Cyrillic_u_straight = 16778415;
7801 enum int Cyrillic_u_straight_bar = 16778417;
7802 enum int Cyrillic_ve = 1751;
7803 enum int Cyrillic_ya = 1745;
7804 enum int Cyrillic_yeru = 1753;
7805 enum int Cyrillic_yu = 1728;
7806 enum int Cyrillic_ze = 1754;
7807 enum int Cyrillic_zhe = 1750;
7808 enum int Cyrillic_zhe_descender = 16778391;
7809 enum int D = 68;
7810 enum int DOS = 269025114;
7811 enum int Dabovedot = 16784906;
7812 enum int Dcaron = 463;
7814 // The <structname>ClutterDeformEffect</structname> structure contains
7815 // only private data and should be accessed using the provided API
7816 struct DeformEffect /* : OffscreenEffect */ /* Version 1.4 */ {
7817 alias parent_instance this;
7818 alias parent_instance super_;
7819 alias parent_instance offscreeneffect;
7820 OffscreenEffect parent_instance;
7821 private DeformEffectPrivate* priv;
7824 // VERSION: 1.4
7825 // Retrieves the handle to the back face material used by @effect
7827 // The returned material is owned by the #ClutterDeformEffect and it
7828 // should not be freed directly
7829 // RETURNS: a handle for the material, or %NULL.
7830 Cogl.Handle get_back_material()() nothrow {
7831 return clutter_deform_effect_get_back_material(&this);
7834 // VERSION: 1.4
7835 // Retrieves the number of horizontal and vertical tiles used to sub-divide
7836 // the actor's geometry during the effect
7837 // <x_tiles>: return location for the number of horizontal tiles, or %NULL
7838 // <y_tiles>: return location for the number of vertical tiles, or %NULL
7839 void get_n_tiles(AT0, AT1)(/*out*/ AT0 /*uint*/ x_tiles, /*out*/ AT1 /*uint*/ y_tiles) nothrow {
7840 clutter_deform_effect_get_n_tiles(&this, UpCast!(uint*)(x_tiles), UpCast!(uint*)(y_tiles));
7843 // VERSION: 1.4
7844 // Invalidates the @effect<!-- -->'s vertices and, if it is associated
7845 // to an actor, it will queue a redraw
7846 void invalidate()() nothrow {
7847 clutter_deform_effect_invalidate(&this);
7850 // VERSION: 1.4
7851 // Sets the material that should be used when drawing the back face
7852 // of the actor during a deformation
7854 // The #ClutterDeformEffect will take a reference on the material's
7855 // handle
7856 // <material>: a handle to a Cogl material
7857 void set_back_material()(Cogl.Handle material=null) nothrow {
7858 clutter_deform_effect_set_back_material(&this, material);
7861 // VERSION: 1.4
7862 // Sets the number of horizontal and vertical tiles to be used
7863 // when applying the effect
7865 // More tiles allow a finer grained deformation at the expenses
7866 // of computation
7867 // <x_tiles>: number of horizontal tiles
7868 // <y_tiles>: number of vertical tiles
7869 void set_n_tiles()(uint x_tiles, uint y_tiles) nothrow {
7870 clutter_deform_effect_set_n_tiles(&this, x_tiles, y_tiles);
7875 // The <structname>ClutterDeformEffectClass</structname> structure contains
7876 // only private data
7877 struct DeformEffectClass /* Version 1.4 */ {
7878 private OffscreenEffectClass parent_class;
7879 extern (C) void function (DeformEffect* effect, float width, float height, Cogl.TextureVertex* vertex) nothrow deform_vertex;
7880 extern (C) void function () nothrow _clutter_deform1;
7881 extern (C) void function () nothrow _clutter_deform2;
7882 extern (C) void function () nothrow _clutter_deform3;
7883 extern (C) void function () nothrow _clutter_deform4;
7884 extern (C) void function () nothrow _clutter_deform5;
7885 extern (C) void function () nothrow _clutter_deform6;
7886 extern (C) void function () nothrow _clutter_deform7;
7889 struct DeformEffectPrivate {
7892 enum int Delete = 65535;
7894 // <structname>ClutterDesaturateEffect</structname> is an opaque structure
7895 // whose members cannot be directly accessed
7896 struct DesaturateEffect /* : OffscreenEffect */ /* Version 1.4 */ {
7897 alias method_parent this;
7898 alias method_parent super_;
7899 alias method_parent offscreeneffect;
7900 OffscreenEffect method_parent;
7903 // VERSION: 1.4
7904 // Creates a new #ClutterDesaturateEffect to be used with
7905 // clutter_actor_add_effect()
7906 // RETURNS: the newly created #ClutterDesaturateEffect or %NULL
7907 // <factor>: the desaturation factor, between 0.0 and 1.0
7908 static DesaturateEffect* new_()(double factor) nothrow {
7909 return clutter_desaturate_effect_new(factor);
7911 static auto opCall()(double factor) {
7912 return clutter_desaturate_effect_new(factor);
7915 // VERSION: 1.4
7916 // Retrieves the desaturation factor of @effect
7917 // RETURNS: the desaturation factor
7918 double get_factor()() nothrow {
7919 return clutter_desaturate_effect_get_factor(&this);
7922 // VERSION: 1.4
7923 // Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
7924 // and 1.0 being "fully desaturate"
7925 // <factor>: the desaturation factor, between 0.0 and 1.0
7926 void set_factor()(double factor) nothrow {
7927 clutter_desaturate_effect_set_factor(&this, factor);
7931 struct DesaturateEffectClass {
7934 // The #ClutterDeviceManager structure contains only private data
7935 struct DeviceManager /* : GObject.Object */ /* Version 1.2 */ {
7936 alias parent_instance this;
7937 alias parent_instance super_;
7938 alias parent_instance object;
7939 GObject2.Object parent_instance;
7940 private DeviceManagerPrivate* priv;
7943 // VERSION: 1.2
7944 // Retrieves the device manager singleton
7946 // The returned instance is owned by Clutter and it should not be
7947 // modified or freed
7948 // RETURNS: the #ClutterDeviceManager singleton.
7949 static DeviceManager* get_default()() nothrow {
7950 return clutter_device_manager_get_default();
7953 // VERSION: 1.2
7954 // Retrieves the core #ClutterInputDevice of type @device_type
7956 // Core devices are devices created automatically by the default
7957 // Clutter backend
7959 // returned device is owned by the #ClutterDeviceManager and should
7960 // not be modified or freed
7961 // RETURNS: a #ClutterInputDevice or %NULL. The
7962 // <device_type>: the type of the core device
7963 InputDevice* get_core_device()(InputDeviceType device_type) nothrow {
7964 return clutter_device_manager_get_core_device(&this, device_type);
7967 // VERSION: 1.2
7968 // Retrieves the #ClutterInputDevice with the given @device_id
7970 // returned device is owned by the #ClutterDeviceManager and should
7971 // never be modified or freed
7972 // RETURNS: a #ClutterInputDevice or %NULL. The
7973 // <device_id>: the integer id of a device
7974 InputDevice* get_device()(int device_id) nothrow {
7975 return clutter_device_manager_get_device(&this, device_id);
7978 // VERSION: 1.2
7979 // Lists all currently registered input devices
7981 // a newly allocated list of #ClutterInputDevice objects. Use
7982 // g_slist_free() to deallocate it when done
7983 GLib2.SList* /*new container*/ list_devices()() nothrow {
7984 return clutter_device_manager_list_devices(&this);
7987 // VERSION: 1.2
7988 // Lists all currently registered input devices
7990 // a pointer to the internal list of #ClutterInputDevice objects. The
7991 // returned list is owned by the #ClutterDeviceManager and should never
7992 // be modified or freed
7993 GLib2.SList* peek_devices()() nothrow {
7994 return clutter_device_manager_peek_devices(&this);
7997 // VERSION: 1.2
7998 // The ::device-added signal is emitted each time a device has been
7999 // added to the #ClutterDeviceManager
8000 // <device>: the newly added #ClutterInputDevice
8001 extern (C) alias static void function (DeviceManager* this_, InputDevice* device, void* user_data=null) nothrow signal_device_added;
8003 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8004 return super_.signal_connect!name(cb, data, cf);
8007 ulong signal_connect(string name:"device-added", CB/*:signal_device_added*/)
8008 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8009 if (is(typeof(cb)==signal_device_added)||_ttmm!(CB, signal_device_added)()) {
8010 return signal_connect_data!()(&this, cast(char*)"device-added",
8011 cast(GObject2.Callback)cb, data, null, cf);
8014 // VERSION: 1.2
8015 // The ::device-removed signal is emitted each time a device has been
8016 // removed from the #ClutterDeviceManager
8017 // <device>: the removed #ClutterInputDevice
8018 extern (C) alias static void function (DeviceManager* this_, InputDevice* device, void* user_data=null) nothrow signal_device_removed;
8019 ulong signal_connect(string name:"device-removed", CB/*:signal_device_removed*/)
8020 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8021 if (is(typeof(cb)==signal_device_removed)||_ttmm!(CB, signal_device_removed)()) {
8022 return signal_connect_data!()(&this, cast(char*)"device-removed",
8023 cast(GObject2.Callback)cb, data, null, cf);
8027 // The #ClutterDeviceManagerClass structure contains only private data
8028 struct DeviceManagerClass /* Version 1.2 */ {
8029 private GObject2.ObjectClass parent_class;
8030 // Unintrospectable functionp: get_devices() / ()
8031 extern (C) GLib2.SList* function (DeviceManager* device_manager) nothrow get_devices;
8033 // RETURNS: a #ClutterInputDevice or %NULL. The
8034 // <device_type>: the type of the core device
8035 extern (C) InputDevice* function (DeviceManager* device_manager, InputDeviceType device_type) nothrow get_core_device;
8037 // RETURNS: a #ClutterInputDevice or %NULL. The
8038 // <device_id>: the integer id of a device
8039 extern (C) InputDevice* function (DeviceManager* device_manager, int device_id) nothrow get_device;
8040 extern (C) void function (DeviceManager* manager, InputDevice* device) nothrow add_device;
8041 extern (C) void function (DeviceManager* manager, InputDevice* device) nothrow remove_device;
8042 private void*[8] _padding;
8045 struct DeviceManagerPrivate {
8048 enum int Display = 269025113;
8049 enum int Documents = 269025115;
8050 enum int DongSign = 16785579;
8051 enum int Down = 65364;
8053 // The <structname>ClutterDragAction</structname> structure contains only
8054 // private data and should be accessed using the provided API
8055 struct DragAction /* : Action */ /* Version 1.4 */ {
8056 alias parent_instance this;
8057 alias parent_instance super_;
8058 alias parent_instance action;
8059 Action parent_instance;
8060 private DragActionPrivate* priv;
8063 // VERSION: 1.4
8064 // Creates a new #ClutterDragAction instance
8065 // RETURNS: the newly created #ClutterDragAction
8066 static DragAction* new_()() nothrow {
8067 return clutter_drag_action_new();
8069 static auto opCall()() {
8070 return clutter_drag_action_new();
8073 // VERSION: 1.4
8074 // Retrieves the axis constraint set by clutter_drag_action_set_drag_axis()
8075 // RETURNS: the axis constraint
8076 DragAxis get_drag_axis()() nothrow {
8077 return clutter_drag_action_get_drag_axis(&this);
8080 // VERSION: 1.4
8081 // Retrieves the drag handle set by clutter_drag_action_set_drag_handle()
8083 // handle, or %NULL if none was set
8084 // RETURNS: a #ClutterActor, used as the drag
8085 Actor* get_drag_handle()() nothrow {
8086 return clutter_drag_action_get_drag_handle(&this);
8089 // VERSION: 1.4
8090 // Retrieves the values set by clutter_drag_action_set_drag_threshold().
8092 // If the #ClutterDragAction:x-drag-threshold property or the
8093 // #ClutterDragAction:y-drag-threshold property have been set to -1 then
8094 // this function will return the default drag threshold value as stored
8095 // by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
8096 // <x_threshold>: return location for the horizontal drag threshold value, in pixels
8097 // <y_threshold>: return location for the vertical drag threshold value, in pixels
8098 void get_drag_threshold(AT0, AT1)(/*out*/ AT0 /*uint*/ x_threshold, /*out*/ AT1 /*uint*/ y_threshold) nothrow {
8099 clutter_drag_action_get_drag_threshold(&this, UpCast!(uint*)(x_threshold), UpCast!(uint*)(y_threshold));
8102 // VERSION: 1.4
8103 // Retrieves the coordinates, in stage space, of the latest motion
8104 // event during the dragging
8105 // <motion_x>: return location for the latest motion event's X coordinate
8106 // <motion_y>: return location for the latest motion event's Y coordinate
8107 void get_motion_coords(AT0, AT1)(/*out*/ AT0 /*float*/ motion_x, /*out*/ AT1 /*float*/ motion_y) nothrow {
8108 clutter_drag_action_get_motion_coords(&this, UpCast!(float*)(motion_x), UpCast!(float*)(motion_y));
8111 // VERSION: 1.4
8112 // Retrieves the coordinates, in stage space, of the press event
8113 // that started the dragging
8114 // <press_x>: return location for the press event's X coordinate
8115 // <press_y>: return location for the press event's Y coordinate
8116 void get_press_coords(AT0, AT1)(/*out*/ AT0 /*float*/ press_x, /*out*/ AT1 /*float*/ press_y) nothrow {
8117 clutter_drag_action_get_press_coords(&this, UpCast!(float*)(press_x), UpCast!(float*)(press_y));
8120 // VERSION: 1.4
8121 // Restricts the dragging action to a specific axis
8122 // <axis>: the axis to constraint the dragging to
8123 void set_drag_axis()(DragAxis axis) nothrow {
8124 clutter_drag_action_set_drag_axis(&this, axis);
8127 // VERSION: 1.4
8128 // Sets the actor to be used as the drag handle.
8129 // <handle>: a #ClutterActor, or %NULL to unset
8130 void set_drag_handle(AT0)(AT0 /*Actor*/ handle=null) nothrow {
8131 clutter_drag_action_set_drag_handle(&this, UpCast!(Actor*)(handle));
8134 // VERSION: 1.4
8135 // Sets the horizontal and vertical drag thresholds that must be
8136 // cleared by the pointer before @action can begin the dragging.
8138 // If @x_threshold or @y_threshold are set to -1 then the default
8139 // drag threshold stored in the #ClutterSettings:dnd-drag-threshold
8140 // property of #ClutterSettings will be used.
8141 // <x_threshold>: a distance on the horizontal axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
8142 // <y_threshold>: a distance on the vertical axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
8143 void set_drag_threshold()(int x_threshold, int y_threshold) nothrow {
8144 clutter_drag_action_set_drag_threshold(&this, x_threshold, y_threshold);
8147 // VERSION: 1.4
8148 // The ::drag-begin signal is emitted when the #ClutterDragAction
8149 // starts the dragging
8151 // The emission of this signal can be delayed by using the
8152 // #ClutterDragAction:x-drag-threshold and
8153 // #ClutterDragAction:y-drag-threshold properties
8154 // <actor>: the #ClutterActor attached to the action
8155 // <event_x>: the X coordinate (in stage space) of the press event
8156 // <event_y>: the Y coordinate (in stage space) of the press event
8157 // <modifiers>: the modifiers of the press event
8158 extern (C) alias static void function (DragAction* this_, Actor* actor, float event_x, float event_y, ModifierType* modifiers, void* user_data=null) nothrow signal_drag_begin;
8160 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8161 return super_.signal_connect!name(cb, data, cf);
8164 ulong signal_connect(string name:"drag-begin", CB/*:signal_drag_begin*/)
8165 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8166 if (is(typeof(cb)==signal_drag_begin)||_ttmm!(CB, signal_drag_begin)()) {
8167 return signal_connect_data!()(&this, cast(char*)"drag-begin",
8168 cast(GObject2.Callback)cb, data, null, cf);
8171 // VERSION: 1.4
8172 // The ::drag-end signal is emitted at the end of the dragging,
8173 // when the pointer button's is released
8175 // This signal is emitted if and only if the #ClutterDragAction::drag-begin
8176 // signal has been emitted first
8177 // <actor>: the #ClutterActor attached to the action
8178 // <event_x>: the X coordinate (in stage space) of the release event
8179 // <event_y>: the Y coordinate (in stage space) of the release event
8180 // <modifiers>: the modifiers of the release event
8181 extern (C) alias static void function (DragAction* this_, Actor* actor, float event_x, float event_y, ModifierType* modifiers, void* user_data=null) nothrow signal_drag_end;
8182 ulong signal_connect(string name:"drag-end", CB/*:signal_drag_end*/)
8183 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8184 if (is(typeof(cb)==signal_drag_end)||_ttmm!(CB, signal_drag_end)()) {
8185 return signal_connect_data!()(&this, cast(char*)"drag-end",
8186 cast(GObject2.Callback)cb, data, null, cf);
8189 // VERSION: 1.4
8190 // The ::drag-motion signal is emitted for each motion event after
8191 // the #ClutterDragAction::drag-begin signal has been emitted.
8193 // The components of the distance between the press event and the
8194 // latest motion event are computed in the actor's coordinate space,
8195 // to take into account eventual transformations. If you want the
8196 // stage coordinates of the latest motion event you can use
8197 // clutter_drag_action_get_motion_coords().
8199 // The default handler of the signal will call clutter_actor_move_by()
8200 // either on @actor or, if set, of #ClutterDragAction:drag-handle using
8201 // the @delta_x and @delta_y components of the dragging motion. If you
8202 // want to override the default behaviour, you can connect to this
8203 // signal and call g_signal_stop_emission_by_name() from within your
8204 // callback.
8205 // <actor>: the #ClutterActor attached to the action
8206 // <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
8207 // <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
8208 extern (C) alias static void function (DragAction* this_, Actor* actor, float delta_x, float delta_y, void* user_data=null) nothrow signal_drag_motion;
8209 ulong signal_connect(string name:"drag-motion", CB/*:signal_drag_motion*/)
8210 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8211 if (is(typeof(cb)==signal_drag_motion)||_ttmm!(CB, signal_drag_motion)()) {
8212 return signal_connect_data!()(&this, cast(char*)"drag-motion",
8213 cast(GObject2.Callback)cb, data, null, cf);
8218 // The <structname>ClutterDragActionClass</structname> structure contains
8219 // only private data
8220 struct DragActionClass /* Version 1.4 */ {
8221 private ActionClass parent_class;
8222 extern (C) void function (DragAction* action, Actor* actor, float event_x, float event_y, ModifierType modifiers) nothrow drag_begin;
8223 extern (C) void function (DragAction* action, Actor* actor, float delta_x, float delta_y) nothrow drag_motion;
8224 extern (C) void function (DragAction* action, Actor* actor, float event_x, float event_y, ModifierType modifiers) nothrow drag_end;
8225 extern (C) void function () nothrow _clutter_drag_action1;
8226 extern (C) void function () nothrow _clutter_drag_action2;
8227 extern (C) void function () nothrow _clutter_drag_action3;
8228 extern (C) void function () nothrow _clutter_drag_action4;
8229 extern (C) void function () nothrow _clutter_drag_action5;
8232 struct DragActionPrivate {
8236 // The axis of the constraint that should be applied on the
8237 // dragging action
8238 enum DragAxis /* Version 1.4 */ {
8239 AXIS_NONE = 0,
8240 X_AXIS = 1,
8241 Y_AXIS = 2
8244 // The <structname>ClutterDropAction</structname> structure contains only
8245 // private data and should be accessed using the provided API.
8246 struct DropAction /* : Action */ /* Version 1.8 */ {
8247 alias parent_instance this;
8248 alias parent_instance super_;
8249 alias parent_instance action;
8250 Action parent_instance;
8251 private DropActionPrivate* priv;
8254 // VERSION: 1.8
8255 // Creates a new #ClutterDropAction.
8257 // Use clutter_actor_add_action() to add the action to a #ClutterActor.
8258 // RETURNS: the newly created #ClutterDropAction
8259 static DropAction* new_()() nothrow {
8260 return clutter_drop_action_new();
8262 static auto opCall()() {
8263 return clutter_drop_action_new();
8266 // VERSION: 1.8
8267 // The ::can-drop signal is emitted when the dragged actor is dropped
8268 // on @actor. The return value of the ::can-drop signal will determine
8269 // whether or not the #ClutterDropAction::drop signal is going to be
8270 // emitted on @action.
8272 // The default implementation of #ClutterDropAction returns %TRUE for
8273 // this signal.
8274 // RETURNS: %TRUE if the drop is accepted, and %FALSE otherwise
8275 // <actor>: the #ClutterActor attached to the @action
8276 // <returns>: %TRUE if the drop is accepted, and %FALSE otherwise
8277 extern (C) alias static c_int function (DropAction* this_, Actor* actor, float returns, float since, void* user_data=null) nothrow signal_can_drop;
8279 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
8280 return super_.signal_connect!name(cb, data, cf);
8283 ulong signal_connect(string name:"can-drop", CB/*:signal_can_drop*/)
8284 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8285 if (is(typeof(cb)==signal_can_drop)||_ttmm!(CB, signal_can_drop)()) {
8286 return signal_connect_data!()(&this, cast(char*)"can-drop",
8287 cast(GObject2.Callback)cb, data, null, cf);
8290 // VERSION: 1.8
8291 // The ::drop signal is emitted when the dragged actor is dropped
8292 // on @actor. This signal is only emitted if at least an handler of
8293 // #ClutterDropAction::can-drop returns %TRUE.
8294 extern (C) alias static void function (DropAction* this_, Actor* object, float p0, float p1, void* user_data=null) nothrow signal_drop;
8295 ulong signal_connect(string name:"drop", CB/*:signal_drop*/)
8296 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8297 if (is(typeof(cb)==signal_drop)||_ttmm!(CB, signal_drop)()) {
8298 return signal_connect_data!()(&this, cast(char*)"drop",
8299 cast(GObject2.Callback)cb, data, null, cf);
8302 // VERSION: 1.8
8303 // The ::over-in signal is emitted when the dragged actor crosses
8304 // into @actor.
8305 // <actor>: the #ClutterActor attached to the @action
8306 extern (C) alias static void function (DropAction* this_, Actor* actor, void* user_data=null) nothrow signal_over_in;
8307 ulong signal_connect(string name:"over-in", CB/*:signal_over_in*/)
8308 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8309 if (is(typeof(cb)==signal_over_in)||_ttmm!(CB, signal_over_in)()) {
8310 return signal_connect_data!()(&this, cast(char*)"over-in",
8311 cast(GObject2.Callback)cb, data, null, cf);
8314 // VERSION: 1.8
8315 // The ::over-out signal is emitted when the dragged actor crosses
8316 // outside @actor.
8317 // <actor>: the #ClutterActor attached to the @action
8318 extern (C) alias static void function (DropAction* this_, Actor* actor, void* user_data=null) nothrow signal_over_out;
8319 ulong signal_connect(string name:"over-out", CB/*:signal_over_out*/)
8320 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
8321 if (is(typeof(cb)==signal_over_out)||_ttmm!(CB, signal_over_out)()) {
8322 return signal_connect_data!()(&this, cast(char*)"over-out",
8323 cast(GObject2.Callback)cb, data, null, cf);
8328 // The <structname>ClutterDropActionClass</structname> structure contains
8329 // only private data.
8330 struct DropActionClass /* Version 1.8 */ {
8331 private ActionClass parent_class;
8332 extern (C) int function (DropAction* action, Actor* actor, float event_x, float event_y) nothrow can_drop;
8333 extern (C) void function (DropAction* action, Actor* actor) nothrow over_in;
8334 extern (C) void function (DropAction* action, Actor* actor) nothrow over_out;
8335 extern (C) void function (DropAction* action, Actor* actor, float event_x, float event_y) nothrow drop;
8336 extern (C) void function () nothrow _clutter_drop_action1;
8337 extern (C) void function () nothrow _clutter_drop_action2;
8338 extern (C) void function () nothrow _clutter_drop_action3;
8339 extern (C) void function () nothrow _clutter_drop_action4;
8340 extern (C) void function () nothrow _clutter_drop_action5;
8341 extern (C) void function () nothrow _clutter_drop_action6;
8342 extern (C) void function () nothrow _clutter_drop_action7;
8343 extern (C) void function () nothrow _clutter_drop_action8;
8346 struct DropActionPrivate {
8349 enum int Dstroke = 464;
8350 enum int E = 69;
8351 enum int ENG = 957;
8352 enum int ETH = 208;
8353 enum int Eabovedot = 972;
8354 enum int Eacute = 201;
8355 enum int Ebelowdot = 16785080;
8356 enum int Ecaron = 460;
8357 enum int Ecircumflex = 202;
8358 enum int Ecircumflexacute = 16785086;
8359 enum int Ecircumflexbelowdot = 16785094;
8360 enum int Ecircumflexgrave = 16785088;
8361 enum int Ecircumflexhook = 16785090;
8362 enum int Ecircumflextilde = 16785092;
8363 enum int EcuSign = 16785568;
8364 enum int Ediaeresis = 203;
8366 // The #ClutterEffect structure contains only private data and should
8367 // be accessed using the provided API
8368 struct Effect /* : ActorMeta */ /* Version 1.4 */ {
8369 alias parent_instance this;
8370 alias parent_instance super_;
8371 alias parent_instance actormeta;
8372 ActorMeta parent_instance;
8375 // VERSION: 1.8
8376 // Queues a repaint of the effect. The effect can detect when the ‘paint’
8377 // method is called as a result of this function because it will not
8378 // have the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag set. In that case the
8379 // effect is free to assume that the actor has not changed its
8380 // appearance since the last time it was painted so it doesn't need to
8381 // call clutter_actor_continue_paint() if it can draw a cached
8382 // image. This is mostly intended for effects that are using a
8383 // %CoglOffscreen to redirect the actor (such as
8384 // %ClutterOffscreenEffect). In that case the effect can save a bit of
8385 // rendering time by painting the cached texture without causing the
8386 // entire actor to be painted.
8388 // This function can be used by effects that have their own animatable
8389 // parameters. For example, an effect which adds a varying degree of a
8390 // red tint to an actor by redirecting it through a CoglOffscreen
8391 // might have a property to specify the level of tint. When this value
8392 // changes, the underlying actor doesn't need to be redrawn so the
8393 // effect can call clutter_effect_queue_repaint() to make sure the
8394 // effect is repainted.
8396 // Note however that modifying the position of the parent of an actor
8397 // may change the appearance of the actor because its transformation
8398 // matrix would change. In this case a redraw wouldn't be queued on
8399 // the actor itself so the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY would still
8400 // not be set. The effect can detect this case by keeping track of the
8401 // last modelview matrix that was used to render the actor and
8402 // veryifying that it remains the same in the next paint.
8404 // Any other effects that are layered on top of the passed in effect
8405 // will still be passed the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag. If
8406 // anything queues a redraw on the actor without specifying an effect
8407 // or with an effect that is lower in the chain of effects than this
8408 // one then that will override this call. In that case this effect
8409 // will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
8410 // flag set.
8411 void queue_repaint()() nothrow {
8412 clutter_effect_queue_repaint(&this);
8416 // The #ClutterEffectClass structure contains only private data
8417 struct EffectClass /* Version 1.4 */ {
8418 private ActorMetaClass parent_class;
8419 extern (C) int function (Effect* effect) nothrow pre_paint;
8420 extern (C) void function (Effect* effect) nothrow post_paint;
8421 extern (C) int function (Effect* effect, PaintVolume* volume) nothrow get_paint_volume;
8422 extern (C) void function (Effect* effect, EffectPaintFlags flags) nothrow paint;
8423 extern (C) void function (Effect* effect, EffectPaintFlags flags) nothrow pick;
8424 extern (C) void function () nothrow _clutter_effect4;
8425 extern (C) void function () nothrow _clutter_effect5;
8426 extern (C) void function () nothrow _clutter_effect6;
8429 // Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.
8430 enum EffectPaintFlags {
8431 ACTOR_DIRTY = 1
8433 enum int Egrave = 200;
8434 enum int Ehook = 16785082;
8435 enum int Eisu_Shift = 65327;
8436 enum int Eisu_toggle = 65328;
8437 enum int Eject = 269025068;
8438 enum int Emacron = 938;
8439 enum int End = 65367;
8440 enum int Eogonek = 458;
8441 enum int Escape = 65307;
8442 enum int Eth = 208;
8443 enum int Etilde = 16785084;
8444 enum int EuroSign = 8364;
8445 // Generic event wrapper.
8446 union Event /* Version 0.2 */ {
8447 private EventType type_;
8448 private AnyEvent any;
8449 private ButtonEvent button;
8450 private KeyEvent key;
8451 private MotionEvent motion;
8452 private ScrollEvent scroll;
8453 private StageStateEvent stage_state;
8454 private CrossingEvent crossing;
8457 // Creates a new #ClutterEvent of the specified type.
8458 // RETURNS: A newly allocated #ClutterEvent.
8459 // <type>: The type of event.
8460 static Event* /*new*/ new_()(EventType type) nothrow {
8461 return clutter_event_new(type);
8463 static auto opCall()(EventType type) {
8464 return clutter_event_new(type);
8467 // Copies @event.
8468 // RETURNS: A newly allocated #ClutterEvent
8469 Event* /*new*/ copy()() nothrow {
8470 return clutter_event_copy(&this);
8472 // Frees all resources used by @event.
8473 void free()() nothrow {
8474 clutter_event_free(&this);
8477 // VERSION: 1.6
8478 // Retrieves the array of axes values attached to the event.
8479 // RETURNS: an array of axis values
8480 // <n_axes>: return location for the number of axes returned
8481 double* get_axes(AT0)(/*out*/ AT0 /*uint*/ n_axes) nothrow {
8482 return clutter_event_get_axes(&this, UpCast!(uint*)(n_axes));
8485 // VERSION: 1.0
8486 // Retrieves the button number of @event
8487 // RETURNS: the button number
8488 uint get_button()() nothrow {
8489 return clutter_event_get_button(&this);
8492 // VERSION: 1.0
8493 // Retrieves the number of clicks of @event
8494 // RETURNS: the click count
8495 uint get_click_count()() nothrow {
8496 return clutter_event_get_click_count(&this);
8499 // VERSION: 0.4
8500 // Retrieves the coordinates of @event and puts them into @x and @y.
8501 // <x>: return location for the X coordinate, or %NULL
8502 // <y>: return location for the Y coordinate, or %NULL
8503 void get_coords(AT0, AT1)(/*out*/ AT0 /*float*/ x, /*out*/ AT1 /*float*/ y) nothrow {
8504 clutter_event_get_coords(&this, UpCast!(float*)(x), UpCast!(float*)(y));
8507 // VERSION: 1.0
8508 // Retrieves the #ClutterInputDevice for the event.
8510 // The #ClutterInputDevice structure is completely opaque and should
8511 // be cast to the platform-specific implementation.
8513 // returned device is owned by the #ClutterEvent and it should not
8514 // be unreferenced
8515 // RETURNS: the #ClutterInputDevice or %NULL. The
8516 InputDevice* get_device()() nothrow {
8517 return clutter_event_get_device(&this);
8520 // Retrieves the events device id if set.
8522 // no specific device set.
8523 // RETURNS: A unique identifier for the device or -1 if the event has
8524 int get_device_id()() nothrow {
8525 return clutter_event_get_device_id(&this);
8528 // VERSION: 1.0
8529 // Retrieves the type of the device for @event
8531 // any is set
8532 // RETURNS: the #ClutterInputDeviceType for the device, if
8533 InputDeviceType get_device_type()() nothrow {
8534 return clutter_event_get_device_type(&this);
8537 // VERSION: 1.0
8538 // Retrieves the #ClutterEventFlags of @event
8539 // RETURNS: the event flags
8540 EventFlags get_flags()() nothrow {
8541 return clutter_event_get_flags(&this);
8544 // VERSION: 1.0
8545 // Retrieves the keycode of the key that caused @event
8546 // RETURNS: The keycode representing the key
8547 ushort get_key_code()() nothrow {
8548 return clutter_event_get_key_code(&this);
8551 // VERSION: 1.0
8552 // Retrieves the key symbol of @event
8553 // RETURNS: the key symbol representing the key
8554 uint get_key_symbol()() nothrow {
8555 return clutter_event_get_key_symbol(&this);
8558 // Retrieves the unicode value for the key that caused @keyev.
8559 // RETURNS: The unicode value representing the key
8560 uint get_key_unicode()() nothrow {
8561 return clutter_event_get_key_unicode(&this);
8564 // VERSION: 1.0
8565 // Retrieves the related actor of a crossing event.
8566 // RETURNS: the related #ClutterActor, or %NULL
8567 Actor* get_related()() nothrow {
8568 return clutter_event_get_related(&this);
8571 // VERSION: 1.0
8572 // Retrieves the direction of the scrolling of @event
8573 // RETURNS: the scrolling direction
8574 ScrollDirection get_scroll_direction()() nothrow {
8575 return clutter_event_get_scroll_direction(&this);
8578 // VERSION: 0.6
8579 // Retrieves the source #ClutterActor the event originated from, or
8580 // NULL if the event has no source.
8581 // RETURNS: a #ClutterActor
8582 Actor* get_source()() nothrow {
8583 return clutter_event_get_source(&this);
8586 // VERSION: 1.6
8587 // Retrieves the hardware device that originated the event.
8589 // If you need the virtual device, use clutter_event_get_device().
8591 // If no hardware device originated this event, this function will
8592 // return the same device as clutter_event_get_device().
8594 // or %NULL
8595 // RETURNS: a pointer to a #ClutterInputDevice
8596 InputDevice* get_source_device()() nothrow {
8597 return clutter_event_get_source_device(&this);
8600 // VERSION: 0.8
8601 // Retrieves the source #ClutterStage the event originated for, or
8602 // %NULL if the event has no stage.
8603 // RETURNS: a #ClutterStage
8604 Stage* get_stage()() nothrow {
8605 return clutter_event_get_stage(&this);
8608 // VERSION: 0.4
8609 // Retrieves the modifier state of the event.
8610 // RETURNS: the modifier state parameter, or 0
8611 ModifierType get_state()() nothrow {
8612 return clutter_event_get_state(&this);
8615 // VERSION: 0.4
8616 // Retrieves the time of the event.
8617 // RETURNS: the time of the event, or %CLUTTER_CURRENT_TIME
8618 uint get_time()() nothrow {
8619 return clutter_event_get_time(&this);
8622 // VERSION: 0.6
8623 // Puts a copy of the event on the back of the event queue. The event will
8624 // have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set
8625 // event signals will be emitted for this source and capture/bubbling for
8626 // its ancestors. If the source is not set it will be generated by picking
8627 // or use the actor that currently has keyboard focus
8628 void put()() nothrow {
8629 clutter_event_put(&this);
8632 // VERSION: 1.8
8633 // Sets the button number of @event
8634 // <button>: the button number
8635 void set_button()(uint button) nothrow {
8636 clutter_event_set_button(&this, button);
8639 // VERSION: 1.8
8640 // Sets the coordinates of the @event.
8641 // <x>: the X coordinate of the event
8642 // <y>: the Y coordinate of the event
8643 void set_coords()(float x, float y) nothrow {
8644 clutter_event_set_coords(&this, x, y);
8647 // VERSION: 1.6
8648 // Sets the device for @event.
8649 // <device>: a #ClutterInputDevice, or %NULL
8650 void set_device(AT0)(AT0 /*InputDevice*/ device=null) nothrow {
8651 clutter_event_set_device(&this, UpCast!(InputDevice*)(device));
8654 // VERSION: 1.8
8655 // Sets the #ClutterEventFlags of @event
8656 // <flags>: a binary OR of #ClutterEventFlags values
8657 void set_flags()(EventFlags flags) nothrow {
8658 clutter_event_set_flags(&this, flags);
8661 // VERSION: 1.8
8662 // Sets the keycode of the @event.
8663 // <key_code>: the keycode representing the key
8664 void set_key_code()(ushort key_code) nothrow {
8665 clutter_event_set_key_code(&this, key_code);
8668 // VERSION: 1.8
8669 // Sets the key symbol of @event.
8670 // <key_sym>: the key symbol representing the key
8671 void set_key_symbol()(uint key_sym) nothrow {
8672 clutter_event_set_key_symbol(&this, key_sym);
8675 // VERSION: 1.8
8676 // Sets the Unicode value of @event.
8677 // <key_unicode>: the Unicode value representing the key
8678 void set_key_unicode()(uint key_unicode) nothrow {
8679 clutter_event_set_key_unicode(&this, key_unicode);
8682 // VERSION: 1.8
8683 // Sets the related actor of a crossing event
8684 // <actor>: a #ClutterActor or %NULL
8685 void set_related(AT0)(AT0 /*Actor*/ actor=null) nothrow {
8686 clutter_event_set_related(&this, UpCast!(Actor*)(actor));
8689 // VERSION: 1.8
8690 // Sets the direction of the scrolling of @event
8691 // <direction>: the scrolling direction
8692 void set_scroll_direction()(ScrollDirection direction) nothrow {
8693 clutter_event_set_scroll_direction(&this, direction);
8696 // VERSION: 1.8
8697 // Sets the source #ClutterActor of @event.
8698 // <actor>: a #ClutterActor, or %NULL
8699 void set_source(AT0)(AT0 /*Actor*/ actor=null) nothrow {
8700 clutter_event_set_source(&this, UpCast!(Actor*)(actor));
8703 // VERSION: 1.8
8704 // Sets the source #ClutterInputDevice for @event.
8706 // The #ClutterEvent must have been created using clutter_event_new().
8707 // <device>: a #ClutterInputDevice
8708 void set_source_device(AT0)(AT0 /*InputDevice*/ device=null) nothrow {
8709 clutter_event_set_source_device(&this, UpCast!(InputDevice*)(device));
8712 // VERSION: 1.8
8713 // Sets the source #ClutterStage of the event.
8714 // <stage>: a #ClutterStage, or %NULL
8715 void set_stage(AT0)(AT0 /*Stage*/ stage=null) nothrow {
8716 clutter_event_set_stage(&this, UpCast!(Stage*)(stage));
8719 // VERSION: 1.8
8720 // Sets the modifier state of the event.
8721 // <state>: the modifier state to set
8722 void set_state()(ModifierType state) nothrow {
8723 clutter_event_set_state(&this, state);
8726 // VERSION: 1.8
8727 // Sets the time of the event.
8728 // <time_>: the time of the event
8729 void set_time()(uint time_) nothrow {
8730 clutter_event_set_time(&this, time_);
8733 // Retrieves the type of the event.
8734 // RETURNS: a #ClutterEventType
8735 EventType type()() nothrow {
8736 return clutter_event_type(&this);
8739 // VERSION: 0.4
8740 // Pops an event off the event queue. Applications should not need to call
8741 // this.
8742 // RETURNS: A #ClutterEvent or NULL if queue empty
8743 static Event* /*new*/ get()() nothrow {
8744 return clutter_event_get();
8747 // VERSION: 0.4
8748 // Returns a pointer to the first event from the event queue but
8749 // does not remove it.
8750 // RETURNS: A #ClutterEvent or NULL if queue empty.
8751 static Event* peek()() nothrow {
8752 return clutter_event_peek();
8755 // --- mixin/Clutter_Event.d --->
8757 void toString(FT)(scope void delegate(const(char)[]) sink, FT fmt) {
8758 import std.format;
8759 with (EventType)
8760 switch (type_) {
8761 // <KeyEvent> contains a dchar, which causes:
8762 //Error: static assert "Cannot put a dchar into a void delegate(const(char)[])"
8763 //case KEY_PRESS, KEY_RELEASE: formatValue(sink, key, fmt); return;
8764 case MOTION: formatValue(sink, motion, fmt); return;
8765 case ENTER, LEAVE: formatValue(sink, crossing, fmt); return;
8766 case BUTTON_PRESS, BUTTON_RELEASE:
8767 formatValue(sink, button, fmt); return;
8768 case SCROLL: formatValue(sink, scroll, fmt); return;
8769 case STAGE_STATE: formatValue(sink, stage_state, fmt); return;
8770 any: case DELETE, DESTROY_NOTIFY, CLIENT_MESSAGE:
8771 formatValue(sink, any, fmt); return;
8772 default: sink("/*FIXME*/"); goto any;
8776 // <--- mixin/Clutter_Event.d ---
8779 // Flags for the #ClutterEvent
8780 enum EventFlags /* Version 0.6 */ {
8781 NONE = 0,
8782 FLAG_SYNTHETIC = 1
8784 // Types of events.
8785 enum EventType /* Version 0.4 */ {
8786 NOTHING = 0,
8787 KEY_PRESS = 1,
8788 KEY_RELEASE = 2,
8789 MOTION = 3,
8790 ENTER = 4,
8791 LEAVE = 5,
8792 BUTTON_PRESS = 6,
8793 BUTTON_RELEASE = 7,
8794 SCROLL = 8,
8795 STAGE_STATE = 9,
8796 DESTROY_NOTIFY = 10,
8797 CLIENT_MESSAGE = 11,
8798 DELETE = 12
8800 enum int Excel = 269025116;
8801 enum int Execute = 65378;
8802 enum int Explorer = 269025117;
8803 enum int F = 70;
8804 enum int F1 = 65470;
8805 enum int F10 = 65479;
8806 enum int F11 = 65480;
8807 enum int F12 = 65481;
8808 enum int F13 = 65482;
8809 enum int F14 = 65483;
8810 enum int F15 = 65484;
8811 enum int F16 = 65485;
8812 enum int F17 = 65486;
8813 enum int F18 = 65487;
8814 enum int F19 = 65488;
8815 enum int F2 = 65471;
8816 enum int F20 = 65489;
8817 enum int F21 = 65490;
8818 enum int F22 = 65491;
8819 enum int F23 = 65492;
8820 enum int F24 = 65493;
8821 enum int F25 = 65494;
8822 enum int F26 = 65495;
8823 enum int F27 = 65496;
8824 enum int F28 = 65497;
8825 enum int F29 = 65498;
8826 enum int F3 = 65472;
8827 enum int F30 = 65499;
8828 enum int F31 = 65500;
8829 enum int F32 = 65501;
8830 enum int F33 = 65502;
8831 enum int F34 = 65503;
8832 enum int F35 = 65504;
8833 enum int F4 = 65473;
8834 enum int F5 = 65474;
8835 enum int F6 = 65475;
8836 enum int F7 = 65476;
8837 enum int F8 = 65477;
8838 enum int F9 = 65478;
8839 enum int FFrancSign = 16785571;
8840 enum FLAVOUR = "deprecated";
8841 enum int Fabovedot = 16784926;
8842 enum int Farsi_0 = 16778992;
8843 enum int Farsi_1 = 16778993;
8844 enum int Farsi_2 = 16778994;
8845 enum int Farsi_3 = 16778995;
8846 enum int Farsi_4 = 16778996;
8847 enum int Farsi_5 = 16778997;
8848 enum int Farsi_6 = 16778998;
8849 enum int Farsi_7 = 16778999;
8850 enum int Farsi_8 = 16779000;
8851 enum int Farsi_9 = 16779001;
8852 enum int Farsi_yeh = 16778956;
8853 enum int Favorites = 269025072;
8855 // Runtime flags indicating specific features available via Clutter window
8856 // sysytem and graphics backend.
8857 enum FeatureFlags /* Version 0.4 */ {
8858 TEXTURE_NPOT = 4,
8859 SYNC_TO_VBLANK = 8,
8860 TEXTURE_YUV = 16,
8861 TEXTURE_READ_PIXELS = 32,
8862 STAGE_STATIC = 64,
8863 STAGE_USER_RESIZE = 128,
8864 STAGE_CURSOR = 256,
8865 SHADERS_GLSL = 512,
8866 OFFSCREEN = 1024,
8867 STAGE_MULTIPLE = 2048,
8868 SWAP_EVENTS = 4096
8870 enum int Finance = 269025084;
8871 enum int Find = 65384;
8872 enum int First_Virtual_Screen = 65232;
8874 // The #ClutterFixedLayout structure contains only private data and
8875 // it should be accessed using the provided API
8876 struct FixedLayout /* : LayoutManager */ /* Version 1.2 */ {
8877 alias parent_instance this;
8878 alias parent_instance super_;
8879 alias parent_instance layoutmanager;
8880 LayoutManager parent_instance;
8883 // VERSION: 1.2
8884 // Creates a new #ClutterFixedLayout
8885 // RETURNS: the newly created #ClutterFixedLayout
8886 static FixedLayout* new_()() nothrow {
8887 return clutter_fixed_layout_new();
8889 static auto opCall()() {
8890 return clutter_fixed_layout_new();
8895 // The #ClutterFixedLayoutClass structure contains only private data
8896 // and it should be accessed using the provided API
8897 struct FixedLayoutClass /* Version 1.2 */ {
8898 private LayoutManagerClass parent_class;
8902 // The #ClutterFlowLayout structure contains only private data
8903 // and should be accessed using the provided API
8904 struct FlowLayout /* : LayoutManager */ /* Version 1.2 */ {
8905 alias parent_instance this;
8906 alias parent_instance super_;
8907 alias parent_instance layoutmanager;
8908 LayoutManager parent_instance;
8909 private FlowLayoutPrivate* priv;
8912 // VERSION: 1.2
8913 // Creates a new #ClutterFlowLayout with the given @orientation
8914 // RETURNS: the newly created #ClutterFlowLayout
8915 // <orientation>: the orientation of the flow layout
8916 static FlowLayout* new_()(FlowOrientation orientation) nothrow {
8917 return clutter_flow_layout_new(orientation);
8919 static auto opCall()(FlowOrientation orientation) {
8920 return clutter_flow_layout_new(orientation);
8923 // VERSION: 1.2
8924 // Retrieves the spacing between columns
8926 // in pixels
8927 // RETURNS: the spacing between columns of the #ClutterFlowLayout,
8928 float get_column_spacing()() nothrow {
8929 return clutter_flow_layout_get_column_spacing(&this);
8932 // VERSION: 1.2
8933 // Retrieves the minimum and maximum column widths
8934 // <min_width>: return location for the minimum column width, or %NULL
8935 // <max_width>: return location for the maximum column width, or %NULL
8936 void get_column_width(AT0, AT1)(/*out*/ AT0 /*float*/ min_width, /*out*/ AT1 /*float*/ max_width) nothrow {
8937 clutter_flow_layout_get_column_width(&this, UpCast!(float*)(min_width), UpCast!(float*)(max_width));
8940 // VERSION: 1.2
8941 // Retrieves whether the @layout is homogeneous
8942 // RETURNS: %TRUE if the #ClutterFlowLayout is homogeneous
8943 int get_homogeneous()() nothrow {
8944 return clutter_flow_layout_get_homogeneous(&this);
8947 // VERSION: 1.2
8948 // Retrieves the orientation of the @layout
8949 // RETURNS: the orientation of the #ClutterFlowLayout
8950 FlowOrientation get_orientation()() nothrow {
8951 return clutter_flow_layout_get_orientation(&this);
8954 // VERSION: 1.2
8955 // Retrieves the minimum and maximum row heights
8956 // <min_height>: return location for the minimum row height, or %NULL
8957 // <max_height>: return location for the maximum row height, or %NULL
8958 void get_row_height(AT0, AT1)(/*out*/ AT0 /*float*/ min_height, /*out*/ AT1 /*float*/ max_height) nothrow {
8959 clutter_flow_layout_get_row_height(&this, UpCast!(float*)(min_height), UpCast!(float*)(max_height));
8962 // VERSION: 1.2
8963 // Retrieves the spacing between rows
8965 // in pixels
8966 // RETURNS: the spacing between rows of the #ClutterFlowLayout,
8967 float get_row_spacing()() nothrow {
8968 return clutter_flow_layout_get_row_spacing(&this);
8971 // VERSION: 1.2
8972 // Sets the space between columns, in pixels
8973 // <spacing>: the space between columns
8974 void set_column_spacing()(float spacing) nothrow {
8975 clutter_flow_layout_set_column_spacing(&this, spacing);
8978 // VERSION: 1.2
8979 // Sets the minimum and maximum widths that a column can have
8980 // <min_width>: minimum width of a column
8981 // <max_width>: maximum width of a column
8982 void set_column_width()(float min_width, float max_width) nothrow {
8983 clutter_flow_layout_set_column_width(&this, min_width, max_width);
8986 // VERSION: 1.2
8987 // Sets whether the @layout should allocate the same space for
8988 // each child
8989 // <homogeneous>: whether the layout should be homogeneous or not
8990 void set_homogeneous()(int homogeneous) nothrow {
8991 clutter_flow_layout_set_homogeneous(&this, homogeneous);
8994 // VERSION: 1.2
8995 // Sets the orientation of the flow layout
8997 // The orientation controls the direction used to allocate
8998 // the children: either horizontally or vertically. The
8999 // orientation also controls the direction of the overflowing
9000 // <orientation>: the orientation of the layout
9001 void set_orientation()(FlowOrientation orientation) nothrow {
9002 clutter_flow_layout_set_orientation(&this, orientation);
9005 // VERSION: 1.2
9006 // Sets the minimum and maximum heights that a row can have
9007 // <min_height>: the minimum height of a row
9008 // <max_height>: the maximum height of a row
9009 void set_row_height()(float min_height, float max_height) nothrow {
9010 clutter_flow_layout_set_row_height(&this, min_height, max_height);
9013 // VERSION: 1.2
9014 // Sets the spacing between rows, in pixels
9015 // <spacing>: the space between rows
9016 void set_row_spacing()(float spacing) nothrow {
9017 clutter_flow_layout_set_row_spacing(&this, spacing);
9022 // The #ClutterFlowLayoutClass structure contains only private data
9023 // and should be accessed using the provided API
9024 struct FlowLayoutClass /* Version 1.2 */ {
9025 private LayoutManagerClass parent_class;
9028 struct FlowLayoutPrivate {
9032 // The direction of the arrangement of the children inside
9033 // a #ClutterFlowLayout
9034 enum FlowOrientation /* Version 1.2 */ {
9035 HORIZONTAL = 0,
9036 VERTICAL = 1
9038 // Fog settings used to create the depth cueing effect.
9039 struct Fog /* Version 0.6 */ {
9040 float z_near, z_far;
9044 // Runtime flags to change the font quality. To be used with
9045 // clutter_set_font_flags().
9046 enum FontFlags /* Version 1.0 */ {
9047 MIPMAPPING = 1,
9048 HINTING = 2
9050 enum int Forward = 269025063;
9051 enum int FrameBack = 269025181;
9052 enum int FrameForward = 269025182;
9053 enum int G = 71;
9054 enum int Gabovedot = 725;
9055 enum int Game = 269025118;
9056 enum int Gbreve = 683;
9057 enum int Gcaron = 16777702;
9058 enum int Gcedilla = 939;
9059 enum int Gcircumflex = 728;
9060 // The rectangle containing an actor's bounding box, measured in pixels.
9061 struct Geometry {
9062 int x, y;
9063 uint width, height;
9066 // VERSION: 1.4
9067 // Determines if @geometry0 and geometry1 intersect returning %TRUE if
9068 // they do else %FALSE.
9070 // %FALSE.
9071 // RETURNS: %TRUE of @geometry0 and geometry1 intersect else
9072 // <geometry1>: The second geometry to test
9073 int intersects(AT0)(AT0 /*Geometry*/ geometry1) nothrow {
9074 return clutter_geometry_intersects(&this, UpCast!(Geometry*)(geometry1));
9077 // VERSION: 1.4
9078 // Find the union of two rectangles represented as #ClutterGeometry.
9079 // <geometry_b>: another #ClutterGeometry
9080 // <result>: location to store the result
9081 void union_(AT0, AT1)(AT0 /*Geometry*/ geometry_b, /*out*/ AT1 /*Geometry*/ result) nothrow {
9082 clutter_geometry_union(&this, UpCast!(Geometry*)(geometry_b), UpCast!(Geometry*)(result));
9086 enum int Georgian_an = 16781520;
9087 enum int Georgian_ban = 16781521;
9088 enum int Georgian_can = 16781546;
9089 enum int Georgian_char = 16781549;
9090 enum int Georgian_chin = 16781545;
9091 enum int Georgian_cil = 16781548;
9092 enum int Georgian_don = 16781523;
9093 enum int Georgian_en = 16781524;
9094 enum int Georgian_fi = 16781558;
9095 enum int Georgian_gan = 16781522;
9096 enum int Georgian_ghan = 16781542;
9097 enum int Georgian_hae = 16781552;
9098 enum int Georgian_har = 16781556;
9099 enum int Georgian_he = 16781553;
9100 enum int Georgian_hie = 16781554;
9101 enum int Georgian_hoe = 16781557;
9102 enum int Georgian_in = 16781528;
9103 enum int Georgian_jhan = 16781551;
9104 enum int Georgian_jil = 16781547;
9105 enum int Georgian_kan = 16781529;
9106 enum int Georgian_khar = 16781541;
9107 enum int Georgian_las = 16781530;
9108 enum int Georgian_man = 16781531;
9109 enum int Georgian_nar = 16781532;
9110 enum int Georgian_on = 16781533;
9111 enum int Georgian_par = 16781534;
9112 enum int Georgian_phar = 16781540;
9113 enum int Georgian_qar = 16781543;
9114 enum int Georgian_rae = 16781536;
9115 enum int Georgian_san = 16781537;
9116 enum int Georgian_shin = 16781544;
9117 enum int Georgian_tan = 16781527;
9118 enum int Georgian_tar = 16781538;
9119 enum int Georgian_un = 16781539;
9120 enum int Georgian_vin = 16781525;
9121 enum int Georgian_we = 16781555;
9122 enum int Georgian_xan = 16781550;
9123 enum int Georgian_zen = 16781526;
9124 enum int Georgian_zhar = 16781535;
9126 // The <structname>ClutterGestureAction</structname> structure contains
9127 // only private data and should be accessed using the provided API
9128 struct GestureAction /* : Action */ /* Version 1.8 */ {
9129 alias parent_instance this;
9130 alias parent_instance super_;
9131 alias parent_instance action;
9132 Action parent_instance;
9133 private GestureActionPrivate* priv;
9136 // VERSION: 1.8
9137 // Creates a new #ClutterGestureAction instance.
9138 // RETURNS: the newly created #ClutterGestureAction
9139 static GestureAction* new_()() nothrow {
9140 return clutter_gesture_action_new();
9142 static auto opCall()() {
9143 return clutter_gesture_action_new();
9146 // VERSION: 1.8
9147 // Retrieves the coordinates, in stage space, of the latest motion
9148 // event during the dragging
9149 // <device>: currently unused, set to 0
9150 // <motion_x>: return location for the latest motion event's X coordinate
9151 // <motion_y>: return location for the latest motion event's Y coordinate
9152 void get_motion_coords(AT0, AT1)(uint device, /*out*/ AT0 /*float*/ motion_x, /*out*/ AT1 /*float*/ motion_y) nothrow {
9153 clutter_gesture_action_get_motion_coords(&this, device, UpCast!(float*)(motion_x), UpCast!(float*)(motion_y));
9156 // VERSION: 1.8
9157 // Retrieves the coordinates, in stage space, of the press event
9158 // that started the dragging for an specific pointer device
9159 // <device>: currently unused, set to 0
9160 // <press_x>: return location for the press event's X coordinate
9161 // <press_y>: return location for the press event's Y coordinate
9162 void get_press_coords(AT0, AT1)(uint device, /*out*/ AT0 /*float*/ press_x, /*out*/ AT1 /*float*/ press_y) nothrow {
9163 clutter_gesture_action_get_press_coords(&this, device, UpCast!(float*)(press_x), UpCast!(float*)(press_y));
9166 // VERSION: 1.8
9167 // Retrieves the coordinates, in stage space, of the point where the pointer
9168 // device was last released.
9169 // <device>: currently unused, set to 0
9170 // <release_x>: return location for the X coordinate of the last release
9171 // <release_y>: return location for the Y coordinate of the last release
9172 void get_release_coords(AT0, AT1)(uint device, /*out*/ AT0 /*float*/ release_x, /*out*/ AT1 /*float*/ release_y) nothrow {
9173 clutter_gesture_action_get_release_coords(&this, device, UpCast!(float*)(release_x), UpCast!(float*)(release_y));
9176 // VERSION: 1.8
9177 // The ::gesture_begin signal is emitted when the #ClutterActor to which
9178 // a #ClutterGestureAction has been applied starts receiving a gesture.
9180 // the gesture should be ignored.
9181 // RETURNS: %TRUE if the gesture should start, and %FALSE if
9182 // <actor>: the #ClutterActor attached to the @action
9183 extern (C) alias static c_int function (GestureAction* this_, Actor* actor, void* user_data=null) nothrow signal_gesture_begin;
9185 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
9186 return super_.signal_connect!name(cb, data, cf);
9189 ulong signal_connect(string name:"gesture-begin", CB/*:signal_gesture_begin*/)
9190 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
9191 if (is(typeof(cb)==signal_gesture_begin)||_ttmm!(CB, signal_gesture_begin)()) {
9192 return signal_connect_data!()(&this, cast(char*)"gesture-begin",
9193 cast(GObject2.Callback)cb, data, null, cf);
9196 // VERSION: 1.8
9197 // The ::gesture-cancel signal is emitted when the ongoing gesture gets
9198 // cancelled from the #ClutterGestureAction::gesture-progress signal handler.
9200 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
9201 // signal has been emitted first.
9202 // <actor>: the #ClutterActor attached to the @action
9203 extern (C) alias static void function (GestureAction* this_, Actor* actor, void* user_data=null) nothrow signal_gesture_cancel;
9204 ulong signal_connect(string name:"gesture-cancel", CB/*:signal_gesture_cancel*/)
9205 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
9206 if (is(typeof(cb)==signal_gesture_cancel)||_ttmm!(CB, signal_gesture_cancel)()) {
9207 return signal_connect_data!()(&this, cast(char*)"gesture-cancel",
9208 cast(GObject2.Callback)cb, data, null, cf);
9211 // VERSION: 1.8
9212 // The ::gesture-end signal is emitted at the end of the gesture gesture,
9213 // when the pointer's button is released
9215 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
9216 // signal has been emitted first.
9217 // <actor>: the #ClutterActor attached to the @action
9218 extern (C) alias static void function (GestureAction* this_, Actor* actor, void* user_data=null) nothrow signal_gesture_end;
9219 ulong signal_connect(string name:"gesture-end", CB/*:signal_gesture_end*/)
9220 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
9221 if (is(typeof(cb)==signal_gesture_end)||_ttmm!(CB, signal_gesture_end)()) {
9222 return signal_connect_data!()(&this, cast(char*)"gesture-end",
9223 cast(GObject2.Callback)cb, data, null, cf);
9226 // VERSION: 1.8
9227 // The ::gesture-progress signal is emitted for each motion event after
9228 // the #ClutterGestureAction::gesture-begin signal has been emitted.
9230 // the gesture should be cancelled.
9231 // RETURNS: %TRUE if the gesture should continue, and %FALSE if
9232 // <actor>: the #ClutterActor attached to the @action
9233 extern (C) alias static c_int function (GestureAction* this_, Actor* actor, void* user_data=null) nothrow signal_gesture_progress;
9234 ulong signal_connect(string name:"gesture-progress", CB/*:signal_gesture_progress*/)
9235 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
9236 if (is(typeof(cb)==signal_gesture_progress)||_ttmm!(CB, signal_gesture_progress)()) {
9237 return signal_connect_data!()(&this, cast(char*)"gesture-progress",
9238 cast(GObject2.Callback)cb, data, null, cf);
9243 // The <structname>ClutterGestureClass</structname> structure contains only
9244 // private data.
9245 struct GestureActionClass /* Version 1.8 */ {
9246 private ActionClass parent_class;
9247 extern (C) int function (GestureAction* action, Actor* actor) nothrow gesture_begin;
9248 extern (C) int function (GestureAction* action, Actor* actor) nothrow gesture_progress;
9249 extern (C) void function (GestureAction* action, Actor* actor) nothrow gesture_end;
9250 extern (C) void function (GestureAction* action, Actor* actor) nothrow gesture_cancel;
9251 extern (C) void function () nothrow _clutter_gesture_action1;
9252 extern (C) void function () nothrow _clutter_gesture_action2;
9253 extern (C) void function () nothrow _clutter_gesture_action3;
9254 extern (C) void function () nothrow _clutter_gesture_action4;
9255 extern (C) void function () nothrow _clutter_gesture_action5;
9256 extern (C) void function () nothrow _clutter_gesture_action6;
9257 extern (C) void function () nothrow _clutter_gesture_action7;
9260 struct GestureActionPrivate {
9263 enum int Go = 269025119;
9265 // Gravity of the scaling operations. When a gravity different than
9266 // %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
9267 // of the specified portion at the same coordinates.
9268 enum Gravity /* Version 0.2 */ {
9269 NONE = 0,
9270 NORTH = 1,
9271 NORTH_EAST = 2,
9272 EAST = 3,
9273 SOUTH_EAST = 4,
9274 SOUTH = 5,
9275 SOUTH_WEST = 6,
9276 WEST = 7,
9277 NORTH_WEST = 8,
9278 CENTER = 9
9280 enum int Greek_ALPHA = 1985;
9281 enum int Greek_ALPHAaccent = 1953;
9282 enum int Greek_BETA = 1986;
9283 enum int Greek_CHI = 2007;
9284 enum int Greek_DELTA = 1988;
9285 enum int Greek_EPSILON = 1989;
9286 enum int Greek_EPSILONaccent = 1954;
9287 enum int Greek_ETA = 1991;
9288 enum int Greek_ETAaccent = 1955;
9289 enum int Greek_GAMMA = 1987;
9290 enum int Greek_IOTA = 1993;
9291 enum int Greek_IOTAaccent = 1956;
9292 enum int Greek_IOTAdiaeresis = 1957;
9293 enum int Greek_IOTAdieresis = 1957;
9294 enum int Greek_KAPPA = 1994;
9295 enum int Greek_LAMBDA = 1995;
9296 enum int Greek_LAMDA = 1995;
9297 enum int Greek_MU = 1996;
9298 enum int Greek_NU = 1997;
9299 enum int Greek_OMEGA = 2009;
9300 enum int Greek_OMEGAaccent = 1963;
9301 enum int Greek_OMICRON = 1999;
9302 enum int Greek_OMICRONaccent = 1959;
9303 enum int Greek_PHI = 2006;
9304 enum int Greek_PI = 2000;
9305 enum int Greek_PSI = 2008;
9306 enum int Greek_RHO = 2001;
9307 enum int Greek_SIGMA = 2002;
9308 enum int Greek_TAU = 2004;
9309 enum int Greek_THETA = 1992;
9310 enum int Greek_UPSILON = 2005;
9311 enum int Greek_UPSILONaccent = 1960;
9312 enum int Greek_UPSILONdieresis = 1961;
9313 enum int Greek_XI = 1998;
9314 enum int Greek_ZETA = 1990;
9315 enum int Greek_accentdieresis = 1966;
9316 enum int Greek_alpha = 2017;
9317 enum int Greek_alphaaccent = 1969;
9318 enum int Greek_beta = 2018;
9319 enum int Greek_chi = 2039;
9320 enum int Greek_delta = 2020;
9321 enum int Greek_epsilon = 2021;
9322 enum int Greek_epsilonaccent = 1970;
9323 enum int Greek_eta = 2023;
9324 enum int Greek_etaaccent = 1971;
9325 enum int Greek_finalsmallsigma = 2035;
9326 enum int Greek_gamma = 2019;
9327 enum int Greek_horizbar = 1967;
9328 enum int Greek_iota = 2025;
9329 enum int Greek_iotaaccent = 1972;
9330 enum int Greek_iotaaccentdieresis = 1974;
9331 enum int Greek_iotadieresis = 1973;
9332 enum int Greek_kappa = 2026;
9333 enum int Greek_lambda = 2027;
9334 enum int Greek_lamda = 2027;
9335 enum int Greek_mu = 2028;
9336 enum int Greek_nu = 2029;
9337 enum int Greek_omega = 2041;
9338 enum int Greek_omegaaccent = 1979;
9339 enum int Greek_omicron = 2031;
9340 enum int Greek_omicronaccent = 1975;
9341 enum int Greek_phi = 2038;
9342 enum int Greek_pi = 2032;
9343 enum int Greek_psi = 2040;
9344 enum int Greek_rho = 2033;
9345 enum int Greek_sigma = 2034;
9346 enum int Greek_switch = 65406;
9347 enum int Greek_tau = 2036;
9348 enum int Greek_theta = 2024;
9349 enum int Greek_upsilon = 2037;
9350 enum int Greek_upsilonaccent = 1976;
9351 enum int Greek_upsilonaccentdieresis = 1978;
9352 enum int Greek_upsilondieresis = 1977;
9353 enum int Greek_xi = 2030;
9354 enum int Greek_zeta = 2022;
9355 enum int Green = 269025188;
9357 // The #ClutterGroup structure contains only private data
9358 // and should be accessed using the provided API
9359 struct Group /* : Actor */ /* Version 0.1 */ {
9360 mixin Atk.ImplementorIface.__interface__;
9361 mixin Animatable.__interface__;
9362 mixin Container.__interface__;
9363 mixin Scriptable.__interface__;
9364 alias parent_instance this;
9365 alias parent_instance super_;
9366 alias parent_instance actor;
9367 Actor parent_instance;
9368 private GroupPrivate* priv;
9371 // DEPRECATED (v1.10) constructor: new - Use clutter_actor_new() instead.
9372 // Create a new #ClutterGroup.
9373 // RETURNS: the newly created #ClutterGroup actor
9374 static Group* new_()() nothrow {
9375 return clutter_group_new();
9377 static auto opCall()() {
9378 return clutter_group_new();
9381 // VERSION: 0.2
9382 // DEPRECATED (v1.10) method: get_n_children - Use clutter_actor_get_n_children() instead.
9383 // Gets the number of actors held in the group.
9384 // RETURNS: The number of child actors held in the group.
9385 int get_n_children()() nothrow {
9386 return clutter_group_get_n_children(&this);
9389 // VERSION: 0.2
9390 // DEPRECATED (v1.10) method: get_nth_child - Use clutter_actor_get_child_at_index() instead.
9391 // Gets a groups child held at @index_ in stack.
9393 // @index_ is invalid.
9394 // RETURNS: A Clutter actor, or %NULL if
9395 // <index_>: the position of the requested actor.
9396 Actor* get_nth_child()(int index_) nothrow {
9397 return clutter_group_get_nth_child(&this, index_);
9400 // DEPRECATED (v1.10) method: remove_all - Use clutter_actor_remove_all_children() instead.
9401 // Removes all children actors from the #ClutterGroup.
9402 void remove_all()() nothrow {
9403 clutter_group_remove_all(&this);
9407 // The #ClutterGroupClass structure contains only private data
9408 struct GroupClass /* Version 0.1 */ {
9409 private ActorClass parent_class;
9410 extern (C) void function () nothrow _clutter_reserved1;
9411 extern (C) void function () nothrow _clutter_reserved2;
9412 extern (C) void function () nothrow _clutter_reserved3;
9413 extern (C) void function () nothrow _clutter_reserved4;
9414 extern (C) void function () nothrow _clutter_reserved5;
9415 extern (C) void function () nothrow _clutter_reserved6;
9418 struct GroupPrivate {
9421 enum int H = 72;
9422 enum int Hangul = 65329;
9423 enum int Hangul_A = 3775;
9424 enum int Hangul_AE = 3776;
9425 enum int Hangul_AraeA = 3830;
9426 enum int Hangul_AraeAE = 3831;
9427 enum int Hangul_Banja = 65337;
9428 enum int Hangul_Cieuc = 3770;
9429 enum int Hangul_Codeinput = 65335;
9430 enum int Hangul_Dikeud = 3751;
9431 enum int Hangul_E = 3780;
9432 enum int Hangul_EO = 3779;
9433 enum int Hangul_EU = 3793;
9434 enum int Hangul_End = 65331;
9435 enum int Hangul_Hanja = 65332;
9436 enum int Hangul_Hieuh = 3774;
9437 enum int Hangul_I = 3795;
9438 enum int Hangul_Ieung = 3767;
9439 enum int Hangul_J_Cieuc = 3818;
9440 enum int Hangul_J_Dikeud = 3802;
9441 enum int Hangul_J_Hieuh = 3822;
9442 enum int Hangul_J_Ieung = 3816;
9443 enum int Hangul_J_Jieuj = 3817;
9444 enum int Hangul_J_Khieuq = 3819;
9445 enum int Hangul_J_Kiyeog = 3796;
9446 enum int Hangul_J_KiyeogSios = 3798;
9447 enum int Hangul_J_KkogjiDalrinIeung = 3833;
9448 enum int Hangul_J_Mieum = 3811;
9449 enum int Hangul_J_Nieun = 3799;
9450 enum int Hangul_J_NieunHieuh = 3801;
9451 enum int Hangul_J_NieunJieuj = 3800;
9452 enum int Hangul_J_PanSios = 3832;
9453 enum int Hangul_J_Phieuf = 3821;
9454 enum int Hangul_J_Pieub = 3812;
9455 enum int Hangul_J_PieubSios = 3813;
9456 enum int Hangul_J_Rieul = 3803;
9457 enum int Hangul_J_RieulHieuh = 3810;
9458 enum int Hangul_J_RieulKiyeog = 3804;
9459 enum int Hangul_J_RieulMieum = 3805;
9460 enum int Hangul_J_RieulPhieuf = 3809;
9461 enum int Hangul_J_RieulPieub = 3806;
9462 enum int Hangul_J_RieulSios = 3807;
9463 enum int Hangul_J_RieulTieut = 3808;
9464 enum int Hangul_J_Sios = 3814;
9465 enum int Hangul_J_SsangKiyeog = 3797;
9466 enum int Hangul_J_SsangSios = 3815;
9467 enum int Hangul_J_Tieut = 3820;
9468 enum int Hangul_J_YeorinHieuh = 3834;
9469 enum int Hangul_Jamo = 65333;
9470 enum int Hangul_Jeonja = 65336;
9471 enum int Hangul_Jieuj = 3768;
9472 enum int Hangul_Khieuq = 3771;
9473 enum int Hangul_Kiyeog = 3745;
9474 enum int Hangul_KiyeogSios = 3747;
9475 enum int Hangul_KkogjiDalrinIeung = 3827;
9476 enum int Hangul_Mieum = 3761;
9477 enum int Hangul_MultipleCandidate = 65341;
9478 enum int Hangul_Nieun = 3748;
9479 enum int Hangul_NieunHieuh = 3750;
9480 enum int Hangul_NieunJieuj = 3749;
9481 enum int Hangul_O = 3783;
9482 enum int Hangul_OE = 3786;
9483 enum int Hangul_PanSios = 3826;
9484 enum int Hangul_Phieuf = 3773;
9485 enum int Hangul_Pieub = 3762;
9486 enum int Hangul_PieubSios = 3764;
9487 enum int Hangul_PostHanja = 65339;
9488 enum int Hangul_PreHanja = 65338;
9489 enum int Hangul_PreviousCandidate = 65342;
9490 enum int Hangul_Rieul = 3753;
9491 enum int Hangul_RieulHieuh = 3760;
9492 enum int Hangul_RieulKiyeog = 3754;
9493 enum int Hangul_RieulMieum = 3755;
9494 enum int Hangul_RieulPhieuf = 3759;
9495 enum int Hangul_RieulPieub = 3756;
9496 enum int Hangul_RieulSios = 3757;
9497 enum int Hangul_RieulTieut = 3758;
9498 enum int Hangul_RieulYeorinHieuh = 3823;
9499 enum int Hangul_Romaja = 65334;
9500 enum int Hangul_SingleCandidate = 65340;
9501 enum int Hangul_Sios = 3765;
9502 enum int Hangul_Special = 65343;
9503 enum int Hangul_SsangDikeud = 3752;
9504 enum int Hangul_SsangJieuj = 3769;
9505 enum int Hangul_SsangKiyeog = 3746;
9506 enum int Hangul_SsangPieub = 3763;
9507 enum int Hangul_SsangSios = 3766;
9508 enum int Hangul_Start = 65330;
9509 enum int Hangul_SunkyeongeumMieum = 3824;
9510 enum int Hangul_SunkyeongeumPhieuf = 3828;
9511 enum int Hangul_SunkyeongeumPieub = 3825;
9512 enum int Hangul_Tieut = 3772;
9513 enum int Hangul_U = 3788;
9514 enum int Hangul_WA = 3784;
9515 enum int Hangul_WAE = 3785;
9516 enum int Hangul_WE = 3790;
9517 enum int Hangul_WEO = 3789;
9518 enum int Hangul_WI = 3791;
9519 enum int Hangul_YA = 3777;
9520 enum int Hangul_YAE = 3778;
9521 enum int Hangul_YE = 3782;
9522 enum int Hangul_YEO = 3781;
9523 enum int Hangul_YI = 3794;
9524 enum int Hangul_YO = 3787;
9525 enum int Hangul_YU = 3792;
9526 enum int Hangul_YeorinHieuh = 3829;
9527 enum int Hangul_switch = 65406;
9528 enum int Hankaku = 65321;
9529 enum int Hcircumflex = 678;
9530 enum int Hebrew_switch = 65406;
9531 enum int Help = 65386;
9532 enum int Henkan = 65315;
9533 enum int Henkan_Mode = 65315;
9534 enum int Hibernate = 269025192;
9535 enum int Hiragana = 65317;
9536 enum int Hiragana_Katakana = 65319;
9537 enum int History = 269025079;
9538 enum int Home = 65360;
9539 enum int HomePage = 269025048;
9540 enum int HotLinks = 269025082;
9541 enum int Hstroke = 673;
9542 enum int Hyper_L = 65517;
9543 enum int Hyper_R = 65518;
9544 enum int I = 73;
9545 enum INPUT_NULL = "null";
9546 enum INPUT_X11 = "x11";
9547 enum int ISO_Center_Object = 65075;
9548 enum int ISO_Continuous_Underline = 65072;
9549 enum int ISO_Discontinuous_Underline = 65073;
9550 enum int ISO_Emphasize = 65074;
9551 enum int ISO_Enter = 65076;
9552 enum int ISO_Fast_Cursor_Down = 65071;
9553 enum int ISO_Fast_Cursor_Left = 65068;
9554 enum int ISO_Fast_Cursor_Right = 65069;
9555 enum int ISO_Fast_Cursor_Up = 65070;
9556 enum int ISO_First_Group = 65036;
9557 enum int ISO_First_Group_Lock = 65037;
9558 enum int ISO_Group_Latch = 65030;
9559 enum int ISO_Group_Lock = 65031;
9560 enum int ISO_Group_Shift = 65406;
9561 enum int ISO_Last_Group = 65038;
9562 enum int ISO_Last_Group_Lock = 65039;
9563 enum int ISO_Left_Tab = 65056;
9564 enum int ISO_Level2_Latch = 65026;
9565 enum int ISO_Level3_Latch = 65028;
9566 enum int ISO_Level3_Lock = 65029;
9567 enum int ISO_Level3_Shift = 65027;
9568 enum int ISO_Level5_Latch = 65042;
9569 enum int ISO_Level5_Lock = 65043;
9570 enum int ISO_Level5_Shift = 65041;
9571 enum int ISO_Lock = 65025;
9572 enum int ISO_Move_Line_Down = 65058;
9573 enum int ISO_Move_Line_Up = 65057;
9574 enum int ISO_Next_Group = 65032;
9575 enum int ISO_Next_Group_Lock = 65033;
9576 enum int ISO_Partial_Line_Down = 65060;
9577 enum int ISO_Partial_Line_Up = 65059;
9578 enum int ISO_Partial_Space_Left = 65061;
9579 enum int ISO_Partial_Space_Right = 65062;
9580 enum int ISO_Prev_Group = 65034;
9581 enum int ISO_Prev_Group_Lock = 65035;
9582 enum int ISO_Release_Both_Margins = 65067;
9583 enum int ISO_Release_Margin_Left = 65065;
9584 enum int ISO_Release_Margin_Right = 65066;
9585 enum int ISO_Set_Margin_Left = 65063;
9586 enum int ISO_Set_Margin_Right = 65064;
9587 enum int Iabovedot = 681;
9588 enum int Iacute = 205;
9589 enum int Ibelowdot = 16785098;
9590 enum int Ibreve = 16777516;
9591 enum int Icircumflex = 206;
9592 enum int Idiaeresis = 207;
9593 enum int Igrave = 204;
9594 enum int Ihook = 16785096;
9595 enum int Imacron = 975;
9596 // Error conditions returned by clutter_init() and clutter_init_with_args().
9597 enum InitError /* Version 0.2 */ {
9598 SUCCESS = 1,
9599 ERROR_UNKNOWN = 0,
9600 ERROR_THREADS = -1,
9601 ERROR_BACKEND = -2,
9602 ERROR_INTERNAL = -3
9604 // The type of axes Clutter recognizes on a #ClutterInputDevice
9605 enum InputAxis /* Version 1.6 */ {
9606 IGNORE = 0,
9607 X = 1,
9608 Y = 2,
9609 PRESSURE = 3,
9610 XTILT = 4,
9611 YTILT = 5,
9612 WHEEL = 6
9615 // Generic representation of an input device. The actual contents of this
9616 // structure depend on the backend used.
9617 struct InputDevice /* : GObject.Object */ {
9618 alias method_parent this;
9619 alias method_parent super_;
9620 alias method_parent object;
9621 GObject2.Object method_parent;
9624 // VERSION: 1.6
9625 // Retrieves a pointer to the #ClutterInputDevice that has been
9626 // associated to @device.
9628 // If the #ClutterInputDevice:device-mode property of @device is
9629 // set to %CLUTTER_INPUT_MODE_MASTER, this function will return
9630 // %NULL.
9631 // RETURNS: a #ClutterInputDevice, or %NULL
9632 InputDevice* get_associated_device()() nothrow {
9633 return clutter_input_device_get_associated_device(&this);
9636 // VERSION: 1.6
9637 // Retrieves the type of axis on @device at the given index.
9638 // RETURNS: the axis type
9639 // <index_>: the index of the axis
9640 InputAxis get_axis()(uint index_) nothrow {
9641 return clutter_input_device_get_axis(&this, index_);
9644 // VERSION: 1.6
9645 // Extracts the value of the given @axis of a #ClutterInputDevice from
9646 // an array of axis values.
9648 // An example of typical usage for this function is:
9650 // |[
9651 // ClutterInputDevice *device = clutter_event_get_device (event);
9652 // gdouble *axes = clutter_event_get_axes (event, NULL);
9653 // gdouble pressure_value = 0;
9655 // clutter_input_device_get_axis_value (device, axes,
9656 // CLUTTER_INPUT_AXIS_PRESSURE,
9657 // &amp;pressure_value);
9658 // ]|
9659 // RETURNS: %TRUE if the value was set, and %FALSE otherwise
9660 // <axes>: an array of axes values, typically coming from clutter_event_get_axes()
9661 // <axis>: the axis to extract
9662 // <value>: return location for the axis value
9663 int get_axis_value(AT0, AT1)(AT0 /*double*/ axes, InputAxis axis, /*out*/ AT1 /*double*/ value) nothrow {
9664 return clutter_input_device_get_axis_value(&this, UpCast!(double*)(axes), axis, UpCast!(double*)(value));
9667 // VERSION: 1.2
9668 // Retrieves the latest coordinates of the pointer of @device
9669 // <x>: return location for the X coordinate
9670 // <y>: return location for the Y coordinate
9671 void get_device_coords()(/*out*/ int* x, /*out*/ int* y) nothrow {
9672 clutter_input_device_get_device_coords(&this, x, y);
9675 // VERSION: 1.0
9676 // Retrieves the unique identifier of @device
9677 // RETURNS: the identifier of the device
9678 int get_device_id()() nothrow {
9679 return clutter_input_device_get_device_id(&this);
9682 // VERSION: 1.6
9683 // Retrieves the #ClutterInputMode of @device.
9684 // RETURNS: the device mode
9685 InputMode get_device_mode()() nothrow {
9686 return clutter_input_device_get_device_mode(&this);
9689 // VERSION: 1.2
9690 // Retrieves the name of the @device
9692 // is owned by the #ClutterInputDevice and should never be modified
9693 // or freed
9694 // RETURNS: the name of the device, or %NULL. The returned string
9695 char* get_device_name()() nothrow {
9696 return clutter_input_device_get_device_name(&this);
9699 // VERSION: 1.0
9700 // Retrieves the type of @device
9701 // RETURNS: the type of the device
9702 InputDeviceType get_device_type()() nothrow {
9703 return clutter_input_device_get_device_type(&this);
9706 // VERSION: 1.6
9707 // Retrieves whether @device is enabled.
9708 // RETURNS: %TRUE if the device is enabled
9709 int get_enabled()() nothrow {
9710 return clutter_input_device_get_enabled(&this);
9713 // VERSION: 1.10
9714 // Retrieves a pointer to the #ClutterActor currently grabbing all
9715 // the events coming from @device.
9716 // RETURNS: a #ClutterActor, or %NULL
9717 Actor* get_grabbed_actor()() nothrow {
9718 return clutter_input_device_get_grabbed_actor(&this);
9721 // VERSION: 1.6
9722 // Retrieves whether @device has a pointer that follows the
9723 // device motion.
9724 // RETURNS: %TRUE if the device has a cursor
9725 int get_has_cursor()() nothrow {
9726 return clutter_input_device_get_has_cursor(&this);
9729 // VERSION: 1.6
9730 // Retrieves the key set using clutter_input_device_set_key()
9731 // RETURNS: %TRUE if a key was set at the given index
9732 // <index_>: the index of the key
9733 // <keyval>: return location for the keyval at @index_
9734 // <modifiers>: return location for the modifiers at @index_
9735 int get_key(AT0, AT1)(uint index_, /*out*/ AT0 /*uint*/ keyval, /*out*/ AT1 /*ModifierType*/ modifiers) nothrow {
9736 return clutter_input_device_get_key(&this, index_, UpCast!(uint*)(keyval), UpCast!(ModifierType*)(modifiers));
9739 // VERSION: 1.6
9740 // Retrieves the number of axes available on @device.
9741 // RETURNS: the number of axes on the device
9742 uint get_n_axes()() nothrow {
9743 return clutter_input_device_get_n_axes(&this);
9746 // VERSION: 1.6
9747 // Retrieves the number of keys registered for @device.
9748 // RETURNS: the number of registered keys
9749 uint get_n_keys()() nothrow {
9750 return clutter_input_device_get_n_keys(&this);
9753 // VERSION: 1.2
9754 // Retrieves the #ClutterActor underneath the pointer of @device
9755 // RETURNS: a pointer to the #ClutterActor or %NULL
9756 Actor* get_pointer_actor()() nothrow {
9757 return clutter_input_device_get_pointer_actor(&this);
9760 // VERSION: 1.2
9761 // Retrieves the #ClutterStage underneath the pointer of @device
9762 // RETURNS: a pointer to the #ClutterStage or %NULL
9763 Stage* get_pointer_stage()() nothrow {
9764 return clutter_input_device_get_pointer_stage(&this);
9767 // VERSION: 1.6
9768 // Retrieves the slave devices attached to @device.
9770 // list of #ClutterInputDevice, or %NULL. The contents of the list are
9771 // owned by the device. Use g_list_free() when done
9772 // RETURNS: a
9773 GLib2.List* /*new container*/ get_slave_devices()() nothrow {
9774 return clutter_input_device_get_slave_devices(&this);
9777 // VERSION: 1.10
9778 // Acquires a grab on @actor for the given @device.
9780 // Any event coming from @device will be delivered to @actor, bypassing
9781 // the usual event delivery mechanism, until the grab is released by
9782 // calling clutter_input_device_ungrab().
9784 // The grab is client-side: even if the windowing system used by the Clutter
9785 // backend has the concept of "device grabs", Clutter will not use them.
9787 // Only #ClutterInputDevice of types %CLUTTER_POINTER_DEVICE and
9788 // %CLUTTER_KEYBOARD_DEVICE can hold a grab.
9789 // <actor>: a #ClutterActor
9790 void grab(AT0)(AT0 /*Actor*/ actor) nothrow {
9791 clutter_input_device_grab(&this, UpCast!(Actor*)(actor));
9794 // VERSION: 1.6
9795 // Enables or disables a #ClutterInputDevice.
9797 // Only devices with a #ClutterInputDevice:device-mode property set
9798 // to %CLUTTER_INPUT_MODE_SLAVE or %CLUTTER_INPUT_MODE_FLOATING can
9799 // be disabled.
9800 // <enabled>: %TRUE to enable the @device
9801 void set_enabled()(int enabled) nothrow {
9802 clutter_input_device_set_enabled(&this, enabled);
9805 // VERSION: 1.6
9806 // Sets the keyval and modifiers at the given @index_ for @device.
9808 // Clutter will use the keyval and modifiers set when filling out
9809 // an event coming from the same input device.
9810 // <index_>: the index of the key
9811 // <keyval>: the keyval
9812 // <modifiers>: a bitmask of modifiers
9813 void set_key()(uint index_, uint keyval, ModifierType modifiers) nothrow {
9814 clutter_input_device_set_key(&this, index_, keyval, modifiers);
9817 // VERSION: 1.10
9818 // Releases the grab on the @device, if one is in place.
9819 void ungrab()() nothrow {
9820 clutter_input_device_ungrab(&this);
9823 // VERSION: 1.2
9824 // Forcibly updates the state of the @device using a #ClutterEvent
9826 // This function should never be used by applications: it is meant
9827 // for integration with embedding toolkits, like clutter-gtk
9829 // Embedding toolkits that disable the event collection inside Clutter
9830 // need to use this function to update the state of input devices depending
9831 // on a #ClutterEvent that they are going to submit to the event handling code
9832 // in Clutter though clutter_do_event(). Since the input devices hold the state
9833 // that is going to be used to fill in fields like the #ClutterButtonEvent
9834 // click count, or to emit synthesized events like %CLUTTER_ENTER and
9835 // %CLUTTER_LEAVE, it is necessary for embedding toolkits to also be
9836 // responsible of updating the input device state.
9838 // For instance, this might be the code to translate an embedding toolkit
9839 // native motion notification into a Clutter #ClutterMotionEvent and ask
9840 // Clutter to process it:
9842 // |[
9843 // ClutterEvent c_event;
9845 // translate_native_event_to_clutter (native_event, &amp;c_event);
9847 // clutter_do_event (&amp;c_event);
9848 // ]|
9850 // Before letting clutter_do_event() process the event, it is necessary to call
9851 // clutter_input_device_update_from_event():
9853 // |[
9854 // ClutterEvent c_event;
9855 // ClutterDeviceManager *manager;
9856 // ClutterInputDevice *device;
9858 // translate_native_event_to_clutter (native_event, &amp;c_event);
9860 // /&ast; get the device manager &ast;/
9861 // manager = clutter_device_manager_get_default ();
9863 // /&ast; use the default Core Pointer that Clutter
9864 // &ast; backends register by default
9865 // &ast;/
9866 // device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE);
9868 // /&ast; update the state of the input device &ast;/
9869 // clutter_input_device_update_from_event (device, &amp;c_event, FALSE);
9871 // clutter_do_event (&amp;c_event);
9872 // ]|
9874 // The @update_stage boolean argument should be used when the input device
9875 // enters and leaves a #ClutterStage; it will use the #ClutterStage field
9876 // of the passed @event to update the stage associated to the input device.
9877 // <event>: a #ClutterEvent
9878 // <update_stage>: whether to update the #ClutterStage of the @device using the stage of the event
9879 void update_from_event(AT0)(AT0 /*Event*/ event, int update_stage) nothrow {
9880 clutter_input_device_update_from_event(&this, UpCast!(Event*)(event), update_stage);
9884 struct InputDeviceClass {
9888 // The types of input devices available.
9890 // The #ClutterInputDeviceType enumeration can be extended at later
9891 // date; not every platform supports every input device type.
9892 enum InputDeviceType /* Version 1.0 */ {
9893 POINTER_DEVICE = 0,
9894 KEYBOARD_DEVICE = 1,
9895 EXTENSION_DEVICE = 2,
9896 JOYSTICK_DEVICE = 3,
9897 TABLET_DEVICE = 4,
9898 TOUCHPAD_DEVICE = 5,
9899 TOUCHSCREEN_DEVICE = 6,
9900 PEN_DEVICE = 7,
9901 ERASER_DEVICE = 8,
9902 CURSOR_DEVICE = 9,
9903 N_DEVICE_TYPES = 10
9905 // The mode for input devices available.
9906 enum InputMode /* Version 1.6 */ {
9907 MASTER = 0,
9908 SLAVE = 1,
9909 FLOATING = 2
9911 enum int Insert = 65379;
9912 // The mode of interpolation between key frames
9913 enum Interpolation /* Version 1.2 */ {
9914 LINEAR = 0,
9915 CUBIC = 1
9918 // The #ClutterInterval structure contains only private data and should
9919 // be accessed using the provided functions.
9920 struct Interval /* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
9921 alias parent_instance this;
9922 alias parent_instance super_;
9923 alias parent_instance initiallyunowned;
9924 GObject2.InitiallyUnowned parent_instance;
9925 private IntervalPrivate* priv;
9928 // Unintrospectable constructor: new() / clutter_interval_new()
9929 // VERSION: 1.0
9930 // Creates a new #ClutterInterval holding values of type @gtype.
9932 // This function avoids using a #GValue for the initial and final values
9933 // of the interval:
9935 // |[
9936 // interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0);
9937 // interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE);
9938 // interval = clutter_interval_new (G_TYPE_INT, 0, 360);
9939 // ]|
9940 // RETURNS: the newly created #ClutterInterval
9941 // <gtype>: the type of the values in the interval
9942 alias clutter_interval_new new_; // Variadic
9944 // VERSION: 1.0
9945 // Creates a new #ClutterInterval of type @gtype, between @initial
9946 // and @final.
9948 // This function is useful for language bindings.
9949 // RETURNS: the newly created #ClutterInterval
9950 // <gtype>: the type of the values in the interval
9951 // <initial>: a #GValue holding the initial value of the interval
9952 // <final>: a #GValue holding the final value of the interval
9953 static Interval* new_with_values(AT0, AT1)(Type gtype, AT0 /*GObject2.Value*/ initial, AT1 /*GObject2.Value*/ final_) nothrow {
9954 return clutter_interval_new_with_values(gtype, UpCast!(GObject2.Value*)(initial), UpCast!(GObject2.Value*)(final_));
9956 static auto opCall(AT0, AT1)(Type gtype, AT0 /*GObject2.Value*/ initial, AT1 /*GObject2.Value*/ final_) {
9957 return clutter_interval_new_with_values(gtype, UpCast!(GObject2.Value*)(initial), UpCast!(GObject2.Value*)(final_));
9960 // Unintrospectable function: register_progress_func() / clutter_interval_register_progress_func()
9961 // VERSION: 1.0
9962 // Sets the progress function for a given @value_type, like:
9964 // |[
9965 // clutter_interval_register_progress_func (MY_TYPE_FOO,
9966 // my_foo_progress);
9967 // ]|
9969 // Whenever a #ClutterInterval instance using the default
9970 // #ClutterInterval::compute_value implementation is set as an
9971 // interval between two #GValue of type @value_type, it will call
9972 // @func to establish the value depending on the given progress,
9973 // for instance:
9975 // |[
9976 // static gboolean
9977 // my_int_progress (const GValue *a,
9978 // const GValue *b,
9979 // gdouble progress,
9980 // GValue *retval)
9981 // {
9982 // gint ia = g_value_get_int (a);
9983 // gint ib = g_value_get_int (b);
9984 // gint res = factor * (ib - ia) + ia;
9986 // g_value_set_int (retval, res);
9988 // return TRUE;
9989 // }
9991 // clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress);
9992 // ]|
9994 // To unset a previously set progress function of a #GType, pass %NULL
9995 // for @func.
9996 // <value_type>: a #GType
9997 // <func>: a #ClutterProgressFunc, or %NULL to unset a previously set progress function
9998 static void register_progress_func()(Type value_type, ProgressFunc func) nothrow {
9999 clutter_interval_register_progress_func(value_type, func);
10002 // VERSION: 1.0
10003 // Creates a copy of @interval.
10004 // RETURNS: the newly created #ClutterInterval
10005 Interval* /*new*/ clone()() nothrow {
10006 return clutter_interval_clone(&this);
10009 // VERSION: 1.4
10010 // Computes the value between the @interval boundaries given the
10011 // progress @factor
10013 // Unlike clutter_interval_compute_value(), this function will
10014 // return a const pointer to the computed value
10016 // You should use this function if you immediately pass the computed
10017 // value to another function that makes a copy of it, like
10018 // g_object_set_property()
10020 // or %NULL if the computation was not successfull
10021 // RETURNS: a pointer to the computed value,
10022 // <factor>: the progress factor, between 0 and 1
10023 GObject2.Value* compute()(double factor) nothrow {
10024 return clutter_interval_compute(&this, factor);
10027 // VERSION: 1.0
10028 // Computes the value between the @interval boundaries given the
10029 // progress @factor and copies it into @value.
10030 // RETURNS: %TRUE if the operation was successful
10031 // <factor>: the progress factor, between 0 and 1
10032 // <value>: return location for an initialized #GValue
10033 int compute_value(AT0)(double factor, /*out*/ AT0 /*GObject2.Value*/ value) nothrow {
10034 return clutter_interval_compute_value(&this, factor, UpCast!(GObject2.Value*)(value));
10037 // VERSION: 1.0
10038 // Retrieves the final value of @interval and copies
10039 // it into @value.
10041 // The passed #GValue must be initialized to the value held by
10042 // the #ClutterInterval.
10043 // <value>: a #GValue
10044 void get_final_value(AT0)(/*out*/ AT0 /*GObject2.Value*/ value) nothrow {
10045 clutter_interval_get_final_value(&this, UpCast!(GObject2.Value*)(value));
10048 // VERSION: 1.0
10049 // Retrieves the initial value of @interval and copies
10050 // it into @value.
10052 // The passed #GValue must be initialized to the value held by
10053 // the #ClutterInterval.
10054 // <value>: a #GValue
10055 void get_initial_value(AT0)(/*out*/ AT0 /*GObject2.Value*/ value) nothrow {
10056 clutter_interval_get_initial_value(&this, UpCast!(GObject2.Value*)(value));
10059 // Unintrospectable method: get_interval() / clutter_interval_get_interval()
10060 // VERSION: 1.0
10061 // Variable arguments wrapper for clutter_interval_get_initial_value()
10062 // and clutter_interval_get_final_value() that avoids using the
10063 // #GValue arguments:
10065 // |[
10066 // gint a = 0, b = 0;
10067 // clutter_interval_get_interval (interval, &a, &b);
10068 // ]|
10070 // This function is meant for the convenience of the C API; bindings
10071 // should reimplement this function using the #GValue-based API.
10072 /+ Not available -- variadic methods unsupported - use the C function directly.
10073 alias clutter_interval_get_interval get_interval; // Variadic
10076 // VERSION: 1.0
10077 // Retrieves the #GType of the values inside @interval.
10078 // RETURNS: the type of the value, or G_TYPE_INVALID
10079 Type get_value_type()() nothrow {
10080 return clutter_interval_get_value_type(&this);
10083 // VERSION: 1.0
10084 // Gets the pointer to the final value of @interval
10086 // The value is owned by the #ClutterInterval and it should not be
10087 // modified or freed
10088 // RETURNS: the final value of the interval.
10089 GObject2.Value* peek_final_value()() nothrow {
10090 return clutter_interval_peek_final_value(&this);
10093 // VERSION: 1.0
10094 // Gets the pointer to the initial value of @interval
10096 // The value is owned by the #ClutterInterval and it should not be
10097 // modified or freed
10098 // RETURNS: the initial value of the interval.
10099 GObject2.Value* peek_initial_value()() nothrow {
10100 return clutter_interval_peek_initial_value(&this);
10103 // VERSION: 1.0
10104 // Sets the final value of @interval to @value. The value is
10105 // copied inside the #ClutterInterval.
10106 // <value>: a #GValue
10107 void set_final_value(AT0)(AT0 /*GObject2.Value*/ value) nothrow {
10108 clutter_interval_set_final_value(&this, UpCast!(GObject2.Value*)(value));
10111 // VERSION: 1.0
10112 // Sets the initial value of @interval to @value. The value is copied
10113 // inside the #ClutterInterval.
10114 // <value>: a #GValue
10115 void set_initial_value(AT0)(AT0 /*GObject2.Value*/ value) nothrow {
10116 clutter_interval_set_initial_value(&this, UpCast!(GObject2.Value*)(value));
10119 // Unintrospectable method: set_interval() / clutter_interval_set_interval()
10120 // VERSION: 1.0
10121 // Variable arguments wrapper for clutter_interval_set_initial_value()
10122 // and clutter_interval_set_final_value() that avoids using the
10123 // #GValue arguments:
10125 // |[
10126 // clutter_interval_set_interval (interval, 0, 50);
10127 // clutter_interval_set_interval (interval, 1.0, 0.0);
10128 // clutter_interval_set_interval (interval, FALSE, TRUE);
10129 // ]|
10131 // This function is meant for the convenience of the C API; bindings
10132 // should reimplement this function using the #GValue-based API.
10133 /+ Not available -- variadic methods unsupported - use the C function directly.
10134 alias clutter_interval_set_interval set_interval; // Variadic
10137 // VERSION: 1.0
10138 // Validates the initial and final values of @interval against
10139 // a #GParamSpec.
10140 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
10141 // <pspec>: a #GParamSpec
10142 int validate(AT0)(AT0 /*GObject2.ParamSpec*/ pspec) nothrow {
10143 return clutter_interval_validate(&this, UpCast!(GObject2.ParamSpec*)(pspec));
10147 // The #ClutterIntervalClass contains only private data.
10148 struct IntervalClass /* Version 1.0 */ {
10149 private GObject2.InitiallyUnownedClass parent_class;
10151 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
10152 // <pspec>: a #GParamSpec
10153 extern (C) int function (Interval* interval, GObject2.ParamSpec* pspec) nothrow validate;
10155 // RETURNS: %TRUE if the operation was successful
10156 // <factor>: the progress factor, between 0 and 1
10157 // <value>: return location for an initialized #GValue
10158 extern (C) int function (Interval* interval, double factor, /*out*/ GObject2.Value* value) nothrow compute_value;
10159 extern (C) void function () nothrow _clutter_reserved1;
10160 extern (C) void function () nothrow _clutter_reserved2;
10161 extern (C) void function () nothrow _clutter_reserved3;
10162 extern (C) void function () nothrow _clutter_reserved4;
10163 extern (C) void function () nothrow _clutter_reserved5;
10164 extern (C) void function () nothrow _clutter_reserved6;
10167 struct IntervalPrivate {
10170 enum int Iogonek = 967;
10171 enum int Itilde = 933;
10172 enum int J = 74;
10173 enum int Jcircumflex = 684;
10174 enum int K = 75;
10175 enum int KEY_0 = 48;
10176 enum int KEY_1 = 49;
10177 enum int KEY_2 = 50;
10178 enum int KEY_3 = 51;
10179 enum int KEY_3270_AltCursor = 64784;
10180 enum int KEY_3270_Attn = 64782;
10181 enum int KEY_3270_BackTab = 64773;
10182 enum int KEY_3270_ChangeScreen = 64793;
10183 enum int KEY_3270_Copy = 64789;
10184 enum int KEY_3270_CursorBlink = 64783;
10185 enum int KEY_3270_CursorSelect = 64796;
10186 enum int KEY_3270_DeleteWord = 64794;
10187 enum int KEY_3270_Duplicate = 64769;
10188 enum int KEY_3270_Enter = 64798;
10189 enum int KEY_3270_EraseEOF = 64774;
10190 enum int KEY_3270_EraseInput = 64775;
10191 enum int KEY_3270_ExSelect = 64795;
10192 enum int KEY_3270_FieldMark = 64770;
10193 enum int KEY_3270_Ident = 64787;
10194 enum int KEY_3270_Jump = 64786;
10195 enum int KEY_3270_KeyClick = 64785;
10196 enum int KEY_3270_Left2 = 64772;
10197 enum int KEY_3270_PA1 = 64778;
10198 enum int KEY_3270_PA2 = 64779;
10199 enum int KEY_3270_PA3 = 64780;
10200 enum int KEY_3270_Play = 64790;
10201 enum int KEY_3270_PrintScreen = 64797;
10202 enum int KEY_3270_Quit = 64777;
10203 enum int KEY_3270_Record = 64792;
10204 enum int KEY_3270_Reset = 64776;
10205 enum int KEY_3270_Right2 = 64771;
10206 enum int KEY_3270_Rule = 64788;
10207 enum int KEY_3270_Setup = 64791;
10208 enum int KEY_3270_Test = 64781;
10209 enum int KEY_4 = 52;
10210 enum int KEY_5 = 53;
10211 enum int KEY_6 = 54;
10212 enum int KEY_7 = 55;
10213 enum int KEY_8 = 56;
10214 enum int KEY_9 = 57;
10215 enum int KEY_A = 65;
10216 enum int KEY_AE = 198;
10217 enum int KEY_Aacute = 193;
10218 enum int KEY_Abelowdot = 16785056;
10219 enum int KEY_Abreve = 451;
10220 enum int KEY_Abreveacute = 16785070;
10221 enum int KEY_Abrevebelowdot = 16785078;
10222 enum int KEY_Abrevegrave = 16785072;
10223 enum int KEY_Abrevehook = 16785074;
10224 enum int KEY_Abrevetilde = 16785076;
10225 enum int KEY_AccessX_Enable = 65136;
10226 enum int KEY_AccessX_Feedback_Enable = 65137;
10227 enum int KEY_Acircumflex = 194;
10228 enum int KEY_Acircumflexacute = 16785060;
10229 enum int KEY_Acircumflexbelowdot = 16785068;
10230 enum int KEY_Acircumflexgrave = 16785062;
10231 enum int KEY_Acircumflexhook = 16785064;
10232 enum int KEY_Acircumflextilde = 16785066;
10233 enum int KEY_AddFavorite = 269025081;
10234 enum int KEY_Adiaeresis = 196;
10235 enum int KEY_Agrave = 192;
10236 enum int KEY_Ahook = 16785058;
10237 enum int KEY_Alt_L = 65513;
10238 enum int KEY_Alt_R = 65514;
10239 enum int KEY_Amacron = 960;
10240 enum int KEY_Aogonek = 417;
10241 enum int KEY_ApplicationLeft = 269025104;
10242 enum int KEY_ApplicationRight = 269025105;
10243 enum int KEY_Arabic_0 = 16778848;
10244 enum int KEY_Arabic_1 = 16778849;
10245 enum int KEY_Arabic_2 = 16778850;
10246 enum int KEY_Arabic_3 = 16778851;
10247 enum int KEY_Arabic_4 = 16778852;
10248 enum int KEY_Arabic_5 = 16778853;
10249 enum int KEY_Arabic_6 = 16778854;
10250 enum int KEY_Arabic_7 = 16778855;
10251 enum int KEY_Arabic_8 = 16778856;
10252 enum int KEY_Arabic_9 = 16778857;
10253 enum int KEY_Arabic_ain = 1497;
10254 enum int KEY_Arabic_alef = 1479;
10255 enum int KEY_Arabic_alefmaksura = 1513;
10256 enum int KEY_Arabic_beh = 1480;
10257 enum int KEY_Arabic_comma = 1452;
10258 enum int KEY_Arabic_dad = 1494;
10259 enum int KEY_Arabic_dal = 1487;
10260 enum int KEY_Arabic_damma = 1519;
10261 enum int KEY_Arabic_dammatan = 1516;
10262 enum int KEY_Arabic_ddal = 16778888;
10263 enum int KEY_Arabic_farsi_yeh = 16778956;
10264 enum int KEY_Arabic_fatha = 1518;
10265 enum int KEY_Arabic_fathatan = 1515;
10266 enum int KEY_Arabic_feh = 1505;
10267 enum int KEY_Arabic_fullstop = 16778964;
10268 enum int KEY_Arabic_gaf = 16778927;
10269 enum int KEY_Arabic_ghain = 1498;
10270 enum int KEY_Arabic_ha = 1511;
10271 enum int KEY_Arabic_hah = 1485;
10272 enum int KEY_Arabic_hamza = 1473;
10273 enum int KEY_Arabic_hamza_above = 16778836;
10274 enum int KEY_Arabic_hamza_below = 16778837;
10275 enum int KEY_Arabic_hamzaonalef = 1475;
10276 enum int KEY_Arabic_hamzaonwaw = 1476;
10277 enum int KEY_Arabic_hamzaonyeh = 1478;
10278 enum int KEY_Arabic_hamzaunderalef = 1477;
10279 enum int KEY_Arabic_heh = 1511;
10280 enum int KEY_Arabic_heh_doachashmee = 16778942;
10281 enum int KEY_Arabic_heh_goal = 16778945;
10282 enum int KEY_Arabic_jeem = 1484;
10283 enum int KEY_Arabic_jeh = 16778904;
10284 enum int KEY_Arabic_kaf = 1507;
10285 enum int KEY_Arabic_kasra = 1520;
10286 enum int KEY_Arabic_kasratan = 1517;
10287 enum int KEY_Arabic_keheh = 16778921;
10288 enum int KEY_Arabic_khah = 1486;
10289 enum int KEY_Arabic_lam = 1508;
10290 enum int KEY_Arabic_madda_above = 16778835;
10291 enum int KEY_Arabic_maddaonalef = 1474;
10292 enum int KEY_Arabic_meem = 1509;
10293 enum int KEY_Arabic_noon = 1510;
10294 enum int KEY_Arabic_noon_ghunna = 16778938;
10295 enum int KEY_Arabic_peh = 16778878;
10296 enum int KEY_Arabic_percent = 16778858;
10297 enum int KEY_Arabic_qaf = 1506;
10298 enum int KEY_Arabic_question_mark = 1471;
10299 enum int KEY_Arabic_ra = 1489;
10300 enum int KEY_Arabic_rreh = 16778897;
10301 enum int KEY_Arabic_sad = 1493;
10302 enum int KEY_Arabic_seen = 1491;
10303 enum int KEY_Arabic_semicolon = 1467;
10304 enum int KEY_Arabic_shadda = 1521;
10305 enum int KEY_Arabic_sheen = 1492;
10306 enum int KEY_Arabic_sukun = 1522;
10307 enum int KEY_Arabic_superscript_alef = 16778864;
10308 enum int KEY_Arabic_switch = 65406;
10309 enum int KEY_Arabic_tah = 1495;
10310 enum int KEY_Arabic_tatweel = 1504;
10311 enum int KEY_Arabic_tcheh = 16778886;
10312 enum int KEY_Arabic_teh = 1482;
10313 enum int KEY_Arabic_tehmarbuta = 1481;
10314 enum int KEY_Arabic_thal = 1488;
10315 enum int KEY_Arabic_theh = 1483;
10316 enum int KEY_Arabic_tteh = 16778873;
10317 enum int KEY_Arabic_veh = 16778916;
10318 enum int KEY_Arabic_waw = 1512;
10319 enum int KEY_Arabic_yeh = 1514;
10320 enum int KEY_Arabic_yeh_baree = 16778962;
10321 enum int KEY_Arabic_zah = 1496;
10322 enum int KEY_Arabic_zain = 1490;
10323 enum int KEY_Aring = 197;
10324 enum int KEY_Armenian_AT = 16778552;
10325 enum int KEY_Armenian_AYB = 16778545;
10326 enum int KEY_Armenian_BEN = 16778546;
10327 enum int KEY_Armenian_CHA = 16778569;
10328 enum int KEY_Armenian_DA = 16778548;
10329 enum int KEY_Armenian_DZA = 16778561;
10330 enum int KEY_Armenian_E = 16778551;
10331 enum int KEY_Armenian_FE = 16778582;
10332 enum int KEY_Armenian_GHAT = 16778562;
10333 enum int KEY_Armenian_GIM = 16778547;
10334 enum int KEY_Armenian_HI = 16778565;
10335 enum int KEY_Armenian_HO = 16778560;
10336 enum int KEY_Armenian_INI = 16778555;
10337 enum int KEY_Armenian_JE = 16778571;
10338 enum int KEY_Armenian_KE = 16778580;
10339 enum int KEY_Armenian_KEN = 16778559;
10340 enum int KEY_Armenian_KHE = 16778557;
10341 enum int KEY_Armenian_LYUN = 16778556;
10342 enum int KEY_Armenian_MEN = 16778564;
10343 enum int KEY_Armenian_NU = 16778566;
10344 enum int KEY_Armenian_O = 16778581;
10345 enum int KEY_Armenian_PE = 16778570;
10346 enum int KEY_Armenian_PYUR = 16778579;
10347 enum int KEY_Armenian_RA = 16778572;
10348 enum int KEY_Armenian_RE = 16778576;
10349 enum int KEY_Armenian_SE = 16778573;
10350 enum int KEY_Armenian_SHA = 16778567;
10351 enum int KEY_Armenian_TCHE = 16778563;
10352 enum int KEY_Armenian_TO = 16778553;
10353 enum int KEY_Armenian_TSA = 16778558;
10354 enum int KEY_Armenian_TSO = 16778577;
10355 enum int KEY_Armenian_TYUN = 16778575;
10356 enum int KEY_Armenian_VEV = 16778574;
10357 enum int KEY_Armenian_VO = 16778568;
10358 enum int KEY_Armenian_VYUN = 16778578;
10359 enum int KEY_Armenian_YECH = 16778549;
10360 enum int KEY_Armenian_ZA = 16778550;
10361 enum int KEY_Armenian_ZHE = 16778554;
10362 enum int KEY_Armenian_accent = 16778587;
10363 enum int KEY_Armenian_amanak = 16778588;
10364 enum int KEY_Armenian_apostrophe = 16778586;
10365 enum int KEY_Armenian_at = 16778600;
10366 enum int KEY_Armenian_ayb = 16778593;
10367 enum int KEY_Armenian_ben = 16778594;
10368 enum int KEY_Armenian_but = 16778589;
10369 enum int KEY_Armenian_cha = 16778617;
10370 enum int KEY_Armenian_da = 16778596;
10371 enum int KEY_Armenian_dza = 16778609;
10372 enum int KEY_Armenian_e = 16778599;
10373 enum int KEY_Armenian_exclam = 16778588;
10374 enum int KEY_Armenian_fe = 16778630;
10375 enum int KEY_Armenian_full_stop = 16778633;
10376 enum int KEY_Armenian_ghat = 16778610;
10377 enum int KEY_Armenian_gim = 16778595;
10378 enum int KEY_Armenian_hi = 16778613;
10379 enum int KEY_Armenian_ho = 16778608;
10380 enum int KEY_Armenian_hyphen = 16778634;
10381 enum int KEY_Armenian_ini = 16778603;
10382 enum int KEY_Armenian_je = 16778619;
10383 enum int KEY_Armenian_ke = 16778628;
10384 enum int KEY_Armenian_ken = 16778607;
10385 enum int KEY_Armenian_khe = 16778605;
10386 enum int KEY_Armenian_ligature_ew = 16778631;
10387 enum int KEY_Armenian_lyun = 16778604;
10388 enum int KEY_Armenian_men = 16778612;
10389 enum int KEY_Armenian_nu = 16778614;
10390 enum int KEY_Armenian_o = 16778629;
10391 enum int KEY_Armenian_paruyk = 16778590;
10392 enum int KEY_Armenian_pe = 16778618;
10393 enum int KEY_Armenian_pyur = 16778627;
10394 enum int KEY_Armenian_question = 16778590;
10395 enum int KEY_Armenian_ra = 16778620;
10396 enum int KEY_Armenian_re = 16778624;
10397 enum int KEY_Armenian_se = 16778621;
10398 enum int KEY_Armenian_separation_mark = 16778589;
10399 enum int KEY_Armenian_sha = 16778615;
10400 enum int KEY_Armenian_shesht = 16778587;
10401 enum int KEY_Armenian_tche = 16778611;
10402 enum int KEY_Armenian_to = 16778601;
10403 enum int KEY_Armenian_tsa = 16778606;
10404 enum int KEY_Armenian_tso = 16778625;
10405 enum int KEY_Armenian_tyun = 16778623;
10406 enum int KEY_Armenian_verjaket = 16778633;
10407 enum int KEY_Armenian_vev = 16778622;
10408 enum int KEY_Armenian_vo = 16778616;
10409 enum int KEY_Armenian_vyun = 16778626;
10410 enum int KEY_Armenian_yech = 16778597;
10411 enum int KEY_Armenian_yentamna = 16778634;
10412 enum int KEY_Armenian_za = 16778598;
10413 enum int KEY_Armenian_zhe = 16778602;
10414 enum int KEY_Atilde = 195;
10415 enum int KEY_AudibleBell_Enable = 65146;
10416 enum int KEY_AudioCycleTrack = 269025179;
10417 enum int KEY_AudioForward = 269025175;
10418 enum int KEY_AudioLowerVolume = 269025041;
10419 enum int KEY_AudioMedia = 269025074;
10420 enum int KEY_AudioMute = 269025042;
10421 enum int KEY_AudioNext = 269025047;
10422 enum int KEY_AudioPause = 269025073;
10423 enum int KEY_AudioPlay = 269025044;
10424 enum int KEY_AudioPrev = 269025046;
10425 enum int KEY_AudioRaiseVolume = 269025043;
10426 enum int KEY_AudioRandomPlay = 269025177;
10427 enum int KEY_AudioRecord = 269025052;
10428 enum int KEY_AudioRepeat = 269025176;
10429 enum int KEY_AudioRewind = 269025086;
10430 enum int KEY_AudioStop = 269025045;
10431 enum int KEY_Away = 269025165;
10432 enum int KEY_B = 66;
10433 enum int KEY_Babovedot = 16784898;
10434 enum int KEY_Back = 269025062;
10435 enum int KEY_BackForward = 269025087;
10436 enum int KEY_BackSpace = 65288;
10437 enum int KEY_Battery = 269025171;
10438 enum int KEY_Begin = 65368;
10439 enum int KEY_Blue = 269025190;
10440 enum int KEY_Bluetooth = 269025172;
10441 enum int KEY_Book = 269025106;
10442 enum int KEY_BounceKeys_Enable = 65140;
10443 enum int KEY_Break = 65387;
10444 enum int KEY_BrightnessAdjust = 269025083;
10445 enum int KEY_Byelorussian_SHORTU = 1726;
10446 enum int KEY_Byelorussian_shortu = 1710;
10447 enum int KEY_C = 67;
10448 enum int KEY_CD = 269025107;
10449 enum int KEY_CH = 65186;
10450 enum int KEY_C_H = 65189;
10451 enum int KEY_C_h = 65188;
10452 enum int KEY_Cabovedot = 709;
10453 enum int KEY_Cacute = 454;
10454 enum int KEY_Calculator = 269025053;
10455 enum int KEY_Calendar = 269025056;
10456 enum int KEY_Cancel = 65385;
10457 enum int KEY_Caps_Lock = 65509;
10458 enum int KEY_Ccaron = 456;
10459 enum int KEY_Ccedilla = 199;
10460 enum int KEY_Ccircumflex = 710;
10461 enum int KEY_Ch = 65185;
10462 enum int KEY_Clear = 65291;
10463 enum int KEY_ClearGrab = 269024801;
10464 enum int KEY_Close = 269025110;
10465 enum int KEY_Codeinput = 65335;
10466 enum int KEY_ColonSign = 16785569;
10467 enum int KEY_Community = 269025085;
10468 enum int KEY_ContrastAdjust = 269025058;
10469 enum int KEY_Control_L = 65507;
10470 enum int KEY_Control_R = 65508;
10471 enum int KEY_Copy = 269025111;
10472 enum int KEY_CruzeiroSign = 16785570;
10473 enum int KEY_Cut = 269025112;
10474 enum int KEY_CycleAngle = 269025180;
10475 enum int KEY_Cyrillic_A = 1761;
10476 enum int KEY_Cyrillic_BE = 1762;
10477 enum int KEY_Cyrillic_CHE = 1790;
10478 enum int KEY_Cyrillic_CHE_descender = 16778422;
10479 enum int KEY_Cyrillic_CHE_vertstroke = 16778424;
10480 enum int KEY_Cyrillic_DE = 1764;
10481 enum int KEY_Cyrillic_DZHE = 1727;
10482 enum int KEY_Cyrillic_E = 1788;
10483 enum int KEY_Cyrillic_EF = 1766;
10484 enum int KEY_Cyrillic_EL = 1772;
10485 enum int KEY_Cyrillic_EM = 1773;
10486 enum int KEY_Cyrillic_EN = 1774;
10487 enum int KEY_Cyrillic_EN_descender = 16778402;
10488 enum int KEY_Cyrillic_ER = 1778;
10489 enum int KEY_Cyrillic_ES = 1779;
10490 enum int KEY_Cyrillic_GHE = 1767;
10491 enum int KEY_Cyrillic_GHE_bar = 16778386;
10492 enum int KEY_Cyrillic_HA = 1768;
10493 enum int KEY_Cyrillic_HARDSIGN = 1791;
10494 enum int KEY_Cyrillic_HA_descender = 16778418;
10495 enum int KEY_Cyrillic_I = 1769;
10496 enum int KEY_Cyrillic_IE = 1765;
10497 enum int KEY_Cyrillic_IO = 1715;
10498 enum int KEY_Cyrillic_I_macron = 16778466;
10499 enum int KEY_Cyrillic_JE = 1720;
10500 enum int KEY_Cyrillic_KA = 1771;
10501 enum int KEY_Cyrillic_KA_descender = 16778394;
10502 enum int KEY_Cyrillic_KA_vertstroke = 16778396;
10503 enum int KEY_Cyrillic_LJE = 1721;
10504 enum int KEY_Cyrillic_NJE = 1722;
10505 enum int KEY_Cyrillic_O = 1775;
10506 enum int KEY_Cyrillic_O_bar = 16778472;
10507 enum int KEY_Cyrillic_PE = 1776;
10508 enum int KEY_Cyrillic_SCHWA = 16778456;
10509 enum int KEY_Cyrillic_SHA = 1787;
10510 enum int KEY_Cyrillic_SHCHA = 1789;
10511 enum int KEY_Cyrillic_SHHA = 16778426;
10512 enum int KEY_Cyrillic_SHORTI = 1770;
10513 enum int KEY_Cyrillic_SOFTSIGN = 1784;
10514 enum int KEY_Cyrillic_TE = 1780;
10515 enum int KEY_Cyrillic_TSE = 1763;
10516 enum int KEY_Cyrillic_U = 1781;
10517 enum int KEY_Cyrillic_U_macron = 16778478;
10518 enum int KEY_Cyrillic_U_straight = 16778414;
10519 enum int KEY_Cyrillic_U_straight_bar = 16778416;
10520 enum int KEY_Cyrillic_VE = 1783;
10521 enum int KEY_Cyrillic_YA = 1777;
10522 enum int KEY_Cyrillic_YERU = 1785;
10523 enum int KEY_Cyrillic_YU = 1760;
10524 enum int KEY_Cyrillic_ZE = 1786;
10525 enum int KEY_Cyrillic_ZHE = 1782;
10526 enum int KEY_Cyrillic_ZHE_descender = 16778390;
10527 enum int KEY_Cyrillic_a = 1729;
10528 enum int KEY_Cyrillic_be = 1730;
10529 enum int KEY_Cyrillic_che = 1758;
10530 enum int KEY_Cyrillic_che_descender = 16778423;
10531 enum int KEY_Cyrillic_che_vertstroke = 16778425;
10532 enum int KEY_Cyrillic_de = 1732;
10533 enum int KEY_Cyrillic_dzhe = 1711;
10534 enum int KEY_Cyrillic_e = 1756;
10535 enum int KEY_Cyrillic_ef = 1734;
10536 enum int KEY_Cyrillic_el = 1740;
10537 enum int KEY_Cyrillic_em = 1741;
10538 enum int KEY_Cyrillic_en = 1742;
10539 enum int KEY_Cyrillic_en_descender = 16778403;
10540 enum int KEY_Cyrillic_er = 1746;
10541 enum int KEY_Cyrillic_es = 1747;
10542 enum int KEY_Cyrillic_ghe = 1735;
10543 enum int KEY_Cyrillic_ghe_bar = 16778387;
10544 enum int KEY_Cyrillic_ha = 1736;
10545 enum int KEY_Cyrillic_ha_descender = 16778419;
10546 enum int KEY_Cyrillic_hardsign = 1759;
10547 enum int KEY_Cyrillic_i = 1737;
10548 enum int KEY_Cyrillic_i_macron = 16778467;
10549 enum int KEY_Cyrillic_ie = 1733;
10550 enum int KEY_Cyrillic_io = 1699;
10551 enum int KEY_Cyrillic_je = 1704;
10552 enum int KEY_Cyrillic_ka = 1739;
10553 enum int KEY_Cyrillic_ka_descender = 16778395;
10554 enum int KEY_Cyrillic_ka_vertstroke = 16778397;
10555 enum int KEY_Cyrillic_lje = 1705;
10556 enum int KEY_Cyrillic_nje = 1706;
10557 enum int KEY_Cyrillic_o = 1743;
10558 enum int KEY_Cyrillic_o_bar = 16778473;
10559 enum int KEY_Cyrillic_pe = 1744;
10560 enum int KEY_Cyrillic_schwa = 16778457;
10561 enum int KEY_Cyrillic_sha = 1755;
10562 enum int KEY_Cyrillic_shcha = 1757;
10563 enum int KEY_Cyrillic_shha = 16778427;
10564 enum int KEY_Cyrillic_shorti = 1738;
10565 enum int KEY_Cyrillic_softsign = 1752;
10566 enum int KEY_Cyrillic_te = 1748;
10567 enum int KEY_Cyrillic_tse = 1731;
10568 enum int KEY_Cyrillic_u = 1749;
10569 enum int KEY_Cyrillic_u_macron = 16778479;
10570 enum int KEY_Cyrillic_u_straight = 16778415;
10571 enum int KEY_Cyrillic_u_straight_bar = 16778417;
10572 enum int KEY_Cyrillic_ve = 1751;
10573 enum int KEY_Cyrillic_ya = 1745;
10574 enum int KEY_Cyrillic_yeru = 1753;
10575 enum int KEY_Cyrillic_yu = 1728;
10576 enum int KEY_Cyrillic_ze = 1754;
10577 enum int KEY_Cyrillic_zhe = 1750;
10578 enum int KEY_Cyrillic_zhe_descender = 16778391;
10579 enum int KEY_D = 68;
10580 enum int KEY_DOS = 269025114;
10581 enum int KEY_Dabovedot = 16784906;
10582 enum int KEY_Dcaron = 463;
10583 enum int KEY_Delete = 65535;
10584 enum int KEY_Display = 269025113;
10585 enum int KEY_Documents = 269025115;
10586 enum int KEY_DongSign = 16785579;
10587 enum int KEY_Down = 65364;
10588 enum int KEY_Dstroke = 464;
10589 enum int KEY_E = 69;
10590 enum int KEY_ENG = 957;
10591 enum int KEY_ETH = 208;
10592 enum int KEY_Eabovedot = 972;
10593 enum int KEY_Eacute = 201;
10594 enum int KEY_Ebelowdot = 16785080;
10595 enum int KEY_Ecaron = 460;
10596 enum int KEY_Ecircumflex = 202;
10597 enum int KEY_Ecircumflexacute = 16785086;
10598 enum int KEY_Ecircumflexbelowdot = 16785094;
10599 enum int KEY_Ecircumflexgrave = 16785088;
10600 enum int KEY_Ecircumflexhook = 16785090;
10601 enum int KEY_Ecircumflextilde = 16785092;
10602 enum int KEY_EcuSign = 16785568;
10603 enum int KEY_Ediaeresis = 203;
10604 enum int KEY_Egrave = 200;
10605 enum int KEY_Ehook = 16785082;
10606 enum int KEY_Eisu_Shift = 65327;
10607 enum int KEY_Eisu_toggle = 65328;
10608 enum int KEY_Eject = 269025068;
10609 enum int KEY_Emacron = 938;
10610 enum int KEY_End = 65367;
10611 enum int KEY_Eogonek = 458;
10612 enum int KEY_Escape = 65307;
10613 enum int KEY_Eth = 208;
10614 enum int KEY_Etilde = 16785084;
10615 enum int KEY_EuroSign = 8364;
10616 enum int KEY_Excel = 269025116;
10617 enum int KEY_Execute = 65378;
10618 enum int KEY_Explorer = 269025117;
10619 enum int KEY_F = 70;
10620 enum int KEY_F1 = 65470;
10621 enum int KEY_F10 = 65479;
10622 enum int KEY_F11 = 65480;
10623 enum int KEY_F12 = 65481;
10624 enum int KEY_F13 = 65482;
10625 enum int KEY_F14 = 65483;
10626 enum int KEY_F15 = 65484;
10627 enum int KEY_F16 = 65485;
10628 enum int KEY_F17 = 65486;
10629 enum int KEY_F18 = 65487;
10630 enum int KEY_F19 = 65488;
10631 enum int KEY_F2 = 65471;
10632 enum int KEY_F20 = 65489;
10633 enum int KEY_F21 = 65490;
10634 enum int KEY_F22 = 65491;
10635 enum int KEY_F23 = 65492;
10636 enum int KEY_F24 = 65493;
10637 enum int KEY_F25 = 65494;
10638 enum int KEY_F26 = 65495;
10639 enum int KEY_F27 = 65496;
10640 enum int KEY_F28 = 65497;
10641 enum int KEY_F29 = 65498;
10642 enum int KEY_F3 = 65472;
10643 enum int KEY_F30 = 65499;
10644 enum int KEY_F31 = 65500;
10645 enum int KEY_F32 = 65501;
10646 enum int KEY_F33 = 65502;
10647 enum int KEY_F34 = 65503;
10648 enum int KEY_F35 = 65504;
10649 enum int KEY_F4 = 65473;
10650 enum int KEY_F5 = 65474;
10651 enum int KEY_F6 = 65475;
10652 enum int KEY_F7 = 65476;
10653 enum int KEY_F8 = 65477;
10654 enum int KEY_F9 = 65478;
10655 enum int KEY_FFrancSign = 16785571;
10656 enum int KEY_Fabovedot = 16784926;
10657 enum int KEY_Farsi_0 = 16778992;
10658 enum int KEY_Farsi_1 = 16778993;
10659 enum int KEY_Farsi_2 = 16778994;
10660 enum int KEY_Farsi_3 = 16778995;
10661 enum int KEY_Farsi_4 = 16778996;
10662 enum int KEY_Farsi_5 = 16778997;
10663 enum int KEY_Farsi_6 = 16778998;
10664 enum int KEY_Farsi_7 = 16778999;
10665 enum int KEY_Farsi_8 = 16779000;
10666 enum int KEY_Farsi_9 = 16779001;
10667 enum int KEY_Farsi_yeh = 16778956;
10668 enum int KEY_Favorites = 269025072;
10669 enum int KEY_Finance = 269025084;
10670 enum int KEY_Find = 65384;
10671 enum int KEY_First_Virtual_Screen = 65232;
10672 enum int KEY_Forward = 269025063;
10673 enum int KEY_FrameBack = 269025181;
10674 enum int KEY_FrameForward = 269025182;
10675 enum int KEY_G = 71;
10676 enum int KEY_Gabovedot = 725;
10677 enum int KEY_Game = 269025118;
10678 enum int KEY_Gbreve = 683;
10679 enum int KEY_Gcaron = 16777702;
10680 enum int KEY_Gcedilla = 939;
10681 enum int KEY_Gcircumflex = 728;
10682 enum int KEY_Georgian_an = 16781520;
10683 enum int KEY_Georgian_ban = 16781521;
10684 enum int KEY_Georgian_can = 16781546;
10685 enum int KEY_Georgian_char = 16781549;
10686 enum int KEY_Georgian_chin = 16781545;
10687 enum int KEY_Georgian_cil = 16781548;
10688 enum int KEY_Georgian_don = 16781523;
10689 enum int KEY_Georgian_en = 16781524;
10690 enum int KEY_Georgian_fi = 16781558;
10691 enum int KEY_Georgian_gan = 16781522;
10692 enum int KEY_Georgian_ghan = 16781542;
10693 enum int KEY_Georgian_hae = 16781552;
10694 enum int KEY_Georgian_har = 16781556;
10695 enum int KEY_Georgian_he = 16781553;
10696 enum int KEY_Georgian_hie = 16781554;
10697 enum int KEY_Georgian_hoe = 16781557;
10698 enum int KEY_Georgian_in = 16781528;
10699 enum int KEY_Georgian_jhan = 16781551;
10700 enum int KEY_Georgian_jil = 16781547;
10701 enum int KEY_Georgian_kan = 16781529;
10702 enum int KEY_Georgian_khar = 16781541;
10703 enum int KEY_Georgian_las = 16781530;
10704 enum int KEY_Georgian_man = 16781531;
10705 enum int KEY_Georgian_nar = 16781532;
10706 enum int KEY_Georgian_on = 16781533;
10707 enum int KEY_Georgian_par = 16781534;
10708 enum int KEY_Georgian_phar = 16781540;
10709 enum int KEY_Georgian_qar = 16781543;
10710 enum int KEY_Georgian_rae = 16781536;
10711 enum int KEY_Georgian_san = 16781537;
10712 enum int KEY_Georgian_shin = 16781544;
10713 enum int KEY_Georgian_tan = 16781527;
10714 enum int KEY_Georgian_tar = 16781538;
10715 enum int KEY_Georgian_un = 16781539;
10716 enum int KEY_Georgian_vin = 16781525;
10717 enum int KEY_Georgian_we = 16781555;
10718 enum int KEY_Georgian_xan = 16781550;
10719 enum int KEY_Georgian_zen = 16781526;
10720 enum int KEY_Georgian_zhar = 16781535;
10721 enum int KEY_Go = 269025119;
10722 enum int KEY_Greek_ALPHA = 1985;
10723 enum int KEY_Greek_ALPHAaccent = 1953;
10724 enum int KEY_Greek_BETA = 1986;
10725 enum int KEY_Greek_CHI = 2007;
10726 enum int KEY_Greek_DELTA = 1988;
10727 enum int KEY_Greek_EPSILON = 1989;
10728 enum int KEY_Greek_EPSILONaccent = 1954;
10729 enum int KEY_Greek_ETA = 1991;
10730 enum int KEY_Greek_ETAaccent = 1955;
10731 enum int KEY_Greek_GAMMA = 1987;
10732 enum int KEY_Greek_IOTA = 1993;
10733 enum int KEY_Greek_IOTAaccent = 1956;
10734 enum int KEY_Greek_IOTAdiaeresis = 1957;
10735 enum int KEY_Greek_IOTAdieresis = 1957;
10736 enum int KEY_Greek_KAPPA = 1994;
10737 enum int KEY_Greek_LAMBDA = 1995;
10738 enum int KEY_Greek_LAMDA = 1995;
10739 enum int KEY_Greek_MU = 1996;
10740 enum int KEY_Greek_NU = 1997;
10741 enum int KEY_Greek_OMEGA = 2009;
10742 enum int KEY_Greek_OMEGAaccent = 1963;
10743 enum int KEY_Greek_OMICRON = 1999;
10744 enum int KEY_Greek_OMICRONaccent = 1959;
10745 enum int KEY_Greek_PHI = 2006;
10746 enum int KEY_Greek_PI = 2000;
10747 enum int KEY_Greek_PSI = 2008;
10748 enum int KEY_Greek_RHO = 2001;
10749 enum int KEY_Greek_SIGMA = 2002;
10750 enum int KEY_Greek_TAU = 2004;
10751 enum int KEY_Greek_THETA = 1992;
10752 enum int KEY_Greek_UPSILON = 2005;
10753 enum int KEY_Greek_UPSILONaccent = 1960;
10754 enum int KEY_Greek_UPSILONdieresis = 1961;
10755 enum int KEY_Greek_XI = 1998;
10756 enum int KEY_Greek_ZETA = 1990;
10757 enum int KEY_Greek_accentdieresis = 1966;
10758 enum int KEY_Greek_alpha = 2017;
10759 enum int KEY_Greek_alphaaccent = 1969;
10760 enum int KEY_Greek_beta = 2018;
10761 enum int KEY_Greek_chi = 2039;
10762 enum int KEY_Greek_delta = 2020;
10763 enum int KEY_Greek_epsilon = 2021;
10764 enum int KEY_Greek_epsilonaccent = 1970;
10765 enum int KEY_Greek_eta = 2023;
10766 enum int KEY_Greek_etaaccent = 1971;
10767 enum int KEY_Greek_finalsmallsigma = 2035;
10768 enum int KEY_Greek_gamma = 2019;
10769 enum int KEY_Greek_horizbar = 1967;
10770 enum int KEY_Greek_iota = 2025;
10771 enum int KEY_Greek_iotaaccent = 1972;
10772 enum int KEY_Greek_iotaaccentdieresis = 1974;
10773 enum int KEY_Greek_iotadieresis = 1973;
10774 enum int KEY_Greek_kappa = 2026;
10775 enum int KEY_Greek_lambda = 2027;
10776 enum int KEY_Greek_lamda = 2027;
10777 enum int KEY_Greek_mu = 2028;
10778 enum int KEY_Greek_nu = 2029;
10779 enum int KEY_Greek_omega = 2041;
10780 enum int KEY_Greek_omegaaccent = 1979;
10781 enum int KEY_Greek_omicron = 2031;
10782 enum int KEY_Greek_omicronaccent = 1975;
10783 enum int KEY_Greek_phi = 2038;
10784 enum int KEY_Greek_pi = 2032;
10785 enum int KEY_Greek_psi = 2040;
10786 enum int KEY_Greek_rho = 2033;
10787 enum int KEY_Greek_sigma = 2034;
10788 enum int KEY_Greek_switch = 65406;
10789 enum int KEY_Greek_tau = 2036;
10790 enum int KEY_Greek_theta = 2024;
10791 enum int KEY_Greek_upsilon = 2037;
10792 enum int KEY_Greek_upsilonaccent = 1976;
10793 enum int KEY_Greek_upsilonaccentdieresis = 1978;
10794 enum int KEY_Greek_upsilondieresis = 1977;
10795 enum int KEY_Greek_xi = 2030;
10796 enum int KEY_Greek_zeta = 2022;
10797 enum int KEY_Green = 269025188;
10798 enum int KEY_H = 72;
10799 enum int KEY_Hangul = 65329;
10800 enum int KEY_Hangul_A = 3775;
10801 enum int KEY_Hangul_AE = 3776;
10802 enum int KEY_Hangul_AraeA = 3830;
10803 enum int KEY_Hangul_AraeAE = 3831;
10804 enum int KEY_Hangul_Banja = 65337;
10805 enum int KEY_Hangul_Cieuc = 3770;
10806 enum int KEY_Hangul_Codeinput = 65335;
10807 enum int KEY_Hangul_Dikeud = 3751;
10808 enum int KEY_Hangul_E = 3780;
10809 enum int KEY_Hangul_EO = 3779;
10810 enum int KEY_Hangul_EU = 3793;
10811 enum int KEY_Hangul_End = 65331;
10812 enum int KEY_Hangul_Hanja = 65332;
10813 enum int KEY_Hangul_Hieuh = 3774;
10814 enum int KEY_Hangul_I = 3795;
10815 enum int KEY_Hangul_Ieung = 3767;
10816 enum int KEY_Hangul_J_Cieuc = 3818;
10817 enum int KEY_Hangul_J_Dikeud = 3802;
10818 enum int KEY_Hangul_J_Hieuh = 3822;
10819 enum int KEY_Hangul_J_Ieung = 3816;
10820 enum int KEY_Hangul_J_Jieuj = 3817;
10821 enum int KEY_Hangul_J_Khieuq = 3819;
10822 enum int KEY_Hangul_J_Kiyeog = 3796;
10823 enum int KEY_Hangul_J_KiyeogSios = 3798;
10824 enum int KEY_Hangul_J_KkogjiDalrinIeung = 3833;
10825 enum int KEY_Hangul_J_Mieum = 3811;
10826 enum int KEY_Hangul_J_Nieun = 3799;
10827 enum int KEY_Hangul_J_NieunHieuh = 3801;
10828 enum int KEY_Hangul_J_NieunJieuj = 3800;
10829 enum int KEY_Hangul_J_PanSios = 3832;
10830 enum int KEY_Hangul_J_Phieuf = 3821;
10831 enum int KEY_Hangul_J_Pieub = 3812;
10832 enum int KEY_Hangul_J_PieubSios = 3813;
10833 enum int KEY_Hangul_J_Rieul = 3803;
10834 enum int KEY_Hangul_J_RieulHieuh = 3810;
10835 enum int KEY_Hangul_J_RieulKiyeog = 3804;
10836 enum int KEY_Hangul_J_RieulMieum = 3805;
10837 enum int KEY_Hangul_J_RieulPhieuf = 3809;
10838 enum int KEY_Hangul_J_RieulPieub = 3806;
10839 enum int KEY_Hangul_J_RieulSios = 3807;
10840 enum int KEY_Hangul_J_RieulTieut = 3808;
10841 enum int KEY_Hangul_J_Sios = 3814;
10842 enum int KEY_Hangul_J_SsangKiyeog = 3797;
10843 enum int KEY_Hangul_J_SsangSios = 3815;
10844 enum int KEY_Hangul_J_Tieut = 3820;
10845 enum int KEY_Hangul_J_YeorinHieuh = 3834;
10846 enum int KEY_Hangul_Jamo = 65333;
10847 enum int KEY_Hangul_Jeonja = 65336;
10848 enum int KEY_Hangul_Jieuj = 3768;
10849 enum int KEY_Hangul_Khieuq = 3771;
10850 enum int KEY_Hangul_Kiyeog = 3745;
10851 enum int KEY_Hangul_KiyeogSios = 3747;
10852 enum int KEY_Hangul_KkogjiDalrinIeung = 3827;
10853 enum int KEY_Hangul_Mieum = 3761;
10854 enum int KEY_Hangul_MultipleCandidate = 65341;
10855 enum int KEY_Hangul_Nieun = 3748;
10856 enum int KEY_Hangul_NieunHieuh = 3750;
10857 enum int KEY_Hangul_NieunJieuj = 3749;
10858 enum int KEY_Hangul_O = 3783;
10859 enum int KEY_Hangul_OE = 3786;
10860 enum int KEY_Hangul_PanSios = 3826;
10861 enum int KEY_Hangul_Phieuf = 3773;
10862 enum int KEY_Hangul_Pieub = 3762;
10863 enum int KEY_Hangul_PieubSios = 3764;
10864 enum int KEY_Hangul_PostHanja = 65339;
10865 enum int KEY_Hangul_PreHanja = 65338;
10866 enum int KEY_Hangul_PreviousCandidate = 65342;
10867 enum int KEY_Hangul_Rieul = 3753;
10868 enum int KEY_Hangul_RieulHieuh = 3760;
10869 enum int KEY_Hangul_RieulKiyeog = 3754;
10870 enum int KEY_Hangul_RieulMieum = 3755;
10871 enum int KEY_Hangul_RieulPhieuf = 3759;
10872 enum int KEY_Hangul_RieulPieub = 3756;
10873 enum int KEY_Hangul_RieulSios = 3757;
10874 enum int KEY_Hangul_RieulTieut = 3758;
10875 enum int KEY_Hangul_RieulYeorinHieuh = 3823;
10876 enum int KEY_Hangul_Romaja = 65334;
10877 enum int KEY_Hangul_SingleCandidate = 65340;
10878 enum int KEY_Hangul_Sios = 3765;
10879 enum int KEY_Hangul_Special = 65343;
10880 enum int KEY_Hangul_SsangDikeud = 3752;
10881 enum int KEY_Hangul_SsangJieuj = 3769;
10882 enum int KEY_Hangul_SsangKiyeog = 3746;
10883 enum int KEY_Hangul_SsangPieub = 3763;
10884 enum int KEY_Hangul_SsangSios = 3766;
10885 enum int KEY_Hangul_Start = 65330;
10886 enum int KEY_Hangul_SunkyeongeumMieum = 3824;
10887 enum int KEY_Hangul_SunkyeongeumPhieuf = 3828;
10888 enum int KEY_Hangul_SunkyeongeumPieub = 3825;
10889 enum int KEY_Hangul_Tieut = 3772;
10890 enum int KEY_Hangul_U = 3788;
10891 enum int KEY_Hangul_WA = 3784;
10892 enum int KEY_Hangul_WAE = 3785;
10893 enum int KEY_Hangul_WE = 3790;
10894 enum int KEY_Hangul_WEO = 3789;
10895 enum int KEY_Hangul_WI = 3791;
10896 enum int KEY_Hangul_YA = 3777;
10897 enum int KEY_Hangul_YAE = 3778;
10898 enum int KEY_Hangul_YE = 3782;
10899 enum int KEY_Hangul_YEO = 3781;
10900 enum int KEY_Hangul_YI = 3794;
10901 enum int KEY_Hangul_YO = 3787;
10902 enum int KEY_Hangul_YU = 3792;
10903 enum int KEY_Hangul_YeorinHieuh = 3829;
10904 enum int KEY_Hangul_switch = 65406;
10905 enum int KEY_Hankaku = 65321;
10906 enum int KEY_Hcircumflex = 678;
10907 enum int KEY_Hebrew_switch = 65406;
10908 enum int KEY_Help = 65386;
10909 enum int KEY_Henkan = 65315;
10910 enum int KEY_Henkan_Mode = 65315;
10911 enum int KEY_Hibernate = 269025192;
10912 enum int KEY_Hiragana = 65317;
10913 enum int KEY_Hiragana_Katakana = 65319;
10914 enum int KEY_History = 269025079;
10915 enum int KEY_Home = 65360;
10916 enum int KEY_HomePage = 269025048;
10917 enum int KEY_HotLinks = 269025082;
10918 enum int KEY_Hstroke = 673;
10919 enum int KEY_Hyper_L = 65517;
10920 enum int KEY_Hyper_R = 65518;
10921 enum int KEY_I = 73;
10922 enum int KEY_ISO_Center_Object = 65075;
10923 enum int KEY_ISO_Continuous_Underline = 65072;
10924 enum int KEY_ISO_Discontinuous_Underline = 65073;
10925 enum int KEY_ISO_Emphasize = 65074;
10926 enum int KEY_ISO_Enter = 65076;
10927 enum int KEY_ISO_Fast_Cursor_Down = 65071;
10928 enum int KEY_ISO_Fast_Cursor_Left = 65068;
10929 enum int KEY_ISO_Fast_Cursor_Right = 65069;
10930 enum int KEY_ISO_Fast_Cursor_Up = 65070;
10931 enum int KEY_ISO_First_Group = 65036;
10932 enum int KEY_ISO_First_Group_Lock = 65037;
10933 enum int KEY_ISO_Group_Latch = 65030;
10934 enum int KEY_ISO_Group_Lock = 65031;
10935 enum int KEY_ISO_Group_Shift = 65406;
10936 enum int KEY_ISO_Last_Group = 65038;
10937 enum int KEY_ISO_Last_Group_Lock = 65039;
10938 enum int KEY_ISO_Left_Tab = 65056;
10939 enum int KEY_ISO_Level2_Latch = 65026;
10940 enum int KEY_ISO_Level3_Latch = 65028;
10941 enum int KEY_ISO_Level3_Lock = 65029;
10942 enum int KEY_ISO_Level3_Shift = 65027;
10943 enum int KEY_ISO_Level5_Latch = 65042;
10944 enum int KEY_ISO_Level5_Lock = 65043;
10945 enum int KEY_ISO_Level5_Shift = 65041;
10946 enum int KEY_ISO_Lock = 65025;
10947 enum int KEY_ISO_Move_Line_Down = 65058;
10948 enum int KEY_ISO_Move_Line_Up = 65057;
10949 enum int KEY_ISO_Next_Group = 65032;
10950 enum int KEY_ISO_Next_Group_Lock = 65033;
10951 enum int KEY_ISO_Partial_Line_Down = 65060;
10952 enum int KEY_ISO_Partial_Line_Up = 65059;
10953 enum int KEY_ISO_Partial_Space_Left = 65061;
10954 enum int KEY_ISO_Partial_Space_Right = 65062;
10955 enum int KEY_ISO_Prev_Group = 65034;
10956 enum int KEY_ISO_Prev_Group_Lock = 65035;
10957 enum int KEY_ISO_Release_Both_Margins = 65067;
10958 enum int KEY_ISO_Release_Margin_Left = 65065;
10959 enum int KEY_ISO_Release_Margin_Right = 65066;
10960 enum int KEY_ISO_Set_Margin_Left = 65063;
10961 enum int KEY_ISO_Set_Margin_Right = 65064;
10962 enum int KEY_Iabovedot = 681;
10963 enum int KEY_Iacute = 205;
10964 enum int KEY_Ibelowdot = 16785098;
10965 enum int KEY_Ibreve = 16777516;
10966 enum int KEY_Icircumflex = 206;
10967 enum int KEY_Idiaeresis = 207;
10968 enum int KEY_Igrave = 204;
10969 enum int KEY_Ihook = 16785096;
10970 enum int KEY_Imacron = 975;
10971 enum int KEY_Insert = 65379;
10972 enum int KEY_Iogonek = 967;
10973 enum int KEY_Itilde = 933;
10974 enum int KEY_J = 74;
10975 enum int KEY_Jcircumflex = 684;
10976 enum int KEY_K = 75;
10977 enum int KEY_KP_0 = 65456;
10978 enum int KEY_KP_1 = 65457;
10979 enum int KEY_KP_2 = 65458;
10980 enum int KEY_KP_3 = 65459;
10981 enum int KEY_KP_4 = 65460;
10982 enum int KEY_KP_5 = 65461;
10983 enum int KEY_KP_6 = 65462;
10984 enum int KEY_KP_7 = 65463;
10985 enum int KEY_KP_8 = 65464;
10986 enum int KEY_KP_9 = 65465;
10987 enum int KEY_KP_Add = 65451;
10988 enum int KEY_KP_Begin = 65437;
10989 enum int KEY_KP_Decimal = 65454;
10990 enum int KEY_KP_Delete = 65439;
10991 enum int KEY_KP_Divide = 65455;
10992 enum int KEY_KP_Down = 65433;
10993 enum int KEY_KP_End = 65436;
10994 enum int KEY_KP_Enter = 65421;
10995 enum int KEY_KP_Equal = 65469;
10996 enum int KEY_KP_F1 = 65425;
10997 enum int KEY_KP_F2 = 65426;
10998 enum int KEY_KP_F3 = 65427;
10999 enum int KEY_KP_F4 = 65428;
11000 enum int KEY_KP_Home = 65429;
11001 enum int KEY_KP_Insert = 65438;
11002 enum int KEY_KP_Left = 65430;
11003 enum int KEY_KP_Multiply = 65450;
11004 enum int KEY_KP_Next = 65435;
11005 enum int KEY_KP_Page_Down = 65435;
11006 enum int KEY_KP_Page_Up = 65434;
11007 enum int KEY_KP_Prior = 65434;
11008 enum int KEY_KP_Right = 65432;
11009 enum int KEY_KP_Separator = 65452;
11010 enum int KEY_KP_Space = 65408;
11011 enum int KEY_KP_Subtract = 65453;
11012 enum int KEY_KP_Tab = 65417;
11013 enum int KEY_KP_Up = 65431;
11014 enum int KEY_Kana_Lock = 65325;
11015 enum int KEY_Kana_Shift = 65326;
11016 enum int KEY_Kanji = 65313;
11017 enum int KEY_Kanji_Bangou = 65335;
11018 enum int KEY_Katakana = 65318;
11019 enum int KEY_KbdBrightnessDown = 269025030;
11020 enum int KEY_KbdBrightnessUp = 269025029;
11021 enum int KEY_KbdLightOnOff = 269025028;
11022 enum int KEY_Kcedilla = 979;
11023 enum int KEY_Korean_Won = 3839;
11024 enum int KEY_L = 76;
11025 enum int KEY_L1 = 65480;
11026 enum int KEY_L10 = 65489;
11027 enum int KEY_L2 = 65481;
11028 enum int KEY_L3 = 65482;
11029 enum int KEY_L4 = 65483;
11030 enum int KEY_L5 = 65484;
11031 enum int KEY_L6 = 65485;
11032 enum int KEY_L7 = 65486;
11033 enum int KEY_L8 = 65487;
11034 enum int KEY_L9 = 65488;
11035 enum int KEY_Lacute = 453;
11036 enum int KEY_Last_Virtual_Screen = 65236;
11037 enum int KEY_Launch0 = 269025088;
11038 enum int KEY_Launch1 = 269025089;
11039 enum int KEY_Launch2 = 269025090;
11040 enum int KEY_Launch3 = 269025091;
11041 enum int KEY_Launch4 = 269025092;
11042 enum int KEY_Launch5 = 269025093;
11043 enum int KEY_Launch6 = 269025094;
11044 enum int KEY_Launch7 = 269025095;
11045 enum int KEY_Launch8 = 269025096;
11046 enum int KEY_Launch9 = 269025097;
11047 enum int KEY_LaunchA = 269025098;
11048 enum int KEY_LaunchB = 269025099;
11049 enum int KEY_LaunchC = 269025100;
11050 enum int KEY_LaunchD = 269025101;
11051 enum int KEY_LaunchE = 269025102;
11052 enum int KEY_LaunchF = 269025103;
11053 enum int KEY_Lbelowdot = 16784950;
11054 enum int KEY_Lcaron = 421;
11055 enum int KEY_Lcedilla = 934;
11056 enum int KEY_Left = 65361;
11057 enum int KEY_LightBulb = 269025077;
11058 enum int KEY_Linefeed = 65290;
11059 enum int KEY_LiraSign = 16785572;
11060 enum int KEY_LogGrabInfo = 269024805;
11061 enum int KEY_LogOff = 269025121;
11062 enum int KEY_LogWindowTree = 269024804;
11063 enum int KEY_Lstroke = 419;
11064 enum int KEY_M = 77;
11065 enum int KEY_Mabovedot = 16784960;
11066 enum int KEY_Macedonia_DSE = 1717;
11067 enum int KEY_Macedonia_GJE = 1714;
11068 enum int KEY_Macedonia_KJE = 1724;
11069 enum int KEY_Macedonia_dse = 1701;
11070 enum int KEY_Macedonia_gje = 1698;
11071 enum int KEY_Macedonia_kje = 1708;
11072 enum int KEY_Mae_Koho = 65342;
11073 enum int KEY_Mail = 269025049;
11074 enum int KEY_MailForward = 269025168;
11075 enum int KEY_Market = 269025122;
11076 enum int KEY_Massyo = 65324;
11077 enum int KEY_Meeting = 269025123;
11078 enum int KEY_Memo = 269025054;
11079 enum int KEY_Menu = 65383;
11080 enum int KEY_MenuKB = 269025125;
11081 enum int KEY_MenuPB = 269025126;
11082 enum int KEY_Messenger = 269025166;
11083 enum int KEY_Meta_L = 65511;
11084 enum int KEY_Meta_R = 65512;
11085 enum int KEY_MillSign = 16785573;
11086 enum int KEY_ModeLock = 269025025;
11087 enum int KEY_Mode_switch = 65406;
11088 enum int KEY_MonBrightnessDown = 269025027;
11089 enum int KEY_MonBrightnessUp = 269025026;
11090 enum int KEY_MouseKeys_Accel_Enable = 65143;
11091 enum int KEY_MouseKeys_Enable = 65142;
11092 enum int KEY_Muhenkan = 65314;
11093 enum int KEY_Multi_key = 65312;
11094 enum int KEY_MultipleCandidate = 65341;
11095 enum int KEY_Music = 269025170;
11096 enum int KEY_MyComputer = 269025075;
11097 enum int KEY_MySites = 269025127;
11098 enum int KEY_N = 78;
11099 enum int KEY_Nacute = 465;
11100 enum int KEY_NairaSign = 16785574;
11101 enum int KEY_Ncaron = 466;
11102 enum int KEY_Ncedilla = 977;
11103 enum int KEY_New = 269025128;
11104 enum int KEY_NewSheqelSign = 16785578;
11105 enum int KEY_News = 269025129;
11106 enum int KEY_Next = 65366;
11107 enum int KEY_Next_VMode = 269024802;
11108 enum int KEY_Next_Virtual_Screen = 65234;
11109 enum int KEY_Ntilde = 209;
11110 enum int KEY_Num_Lock = 65407;
11111 enum int KEY_O = 79;
11112 enum int KEY_OE = 5052;
11113 enum int KEY_Oacute = 211;
11114 enum int KEY_Obarred = 16777631;
11115 enum int KEY_Obelowdot = 16785100;
11116 enum int KEY_Ocaron = 16777681;
11117 enum int KEY_Ocircumflex = 212;
11118 enum int KEY_Ocircumflexacute = 16785104;
11119 enum int KEY_Ocircumflexbelowdot = 16785112;
11120 enum int KEY_Ocircumflexgrave = 16785106;
11121 enum int KEY_Ocircumflexhook = 16785108;
11122 enum int KEY_Ocircumflextilde = 16785110;
11123 enum int KEY_Odiaeresis = 214;
11124 enum int KEY_Odoubleacute = 469;
11125 enum int KEY_OfficeHome = 269025130;
11126 enum int KEY_Ograve = 210;
11127 enum int KEY_Ohook = 16785102;
11128 enum int KEY_Ohorn = 16777632;
11129 enum int KEY_Ohornacute = 16785114;
11130 enum int KEY_Ohornbelowdot = 16785122;
11131 enum int KEY_Ohorngrave = 16785116;
11132 enum int KEY_Ohornhook = 16785118;
11133 enum int KEY_Ohorntilde = 16785120;
11134 enum int KEY_Omacron = 978;
11135 enum int KEY_Ooblique = 216;
11136 enum int KEY_Open = 269025131;
11137 enum int KEY_OpenURL = 269025080;
11138 enum int KEY_Option = 269025132;
11139 enum int KEY_Oslash = 216;
11140 enum int KEY_Otilde = 213;
11141 enum int KEY_Overlay1_Enable = 65144;
11142 enum int KEY_Overlay2_Enable = 65145;
11143 enum int KEY_P = 80;
11144 enum int KEY_Pabovedot = 16784982;
11145 enum int KEY_Page_Down = 65366;
11146 enum int KEY_Page_Up = 65365;
11147 enum int KEY_Paste = 269025133;
11148 enum int KEY_Pause = 65299;
11149 enum int KEY_PesetaSign = 16785575;
11150 enum int KEY_Phone = 269025134;
11151 enum int KEY_Pictures = 269025169;
11152 enum int KEY_Pointer_Accelerate = 65274;
11153 enum int KEY_Pointer_Button1 = 65257;
11154 enum int KEY_Pointer_Button2 = 65258;
11155 enum int KEY_Pointer_Button3 = 65259;
11156 enum int KEY_Pointer_Button4 = 65260;
11157 enum int KEY_Pointer_Button5 = 65261;
11158 enum int KEY_Pointer_Button_Dflt = 65256;
11159 enum int KEY_Pointer_DblClick1 = 65263;
11160 enum int KEY_Pointer_DblClick2 = 65264;
11161 enum int KEY_Pointer_DblClick3 = 65265;
11162 enum int KEY_Pointer_DblClick4 = 65266;
11163 enum int KEY_Pointer_DblClick5 = 65267;
11164 enum int KEY_Pointer_DblClick_Dflt = 65262;
11165 enum int KEY_Pointer_DfltBtnNext = 65275;
11166 enum int KEY_Pointer_DfltBtnPrev = 65276;
11167 enum int KEY_Pointer_Down = 65251;
11168 enum int KEY_Pointer_DownLeft = 65254;
11169 enum int KEY_Pointer_DownRight = 65255;
11170 enum int KEY_Pointer_Drag1 = 65269;
11171 enum int KEY_Pointer_Drag2 = 65270;
11172 enum int KEY_Pointer_Drag3 = 65271;
11173 enum int KEY_Pointer_Drag4 = 65272;
11174 enum int KEY_Pointer_Drag5 = 65277;
11175 enum int KEY_Pointer_Drag_Dflt = 65268;
11176 enum int KEY_Pointer_EnableKeys = 65273;
11177 enum int KEY_Pointer_Left = 65248;
11178 enum int KEY_Pointer_Right = 65249;
11179 enum int KEY_Pointer_Up = 65250;
11180 enum int KEY_Pointer_UpLeft = 65252;
11181 enum int KEY_Pointer_UpRight = 65253;
11182 enum int KEY_PowerDown = 269025057;
11183 enum int KEY_PowerOff = 269025066;
11184 enum int KEY_Prev_VMode = 269024803;
11185 enum int KEY_Prev_Virtual_Screen = 65233;
11186 enum int KEY_PreviousCandidate = 65342;
11187 enum int KEY_Print = 65377;
11188 enum int KEY_Prior = 65365;
11189 enum int KEY_Q = 81;
11190 enum int KEY_R = 82;
11191 enum int KEY_R1 = 65490;
11192 enum int KEY_R10 = 65499;
11193 enum int KEY_R11 = 65500;
11194 enum int KEY_R12 = 65501;
11195 enum int KEY_R13 = 65502;
11196 enum int KEY_R14 = 65503;
11197 enum int KEY_R15 = 65504;
11198 enum int KEY_R2 = 65491;
11199 enum int KEY_R3 = 65492;
11200 enum int KEY_R4 = 65493;
11201 enum int KEY_R5 = 65494;
11202 enum int KEY_R6 = 65495;
11203 enum int KEY_R7 = 65496;
11204 enum int KEY_R8 = 65497;
11205 enum int KEY_R9 = 65498;
11206 enum int KEY_Racute = 448;
11207 enum int KEY_Rcaron = 472;
11208 enum int KEY_Rcedilla = 931;
11209 enum int KEY_Red = 269025187;
11210 enum int KEY_Redo = 65382;
11211 enum int KEY_Refresh = 269025065;
11212 enum int KEY_Reload = 269025139;
11213 enum int KEY_RepeatKeys_Enable = 65138;
11214 enum int KEY_Reply = 269025138;
11215 enum int KEY_Return = 65293;
11216 enum int KEY_Right = 65363;
11217 enum int KEY_RockerDown = 269025060;
11218 enum int KEY_RockerEnter = 269025061;
11219 enum int KEY_RockerUp = 269025059;
11220 enum int KEY_Romaji = 65316;
11221 enum int KEY_RotateWindows = 269025140;
11222 enum int KEY_RotationKB = 269025142;
11223 enum int KEY_RotationPB = 269025141;
11224 enum int KEY_RupeeSign = 16785576;
11225 enum int KEY_S = 83;
11226 enum int KEY_SCHWA = 16777615;
11227 enum int KEY_Sabovedot = 16784992;
11228 enum int KEY_Sacute = 422;
11229 enum int KEY_Save = 269025143;
11230 enum int KEY_Scaron = 425;
11231 enum int KEY_Scedilla = 426;
11232 enum int KEY_Scircumflex = 734;
11233 enum int KEY_ScreenSaver = 269025069;
11234 enum int KEY_ScrollClick = 269025146;
11235 enum int KEY_ScrollDown = 269025145;
11236 enum int KEY_ScrollUp = 269025144;
11237 enum int KEY_Scroll_Lock = 65300;
11238 enum int KEY_Search = 269025051;
11239 enum int KEY_Select = 65376;
11240 enum int KEY_SelectButton = 269025184;
11241 enum int KEY_Send = 269025147;
11242 enum int KEY_Serbian_DJE = 1713;
11243 enum int KEY_Serbian_DZE = 1727;
11244 enum int KEY_Serbian_JE = 1720;
11245 enum int KEY_Serbian_LJE = 1721;
11246 enum int KEY_Serbian_NJE = 1722;
11247 enum int KEY_Serbian_TSHE = 1723;
11248 enum int KEY_Serbian_dje = 1697;
11249 enum int KEY_Serbian_dze = 1711;
11250 enum int KEY_Serbian_je = 1704;
11251 enum int KEY_Serbian_lje = 1705;
11252 enum int KEY_Serbian_nje = 1706;
11253 enum int KEY_Serbian_tshe = 1707;
11254 enum int KEY_Shift_L = 65505;
11255 enum int KEY_Shift_Lock = 65510;
11256 enum int KEY_Shift_R = 65506;
11257 enum int KEY_Shop = 269025078;
11258 enum int KEY_SingleCandidate = 65340;
11259 enum int KEY_Sinh_a = 16780677;
11260 enum int KEY_Sinh_aa = 16780678;
11261 enum int KEY_Sinh_aa2 = 16780751;
11262 enum int KEY_Sinh_ae = 16780679;
11263 enum int KEY_Sinh_ae2 = 16780752;
11264 enum int KEY_Sinh_aee = 16780680;
11265 enum int KEY_Sinh_aee2 = 16780753;
11266 enum int KEY_Sinh_ai = 16780691;
11267 enum int KEY_Sinh_ai2 = 16780763;
11268 enum int KEY_Sinh_al = 16780746;
11269 enum int KEY_Sinh_au = 16780694;
11270 enum int KEY_Sinh_au2 = 16780766;
11271 enum int KEY_Sinh_ba = 16780726;
11272 enum int KEY_Sinh_bha = 16780727;
11273 enum int KEY_Sinh_ca = 16780704;
11274 enum int KEY_Sinh_cha = 16780705;
11275 enum int KEY_Sinh_dda = 16780713;
11276 enum int KEY_Sinh_ddha = 16780714;
11277 enum int KEY_Sinh_dha = 16780719;
11278 enum int KEY_Sinh_dhha = 16780720;
11279 enum int KEY_Sinh_e = 16780689;
11280 enum int KEY_Sinh_e2 = 16780761;
11281 enum int KEY_Sinh_ee = 16780690;
11282 enum int KEY_Sinh_ee2 = 16780762;
11283 enum int KEY_Sinh_fa = 16780742;
11284 enum int KEY_Sinh_ga = 16780700;
11285 enum int KEY_Sinh_gha = 16780701;
11286 enum int KEY_Sinh_h2 = 16780675;
11287 enum int KEY_Sinh_ha = 16780740;
11288 enum int KEY_Sinh_i = 16780681;
11289 enum int KEY_Sinh_i2 = 16780754;
11290 enum int KEY_Sinh_ii = 16780682;
11291 enum int KEY_Sinh_ii2 = 16780755;
11292 enum int KEY_Sinh_ja = 16780706;
11293 enum int KEY_Sinh_jha = 16780707;
11294 enum int KEY_Sinh_jnya = 16780709;
11295 enum int KEY_Sinh_ka = 16780698;
11296 enum int KEY_Sinh_kha = 16780699;
11297 enum int KEY_Sinh_kunddaliya = 16780788;
11298 enum int KEY_Sinh_la = 16780733;
11299 enum int KEY_Sinh_lla = 16780741;
11300 enum int KEY_Sinh_lu = 16780687;
11301 enum int KEY_Sinh_lu2 = 16780767;
11302 enum int KEY_Sinh_luu = 16780688;
11303 enum int KEY_Sinh_luu2 = 16780787;
11304 enum int KEY_Sinh_ma = 16780728;
11305 enum int KEY_Sinh_mba = 16780729;
11306 enum int KEY_Sinh_na = 16780721;
11307 enum int KEY_Sinh_ndda = 16780716;
11308 enum int KEY_Sinh_ndha = 16780723;
11309 enum int KEY_Sinh_ng = 16780674;
11310 enum int KEY_Sinh_ng2 = 16780702;
11311 enum int KEY_Sinh_nga = 16780703;
11312 enum int KEY_Sinh_nja = 16780710;
11313 enum int KEY_Sinh_nna = 16780715;
11314 enum int KEY_Sinh_nya = 16780708;
11315 enum int KEY_Sinh_o = 16780692;
11316 enum int KEY_Sinh_o2 = 16780764;
11317 enum int KEY_Sinh_oo = 16780693;
11318 enum int KEY_Sinh_oo2 = 16780765;
11319 enum int KEY_Sinh_pa = 16780724;
11320 enum int KEY_Sinh_pha = 16780725;
11321 enum int KEY_Sinh_ra = 16780731;
11322 enum int KEY_Sinh_ri = 16780685;
11323 enum int KEY_Sinh_rii = 16780686;
11324 enum int KEY_Sinh_ru2 = 16780760;
11325 enum int KEY_Sinh_ruu2 = 16780786;
11326 enum int KEY_Sinh_sa = 16780739;
11327 enum int KEY_Sinh_sha = 16780737;
11328 enum int KEY_Sinh_ssha = 16780738;
11329 enum int KEY_Sinh_tha = 16780717;
11330 enum int KEY_Sinh_thha = 16780718;
11331 enum int KEY_Sinh_tta = 16780711;
11332 enum int KEY_Sinh_ttha = 16780712;
11333 enum int KEY_Sinh_u = 16780683;
11334 enum int KEY_Sinh_u2 = 16780756;
11335 enum int KEY_Sinh_uu = 16780684;
11336 enum int KEY_Sinh_uu2 = 16780758;
11337 enum int KEY_Sinh_va = 16780736;
11338 enum int KEY_Sinh_ya = 16780730;
11339 enum int KEY_Sleep = 269025071;
11340 enum int KEY_SlowKeys_Enable = 65139;
11341 enum int KEY_Spell = 269025148;
11342 enum int KEY_SplitScreen = 269025149;
11343 enum int KEY_Standby = 269025040;
11344 enum int KEY_Start = 269025050;
11345 enum int KEY_StickyKeys_Enable = 65141;
11346 enum int KEY_Stop = 269025064;
11347 enum int KEY_Subtitle = 269025178;
11348 enum int KEY_Super_L = 65515;
11349 enum int KEY_Super_R = 65516;
11350 enum int KEY_Support = 269025150;
11351 enum int KEY_Suspend = 269025191;
11352 enum int KEY_Switch_VT_1 = 269024769;
11353 enum int KEY_Switch_VT_10 = 269024778;
11354 enum int KEY_Switch_VT_11 = 269024779;
11355 enum int KEY_Switch_VT_12 = 269024780;
11356 enum int KEY_Switch_VT_2 = 269024770;
11357 enum int KEY_Switch_VT_3 = 269024771;
11358 enum int KEY_Switch_VT_4 = 269024772;
11359 enum int KEY_Switch_VT_5 = 269024773;
11360 enum int KEY_Switch_VT_6 = 269024774;
11361 enum int KEY_Switch_VT_7 = 269024775;
11362 enum int KEY_Switch_VT_8 = 269024776;
11363 enum int KEY_Switch_VT_9 = 269024777;
11364 enum int KEY_Sys_Req = 65301;
11365 enum int KEY_T = 84;
11366 enum int KEY_THORN = 222;
11367 enum int KEY_Tab = 65289;
11368 enum int KEY_Tabovedot = 16785002;
11369 enum int KEY_TaskPane = 269025151;
11370 enum int KEY_Tcaron = 427;
11371 enum int KEY_Tcedilla = 478;
11372 enum int KEY_Terminal = 269025152;
11373 enum int KEY_Terminate_Server = 65237;
11374 enum int KEY_Thai_baht = 3551;
11375 enum int KEY_Thai_bobaimai = 3514;
11376 enum int KEY_Thai_chochan = 3496;
11377 enum int KEY_Thai_chochang = 3498;
11378 enum int KEY_Thai_choching = 3497;
11379 enum int KEY_Thai_chochoe = 3500;
11380 enum int KEY_Thai_dochada = 3502;
11381 enum int KEY_Thai_dodek = 3508;
11382 enum int KEY_Thai_fofa = 3517;
11383 enum int KEY_Thai_fofan = 3519;
11384 enum int KEY_Thai_hohip = 3531;
11385 enum int KEY_Thai_honokhuk = 3534;
11386 enum int KEY_Thai_khokhai = 3490;
11387 enum int KEY_Thai_khokhon = 3493;
11388 enum int KEY_Thai_khokhuat = 3491;
11389 enum int KEY_Thai_khokhwai = 3492;
11390 enum int KEY_Thai_khorakhang = 3494;
11391 enum int KEY_Thai_kokai = 3489;
11392 enum int KEY_Thai_lakkhangyao = 3557;
11393 enum int KEY_Thai_lekchet = 3575;
11394 enum int KEY_Thai_lekha = 3573;
11395 enum int KEY_Thai_lekhok = 3574;
11396 enum int KEY_Thai_lekkao = 3577;
11397 enum int KEY_Thai_leknung = 3569;
11398 enum int KEY_Thai_lekpaet = 3576;
11399 enum int KEY_Thai_leksam = 3571;
11400 enum int KEY_Thai_leksi = 3572;
11401 enum int KEY_Thai_leksong = 3570;
11402 enum int KEY_Thai_leksun = 3568;
11403 enum int KEY_Thai_lochula = 3532;
11404 enum int KEY_Thai_loling = 3525;
11405 enum int KEY_Thai_lu = 3526;
11406 enum int KEY_Thai_maichattawa = 3563;
11407 enum int KEY_Thai_maiek = 3560;
11408 enum int KEY_Thai_maihanakat = 3537;
11409 enum int KEY_Thai_maihanakat_maitho = 3550;
11410 enum int KEY_Thai_maitaikhu = 3559;
11411 enum int KEY_Thai_maitho = 3561;
11412 enum int KEY_Thai_maitri = 3562;
11413 enum int KEY_Thai_maiyamok = 3558;
11414 enum int KEY_Thai_moma = 3521;
11415 enum int KEY_Thai_ngongu = 3495;
11416 enum int KEY_Thai_nikhahit = 3565;
11417 enum int KEY_Thai_nonen = 3507;
11418 enum int KEY_Thai_nonu = 3513;
11419 enum int KEY_Thai_oang = 3533;
11420 enum int KEY_Thai_paiyannoi = 3535;
11421 enum int KEY_Thai_phinthu = 3546;
11422 enum int KEY_Thai_phophan = 3518;
11423 enum int KEY_Thai_phophung = 3516;
11424 enum int KEY_Thai_phosamphao = 3520;
11425 enum int KEY_Thai_popla = 3515;
11426 enum int KEY_Thai_rorua = 3523;
11427 enum int KEY_Thai_ru = 3524;
11428 enum int KEY_Thai_saraa = 3536;
11429 enum int KEY_Thai_saraaa = 3538;
11430 enum int KEY_Thai_saraae = 3553;
11431 enum int KEY_Thai_saraaimaimalai = 3556;
11432 enum int KEY_Thai_saraaimaimuan = 3555;
11433 enum int KEY_Thai_saraam = 3539;
11434 enum int KEY_Thai_sarae = 3552;
11435 enum int KEY_Thai_sarai = 3540;
11436 enum int KEY_Thai_saraii = 3541;
11437 enum int KEY_Thai_sarao = 3554;
11438 enum int KEY_Thai_sarau = 3544;
11439 enum int KEY_Thai_saraue = 3542;
11440 enum int KEY_Thai_sarauee = 3543;
11441 enum int KEY_Thai_sarauu = 3545;
11442 enum int KEY_Thai_sorusi = 3529;
11443 enum int KEY_Thai_sosala = 3528;
11444 enum int KEY_Thai_soso = 3499;
11445 enum int KEY_Thai_sosua = 3530;
11446 enum int KEY_Thai_thanthakhat = 3564;
11447 enum int KEY_Thai_thonangmontho = 3505;
11448 enum int KEY_Thai_thophuthao = 3506;
11449 enum int KEY_Thai_thothahan = 3511;
11450 enum int KEY_Thai_thothan = 3504;
11451 enum int KEY_Thai_thothong = 3512;
11452 enum int KEY_Thai_thothung = 3510;
11453 enum int KEY_Thai_topatak = 3503;
11454 enum int KEY_Thai_totao = 3509;
11455 enum int KEY_Thai_wowaen = 3527;
11456 enum int KEY_Thai_yoyak = 3522;
11457 enum int KEY_Thai_yoying = 3501;
11458 enum int KEY_Thorn = 222;
11459 enum int KEY_Time = 269025183;
11460 enum int KEY_ToDoList = 269025055;
11461 enum int KEY_Tools = 269025153;
11462 enum int KEY_TopMenu = 269025186;
11463 enum int KEY_TouchpadOff = 269025201;
11464 enum int KEY_TouchpadOn = 269025200;
11465 enum int KEY_TouchpadToggle = 269025193;
11466 enum int KEY_Touroku = 65323;
11467 enum int KEY_Travel = 269025154;
11468 enum int KEY_Tslash = 940;
11469 enum int KEY_U = 85;
11470 enum int KEY_UWB = 269025174;
11471 enum int KEY_Uacute = 218;
11472 enum int KEY_Ubelowdot = 16785124;
11473 enum int KEY_Ubreve = 733;
11474 enum int KEY_Ucircumflex = 219;
11475 enum int KEY_Udiaeresis = 220;
11476 enum int KEY_Udoubleacute = 475;
11477 enum int KEY_Ugrave = 217;
11478 enum int KEY_Uhook = 16785126;
11479 enum int KEY_Uhorn = 16777647;
11480 enum int KEY_Uhornacute = 16785128;
11481 enum int KEY_Uhornbelowdot = 16785136;
11482 enum int KEY_Uhorngrave = 16785130;
11483 enum int KEY_Uhornhook = 16785132;
11484 enum int KEY_Uhorntilde = 16785134;
11485 enum int KEY_Ukrainian_GHE_WITH_UPTURN = 1725;
11486 enum int KEY_Ukrainian_I = 1718;
11487 enum int KEY_Ukrainian_IE = 1716;
11488 enum int KEY_Ukrainian_YI = 1719;
11489 enum int KEY_Ukrainian_ghe_with_upturn = 1709;
11490 enum int KEY_Ukrainian_i = 1702;
11491 enum int KEY_Ukrainian_ie = 1700;
11492 enum int KEY_Ukrainian_yi = 1703;
11493 enum int KEY_Ukranian_I = 1718;
11494 enum int KEY_Ukranian_JE = 1716;
11495 enum int KEY_Ukranian_YI = 1719;
11496 enum int KEY_Ukranian_i = 1702;
11497 enum int KEY_Ukranian_je = 1700;
11498 enum int KEY_Ukranian_yi = 1703;
11499 enum int KEY_Umacron = 990;
11500 enum int KEY_Undo = 65381;
11501 enum int KEY_Ungrab = 269024800;
11502 enum int KEY_Uogonek = 985;
11503 enum int KEY_Up = 65362;
11504 enum int KEY_Uring = 473;
11505 enum int KEY_User1KB = 269025157;
11506 enum int KEY_User2KB = 269025158;
11507 enum int KEY_UserPB = 269025156;
11508 enum int KEY_Utilde = 989;
11509 enum int KEY_V = 86;
11510 enum int KEY_VendorHome = 269025076;
11511 enum int KEY_Video = 269025159;
11512 enum int KEY_View = 269025185;
11513 enum int KEY_VoidSymbol = 16777215;
11514 enum int KEY_W = 87;
11515 enum int KEY_WLAN = 269025173;
11516 enum int KEY_WWW = 269025070;
11517 enum int KEY_Wacute = 16785026;
11518 enum int KEY_WakeUp = 269025067;
11519 enum int KEY_Wcircumflex = 16777588;
11520 enum int KEY_Wdiaeresis = 16785028;
11521 enum int KEY_WebCam = 269025167;
11522 enum int KEY_Wgrave = 16785024;
11523 enum int KEY_WheelButton = 269025160;
11524 enum int KEY_WindowClear = 269025109;
11525 enum int KEY_WonSign = 16785577;
11526 enum int KEY_Word = 269025161;
11527 enum int KEY_X = 88;
11528 enum int KEY_Xabovedot = 16785034;
11529 enum int KEY_Xfer = 269025162;
11530 enum int KEY_Y = 89;
11531 enum int KEY_Yacute = 221;
11532 enum int KEY_Ybelowdot = 16785140;
11533 enum int KEY_Ycircumflex = 16777590;
11534 enum int KEY_Ydiaeresis = 5054;
11535 enum int KEY_Yellow = 269025189;
11536 enum int KEY_Ygrave = 16785138;
11537 enum int KEY_Yhook = 16785142;
11538 enum int KEY_Ytilde = 16785144;
11539 enum int KEY_Z = 90;
11540 enum int KEY_Zabovedot = 431;
11541 enum int KEY_Zacute = 428;
11542 enum int KEY_Zcaron = 430;
11543 enum int KEY_Zen_Koho = 65341;
11544 enum int KEY_Zenkaku = 65320;
11545 enum int KEY_Zenkaku_Hankaku = 65322;
11546 enum int KEY_ZoomIn = 269025163;
11547 enum int KEY_ZoomOut = 269025164;
11548 enum int KEY_Zstroke = 16777653;
11549 enum int KEY_a = 97;
11550 enum int KEY_aacute = 225;
11551 enum int KEY_abelowdot = 16785057;
11552 enum int KEY_abovedot = 511;
11553 enum int KEY_abreve = 483;
11554 enum int KEY_abreveacute = 16785071;
11555 enum int KEY_abrevebelowdot = 16785079;
11556 enum int KEY_abrevegrave = 16785073;
11557 enum int KEY_abrevehook = 16785075;
11558 enum int KEY_abrevetilde = 16785077;
11559 enum int KEY_acircumflex = 226;
11560 enum int KEY_acircumflexacute = 16785061;
11561 enum int KEY_acircumflexbelowdot = 16785069;
11562 enum int KEY_acircumflexgrave = 16785063;
11563 enum int KEY_acircumflexhook = 16785065;
11564 enum int KEY_acircumflextilde = 16785067;
11565 enum int KEY_acute = 180;
11566 enum int KEY_adiaeresis = 228;
11567 enum int KEY_ae = 230;
11568 enum int KEY_agrave = 224;
11569 enum int KEY_ahook = 16785059;
11570 enum int KEY_amacron = 992;
11571 enum int KEY_ampersand = 38;
11572 enum int KEY_aogonek = 433;
11573 enum int KEY_apostrophe = 39;
11574 enum int KEY_approxeq = 16785992;
11575 enum int KEY_approximate = 2248;
11576 enum int KEY_aring = 229;
11577 enum int KEY_asciicircum = 94;
11578 enum int KEY_asciitilde = 126;
11579 enum int KEY_asterisk = 42;
11580 enum int KEY_at = 64;
11581 enum int KEY_atilde = 227;
11582 enum int KEY_b = 98;
11583 enum int KEY_babovedot = 16784899;
11584 enum int KEY_backslash = 92;
11585 enum int KEY_ballotcross = 2804;
11586 enum int KEY_bar = 124;
11587 enum int KEY_because = 16785973;
11588 enum int KEY_blank = 2527;
11589 enum int KEY_botintegral = 2213;
11590 enum int KEY_botleftparens = 2220;
11591 enum int KEY_botleftsqbracket = 2216;
11592 enum int KEY_botleftsummation = 2226;
11593 enum int KEY_botrightparens = 2222;
11594 enum int KEY_botrightsqbracket = 2218;
11595 enum int KEY_botrightsummation = 2230;
11596 enum int KEY_bott = 2550;
11597 enum int KEY_botvertsummationconnector = 2228;
11598 enum int KEY_braceleft = 123;
11599 enum int KEY_braceright = 125;
11600 enum int KEY_bracketleft = 91;
11601 enum int KEY_bracketright = 93;
11602 enum int KEY_braille_blank = 16787456;
11603 enum int KEY_braille_dot_1 = 65521;
11604 enum int KEY_braille_dot_10 = 65530;
11605 enum int KEY_braille_dot_2 = 65522;
11606 enum int KEY_braille_dot_3 = 65523;
11607 enum int KEY_braille_dot_4 = 65524;
11608 enum int KEY_braille_dot_5 = 65525;
11609 enum int KEY_braille_dot_6 = 65526;
11610 enum int KEY_braille_dot_7 = 65527;
11611 enum int KEY_braille_dot_8 = 65528;
11612 enum int KEY_braille_dot_9 = 65529;
11613 enum int KEY_braille_dots_1 = 16787457;
11614 enum int KEY_braille_dots_12 = 16787459;
11615 enum int KEY_braille_dots_123 = 16787463;
11616 enum int KEY_braille_dots_1234 = 16787471;
11617 enum int KEY_braille_dots_12345 = 16787487;
11618 enum int KEY_braille_dots_123456 = 16787519;
11619 enum int KEY_braille_dots_1234567 = 16787583;
11620 enum int KEY_braille_dots_12345678 = 16787711;
11621 enum int KEY_braille_dots_1234568 = 16787647;
11622 enum int KEY_braille_dots_123457 = 16787551;
11623 enum int KEY_braille_dots_1234578 = 16787679;
11624 enum int KEY_braille_dots_123458 = 16787615;
11625 enum int KEY_braille_dots_12346 = 16787503;
11626 enum int KEY_braille_dots_123467 = 16787567;
11627 enum int KEY_braille_dots_1234678 = 16787695;
11628 enum int KEY_braille_dots_123468 = 16787631;
11629 enum int KEY_braille_dots_12347 = 16787535;
11630 enum int KEY_braille_dots_123478 = 16787663;
11631 enum int KEY_braille_dots_12348 = 16787599;
11632 enum int KEY_braille_dots_1235 = 16787479;
11633 enum int KEY_braille_dots_12356 = 16787511;
11634 enum int KEY_braille_dots_123567 = 16787575;
11635 enum int KEY_braille_dots_1235678 = 16787703;
11636 enum int KEY_braille_dots_123568 = 16787639;
11637 enum int KEY_braille_dots_12357 = 16787543;
11638 enum int KEY_braille_dots_123578 = 16787671;
11639 enum int KEY_braille_dots_12358 = 16787607;
11640 enum int KEY_braille_dots_1236 = 16787495;
11641 enum int KEY_braille_dots_12367 = 16787559;
11642 enum int KEY_braille_dots_123678 = 16787687;
11643 enum int KEY_braille_dots_12368 = 16787623;
11644 enum int KEY_braille_dots_1237 = 16787527;
11645 enum int KEY_braille_dots_12378 = 16787655;
11646 enum int KEY_braille_dots_1238 = 16787591;
11647 enum int KEY_braille_dots_124 = 16787467;
11648 enum int KEY_braille_dots_1245 = 16787483;
11649 enum int KEY_braille_dots_12456 = 16787515;
11650 enum int KEY_braille_dots_124567 = 16787579;
11651 enum int KEY_braille_dots_1245678 = 16787707;
11652 enum int KEY_braille_dots_124568 = 16787643;
11653 enum int KEY_braille_dots_12457 = 16787547;
11654 enum int KEY_braille_dots_124578 = 16787675;
11655 enum int KEY_braille_dots_12458 = 16787611;
11656 enum int KEY_braille_dots_1246 = 16787499;
11657 enum int KEY_braille_dots_12467 = 16787563;
11658 enum int KEY_braille_dots_124678 = 16787691;
11659 enum int KEY_braille_dots_12468 = 16787627;
11660 enum int KEY_braille_dots_1247 = 16787531;
11661 enum int KEY_braille_dots_12478 = 16787659;
11662 enum int KEY_braille_dots_1248 = 16787595;
11663 enum int KEY_braille_dots_125 = 16787475;
11664 enum int KEY_braille_dots_1256 = 16787507;
11665 enum int KEY_braille_dots_12567 = 16787571;
11666 enum int KEY_braille_dots_125678 = 16787699;
11667 enum int KEY_braille_dots_12568 = 16787635;
11668 enum int KEY_braille_dots_1257 = 16787539;
11669 enum int KEY_braille_dots_12578 = 16787667;
11670 enum int KEY_braille_dots_1258 = 16787603;
11671 enum int KEY_braille_dots_126 = 16787491;
11672 enum int KEY_braille_dots_1267 = 16787555;
11673 enum int KEY_braille_dots_12678 = 16787683;
11674 enum int KEY_braille_dots_1268 = 16787619;
11675 enum int KEY_braille_dots_127 = 16787523;
11676 enum int KEY_braille_dots_1278 = 16787651;
11677 enum int KEY_braille_dots_128 = 16787587;
11678 enum int KEY_braille_dots_13 = 16787461;
11679 enum int KEY_braille_dots_134 = 16787469;
11680 enum int KEY_braille_dots_1345 = 16787485;
11681 enum int KEY_braille_dots_13456 = 16787517;
11682 enum int KEY_braille_dots_134567 = 16787581;
11683 enum int KEY_braille_dots_1345678 = 16787709;
11684 enum int KEY_braille_dots_134568 = 16787645;
11685 enum int KEY_braille_dots_13457 = 16787549;
11686 enum int KEY_braille_dots_134578 = 16787677;
11687 enum int KEY_braille_dots_13458 = 16787613;
11688 enum int KEY_braille_dots_1346 = 16787501;
11689 enum int KEY_braille_dots_13467 = 16787565;
11690 enum int KEY_braille_dots_134678 = 16787693;
11691 enum int KEY_braille_dots_13468 = 16787629;
11692 enum int KEY_braille_dots_1347 = 16787533;
11693 enum int KEY_braille_dots_13478 = 16787661;
11694 enum int KEY_braille_dots_1348 = 16787597;
11695 enum int KEY_braille_dots_135 = 16787477;
11696 enum int KEY_braille_dots_1356 = 16787509;
11697 enum int KEY_braille_dots_13567 = 16787573;
11698 enum int KEY_braille_dots_135678 = 16787701;
11699 enum int KEY_braille_dots_13568 = 16787637;
11700 enum int KEY_braille_dots_1357 = 16787541;
11701 enum int KEY_braille_dots_13578 = 16787669;
11702 enum int KEY_braille_dots_1358 = 16787605;
11703 enum int KEY_braille_dots_136 = 16787493;
11704 enum int KEY_braille_dots_1367 = 16787557;
11705 enum int KEY_braille_dots_13678 = 16787685;
11706 enum int KEY_braille_dots_1368 = 16787621;
11707 enum int KEY_braille_dots_137 = 16787525;
11708 enum int KEY_braille_dots_1378 = 16787653;
11709 enum int KEY_braille_dots_138 = 16787589;
11710 enum int KEY_braille_dots_14 = 16787465;
11711 enum int KEY_braille_dots_145 = 16787481;
11712 enum int KEY_braille_dots_1456 = 16787513;
11713 enum int KEY_braille_dots_14567 = 16787577;
11714 enum int KEY_braille_dots_145678 = 16787705;
11715 enum int KEY_braille_dots_14568 = 16787641;
11716 enum int KEY_braille_dots_1457 = 16787545;
11717 enum int KEY_braille_dots_14578 = 16787673;
11718 enum int KEY_braille_dots_1458 = 16787609;
11719 enum int KEY_braille_dots_146 = 16787497;
11720 enum int KEY_braille_dots_1467 = 16787561;
11721 enum int KEY_braille_dots_14678 = 16787689;
11722 enum int KEY_braille_dots_1468 = 16787625;
11723 enum int KEY_braille_dots_147 = 16787529;
11724 enum int KEY_braille_dots_1478 = 16787657;
11725 enum int KEY_braille_dots_148 = 16787593;
11726 enum int KEY_braille_dots_15 = 16787473;
11727 enum int KEY_braille_dots_156 = 16787505;
11728 enum int KEY_braille_dots_1567 = 16787569;
11729 enum int KEY_braille_dots_15678 = 16787697;
11730 enum int KEY_braille_dots_1568 = 16787633;
11731 enum int KEY_braille_dots_157 = 16787537;
11732 enum int KEY_braille_dots_1578 = 16787665;
11733 enum int KEY_braille_dots_158 = 16787601;
11734 enum int KEY_braille_dots_16 = 16787489;
11735 enum int KEY_braille_dots_167 = 16787553;
11736 enum int KEY_braille_dots_1678 = 16787681;
11737 enum int KEY_braille_dots_168 = 16787617;
11738 enum int KEY_braille_dots_17 = 16787521;
11739 enum int KEY_braille_dots_178 = 16787649;
11740 enum int KEY_braille_dots_18 = 16787585;
11741 enum int KEY_braille_dots_2 = 16787458;
11742 enum int KEY_braille_dots_23 = 16787462;
11743 enum int KEY_braille_dots_234 = 16787470;
11744 enum int KEY_braille_dots_2345 = 16787486;
11745 enum int KEY_braille_dots_23456 = 16787518;
11746 enum int KEY_braille_dots_234567 = 16787582;
11747 enum int KEY_braille_dots_2345678 = 16787710;
11748 enum int KEY_braille_dots_234568 = 16787646;
11749 enum int KEY_braille_dots_23457 = 16787550;
11750 enum int KEY_braille_dots_234578 = 16787678;
11751 enum int KEY_braille_dots_23458 = 16787614;
11752 enum int KEY_braille_dots_2346 = 16787502;
11753 enum int KEY_braille_dots_23467 = 16787566;
11754 enum int KEY_braille_dots_234678 = 16787694;
11755 enum int KEY_braille_dots_23468 = 16787630;
11756 enum int KEY_braille_dots_2347 = 16787534;
11757 enum int KEY_braille_dots_23478 = 16787662;
11758 enum int KEY_braille_dots_2348 = 16787598;
11759 enum int KEY_braille_dots_235 = 16787478;
11760 enum int KEY_braille_dots_2356 = 16787510;
11761 enum int KEY_braille_dots_23567 = 16787574;
11762 enum int KEY_braille_dots_235678 = 16787702;
11763 enum int KEY_braille_dots_23568 = 16787638;
11764 enum int KEY_braille_dots_2357 = 16787542;
11765 enum int KEY_braille_dots_23578 = 16787670;
11766 enum int KEY_braille_dots_2358 = 16787606;
11767 enum int KEY_braille_dots_236 = 16787494;
11768 enum int KEY_braille_dots_2367 = 16787558;
11769 enum int KEY_braille_dots_23678 = 16787686;
11770 enum int KEY_braille_dots_2368 = 16787622;
11771 enum int KEY_braille_dots_237 = 16787526;
11772 enum int KEY_braille_dots_2378 = 16787654;
11773 enum int KEY_braille_dots_238 = 16787590;
11774 enum int KEY_braille_dots_24 = 16787466;
11775 enum int KEY_braille_dots_245 = 16787482;
11776 enum int KEY_braille_dots_2456 = 16787514;
11777 enum int KEY_braille_dots_24567 = 16787578;
11778 enum int KEY_braille_dots_245678 = 16787706;
11779 enum int KEY_braille_dots_24568 = 16787642;
11780 enum int KEY_braille_dots_2457 = 16787546;
11781 enum int KEY_braille_dots_24578 = 16787674;
11782 enum int KEY_braille_dots_2458 = 16787610;
11783 enum int KEY_braille_dots_246 = 16787498;
11784 enum int KEY_braille_dots_2467 = 16787562;
11785 enum int KEY_braille_dots_24678 = 16787690;
11786 enum int KEY_braille_dots_2468 = 16787626;
11787 enum int KEY_braille_dots_247 = 16787530;
11788 enum int KEY_braille_dots_2478 = 16787658;
11789 enum int KEY_braille_dots_248 = 16787594;
11790 enum int KEY_braille_dots_25 = 16787474;
11791 enum int KEY_braille_dots_256 = 16787506;
11792 enum int KEY_braille_dots_2567 = 16787570;
11793 enum int KEY_braille_dots_25678 = 16787698;
11794 enum int KEY_braille_dots_2568 = 16787634;
11795 enum int KEY_braille_dots_257 = 16787538;
11796 enum int KEY_braille_dots_2578 = 16787666;
11797 enum int KEY_braille_dots_258 = 16787602;
11798 enum int KEY_braille_dots_26 = 16787490;
11799 enum int KEY_braille_dots_267 = 16787554;
11800 enum int KEY_braille_dots_2678 = 16787682;
11801 enum int KEY_braille_dots_268 = 16787618;
11802 enum int KEY_braille_dots_27 = 16787522;
11803 enum int KEY_braille_dots_278 = 16787650;
11804 enum int KEY_braille_dots_28 = 16787586;
11805 enum int KEY_braille_dots_3 = 16787460;
11806 enum int KEY_braille_dots_34 = 16787468;
11807 enum int KEY_braille_dots_345 = 16787484;
11808 enum int KEY_braille_dots_3456 = 16787516;
11809 enum int KEY_braille_dots_34567 = 16787580;
11810 enum int KEY_braille_dots_345678 = 16787708;
11811 enum int KEY_braille_dots_34568 = 16787644;
11812 enum int KEY_braille_dots_3457 = 16787548;
11813 enum int KEY_braille_dots_34578 = 16787676;
11814 enum int KEY_braille_dots_3458 = 16787612;
11815 enum int KEY_braille_dots_346 = 16787500;
11816 enum int KEY_braille_dots_3467 = 16787564;
11817 enum int KEY_braille_dots_34678 = 16787692;
11818 enum int KEY_braille_dots_3468 = 16787628;
11819 enum int KEY_braille_dots_347 = 16787532;
11820 enum int KEY_braille_dots_3478 = 16787660;
11821 enum int KEY_braille_dots_348 = 16787596;
11822 enum int KEY_braille_dots_35 = 16787476;
11823 enum int KEY_braille_dots_356 = 16787508;
11824 enum int KEY_braille_dots_3567 = 16787572;
11825 enum int KEY_braille_dots_35678 = 16787700;
11826 enum int KEY_braille_dots_3568 = 16787636;
11827 enum int KEY_braille_dots_357 = 16787540;
11828 enum int KEY_braille_dots_3578 = 16787668;
11829 enum int KEY_braille_dots_358 = 16787604;
11830 enum int KEY_braille_dots_36 = 16787492;
11831 enum int KEY_braille_dots_367 = 16787556;
11832 enum int KEY_braille_dots_3678 = 16787684;
11833 enum int KEY_braille_dots_368 = 16787620;
11834 enum int KEY_braille_dots_37 = 16787524;
11835 enum int KEY_braille_dots_378 = 16787652;
11836 enum int KEY_braille_dots_38 = 16787588;
11837 enum int KEY_braille_dots_4 = 16787464;
11838 enum int KEY_braille_dots_45 = 16787480;
11839 enum int KEY_braille_dots_456 = 16787512;
11840 enum int KEY_braille_dots_4567 = 16787576;
11841 enum int KEY_braille_dots_45678 = 16787704;
11842 enum int KEY_braille_dots_4568 = 16787640;
11843 enum int KEY_braille_dots_457 = 16787544;
11844 enum int KEY_braille_dots_4578 = 16787672;
11845 enum int KEY_braille_dots_458 = 16787608;
11846 enum int KEY_braille_dots_46 = 16787496;
11847 enum int KEY_braille_dots_467 = 16787560;
11848 enum int KEY_braille_dots_4678 = 16787688;
11849 enum int KEY_braille_dots_468 = 16787624;
11850 enum int KEY_braille_dots_47 = 16787528;
11851 enum int KEY_braille_dots_478 = 16787656;
11852 enum int KEY_braille_dots_48 = 16787592;
11853 enum int KEY_braille_dots_5 = 16787472;
11854 enum int KEY_braille_dots_56 = 16787504;
11855 enum int KEY_braille_dots_567 = 16787568;
11856 enum int KEY_braille_dots_5678 = 16787696;
11857 enum int KEY_braille_dots_568 = 16787632;
11858 enum int KEY_braille_dots_57 = 16787536;
11859 enum int KEY_braille_dots_578 = 16787664;
11860 enum int KEY_braille_dots_58 = 16787600;
11861 enum int KEY_braille_dots_6 = 16787488;
11862 enum int KEY_braille_dots_67 = 16787552;
11863 enum int KEY_braille_dots_678 = 16787680;
11864 enum int KEY_braille_dots_68 = 16787616;
11865 enum int KEY_braille_dots_7 = 16787520;
11866 enum int KEY_braille_dots_78 = 16787648;
11867 enum int KEY_braille_dots_8 = 16787584;
11868 enum int KEY_breve = 418;
11869 enum int KEY_brokenbar = 166;
11870 enum int KEY_c = 99;
11871 enum int KEY_c_h = 65187;
11872 enum int KEY_cabovedot = 741;
11873 enum int KEY_cacute = 486;
11874 enum int KEY_careof = 2744;
11875 enum int KEY_caret = 2812;
11876 enum int KEY_caron = 439;
11877 enum int KEY_ccaron = 488;
11878 enum int KEY_ccedilla = 231;
11879 enum int KEY_ccircumflex = 742;
11880 enum int KEY_cedilla = 184;
11881 enum int KEY_cent = 162;
11882 enum int KEY_ch = 65184;
11883 enum int KEY_checkerboard = 2529;
11884 enum int KEY_checkmark = 2803;
11885 enum int KEY_circle = 3023;
11886 enum int KEY_club = 2796;
11887 enum int KEY_colon = 58;
11888 enum int KEY_comma = 44;
11889 enum int KEY_containsas = 16785931;
11890 enum int KEY_copyright = 169;
11891 enum int KEY_cr = 2532;
11892 enum int KEY_crossinglines = 2542;
11893 enum int KEY_cuberoot = 16785947;
11894 enum int KEY_currency = 164;
11895 enum int KEY_cursor = 2815;
11896 enum int KEY_d = 100;
11897 enum int KEY_dabovedot = 16784907;
11898 enum int KEY_dagger = 2801;
11899 enum int KEY_dcaron = 495;
11900 enum int KEY_dead_A = 65153;
11901 enum int KEY_dead_E = 65155;
11902 enum int KEY_dead_I = 65157;
11903 enum int KEY_dead_O = 65159;
11904 enum int KEY_dead_U = 65161;
11905 enum int KEY_dead_a = 65152;
11906 enum int KEY_dead_abovecomma = 65124;
11907 enum int KEY_dead_abovedot = 65110;
11908 enum int KEY_dead_abovereversedcomma = 65125;
11909 enum int KEY_dead_abovering = 65112;
11910 enum int KEY_dead_acute = 65105;
11911 enum int KEY_dead_belowbreve = 65131;
11912 enum int KEY_dead_belowcircumflex = 65129;
11913 enum int KEY_dead_belowcomma = 65134;
11914 enum int KEY_dead_belowdiaeresis = 65132;
11915 enum int KEY_dead_belowdot = 65120;
11916 enum int KEY_dead_belowmacron = 65128;
11917 enum int KEY_dead_belowring = 65127;
11918 enum int KEY_dead_belowtilde = 65130;
11919 enum int KEY_dead_breve = 65109;
11920 enum int KEY_dead_capital_schwa = 65163;
11921 enum int KEY_dead_caron = 65114;
11922 enum int KEY_dead_cedilla = 65115;
11923 enum int KEY_dead_circumflex = 65106;
11924 enum int KEY_dead_currency = 65135;
11925 enum int KEY_dead_dasia = 65125;
11926 enum int KEY_dead_diaeresis = 65111;
11927 enum int KEY_dead_doubleacute = 65113;
11928 enum int KEY_dead_doublegrave = 65126;
11929 enum int KEY_dead_e = 65154;
11930 enum int KEY_dead_grave = 65104;
11931 enum int KEY_dead_hook = 65121;
11932 enum int KEY_dead_horn = 65122;
11933 enum int KEY_dead_i = 65156;
11934 enum int KEY_dead_invertedbreve = 65133;
11935 enum int KEY_dead_iota = 65117;
11936 enum int KEY_dead_macron = 65108;
11937 enum int KEY_dead_o = 65158;
11938 enum int KEY_dead_ogonek = 65116;
11939 enum int KEY_dead_perispomeni = 65107;
11940 enum int KEY_dead_psili = 65124;
11941 enum int KEY_dead_semivoiced_sound = 65119;
11942 enum int KEY_dead_small_schwa = 65162;
11943 enum int KEY_dead_stroke = 65123;
11944 enum int KEY_dead_tilde = 65107;
11945 enum int KEY_dead_u = 65160;
11946 enum int KEY_dead_voiced_sound = 65118;
11947 enum int KEY_decimalpoint = 2749;
11948 enum int KEY_degree = 176;
11949 enum int KEY_diaeresis = 168;
11950 enum int KEY_diamond = 2797;
11951 enum int KEY_digitspace = 2725;
11952 enum int KEY_dintegral = 16785964;
11953 enum int KEY_division = 247;
11954 enum int KEY_dollar = 36;
11955 enum int KEY_doubbaselinedot = 2735;
11956 enum int KEY_doubleacute = 445;
11957 enum int KEY_doubledagger = 2802;
11958 enum int KEY_doublelowquotemark = 2814;
11959 enum int KEY_downarrow = 2302;
11960 enum int KEY_downcaret = 2984;
11961 enum int KEY_downshoe = 3030;
11962 enum int KEY_downstile = 3012;
11963 enum int KEY_downtack = 3010;
11964 enum int KEY_dstroke = 496;
11965 enum int KEY_e = 101;
11966 enum int KEY_eabovedot = 1004;
11967 enum int KEY_eacute = 233;
11968 enum int KEY_ebelowdot = 16785081;
11969 enum int KEY_ecaron = 492;
11970 enum int KEY_ecircumflex = 234;
11971 enum int KEY_ecircumflexacute = 16785087;
11972 enum int KEY_ecircumflexbelowdot = 16785095;
11973 enum int KEY_ecircumflexgrave = 16785089;
11974 enum int KEY_ecircumflexhook = 16785091;
11975 enum int KEY_ecircumflextilde = 16785093;
11976 enum int KEY_ediaeresis = 235;
11977 enum int KEY_egrave = 232;
11978 enum int KEY_ehook = 16785083;
11979 enum int KEY_eightsubscript = 16785544;
11980 enum int KEY_eightsuperior = 16785528;
11981 enum int KEY_elementof = 16785928;
11982 enum int KEY_ellipsis = 2734;
11983 enum int KEY_em3space = 2723;
11984 enum int KEY_em4space = 2724;
11985 enum int KEY_emacron = 954;
11986 enum int KEY_emdash = 2729;
11987 enum int KEY_emfilledcircle = 2782;
11988 enum int KEY_emfilledrect = 2783;
11989 enum int KEY_emopencircle = 2766;
11990 enum int KEY_emopenrectangle = 2767;
11991 enum int KEY_emptyset = 16785925;
11992 enum int KEY_emspace = 2721;
11993 enum int KEY_endash = 2730;
11994 enum int KEY_enfilledcircbullet = 2790;
11995 enum int KEY_enfilledsqbullet = 2791;
11996 enum int KEY_eng = 959;
11997 enum int KEY_enopencircbullet = 2784;
11998 enum int KEY_enopensquarebullet = 2785;
11999 enum int KEY_enspace = 2722;
12000 enum int KEY_eogonek = 490;
12001 enum int KEY_equal = 61;
12002 enum int KEY_eth = 240;
12003 enum int KEY_etilde = 16785085;
12004 enum int KEY_exclam = 33;
12005 enum int KEY_exclamdown = 161;
12006 enum int KEY_f = 102;
12007 enum int KEY_fabovedot = 16784927;
12008 enum int KEY_femalesymbol = 2808;
12009 enum int KEY_ff = 2531;
12010 enum int KEY_figdash = 2747;
12011 enum int KEY_filledlefttribullet = 2780;
12012 enum int KEY_filledrectbullet = 2779;
12013 enum int KEY_filledrighttribullet = 2781;
12014 enum int KEY_filledtribulletdown = 2793;
12015 enum int KEY_filledtribulletup = 2792;
12016 enum int KEY_fiveeighths = 2757;
12017 enum int KEY_fivesixths = 2743;
12018 enum int KEY_fivesubscript = 16785541;
12019 enum int KEY_fivesuperior = 16785525;
12020 enum int KEY_fourfifths = 2741;
12021 enum int KEY_foursubscript = 16785540;
12022 enum int KEY_foursuperior = 16785524;
12023 enum int KEY_fourthroot = 16785948;
12024 enum int KEY_function = 2294;
12025 enum int KEY_g = 103;
12026 enum int KEY_gabovedot = 757;
12027 enum int KEY_gbreve = 699;
12028 enum int KEY_gcaron = 16777703;
12029 enum int KEY_gcedilla = 955;
12030 enum int KEY_gcircumflex = 760;
12031 enum int KEY_grave = 96;
12032 enum int KEY_greater = 62;
12033 enum int KEY_greaterthanequal = 2238;
12034 enum int KEY_guillemotleft = 171;
12035 enum int KEY_guillemotright = 187;
12036 enum int KEY_h = 104;
12037 enum int KEY_hairspace = 2728;
12038 enum int KEY_hcircumflex = 694;
12039 enum int KEY_heart = 2798;
12040 enum int KEY_hebrew_aleph = 3296;
12041 enum int KEY_hebrew_ayin = 3314;
12042 enum int KEY_hebrew_bet = 3297;
12043 enum int KEY_hebrew_beth = 3297;
12044 enum int KEY_hebrew_chet = 3303;
12045 enum int KEY_hebrew_dalet = 3299;
12046 enum int KEY_hebrew_daleth = 3299;
12047 enum int KEY_hebrew_doublelowline = 3295;
12048 enum int KEY_hebrew_finalkaph = 3306;
12049 enum int KEY_hebrew_finalmem = 3309;
12050 enum int KEY_hebrew_finalnun = 3311;
12051 enum int KEY_hebrew_finalpe = 3315;
12052 enum int KEY_hebrew_finalzade = 3317;
12053 enum int KEY_hebrew_finalzadi = 3317;
12054 enum int KEY_hebrew_gimel = 3298;
12055 enum int KEY_hebrew_gimmel = 3298;
12056 enum int KEY_hebrew_he = 3300;
12057 enum int KEY_hebrew_het = 3303;
12058 enum int KEY_hebrew_kaph = 3307;
12059 enum int KEY_hebrew_kuf = 3319;
12060 enum int KEY_hebrew_lamed = 3308;
12061 enum int KEY_hebrew_mem = 3310;
12062 enum int KEY_hebrew_nun = 3312;
12063 enum int KEY_hebrew_pe = 3316;
12064 enum int KEY_hebrew_qoph = 3319;
12065 enum int KEY_hebrew_resh = 3320;
12066 enum int KEY_hebrew_samech = 3313;
12067 enum int KEY_hebrew_samekh = 3313;
12068 enum int KEY_hebrew_shin = 3321;
12069 enum int KEY_hebrew_taf = 3322;
12070 enum int KEY_hebrew_taw = 3322;
12071 enum int KEY_hebrew_tet = 3304;
12072 enum int KEY_hebrew_teth = 3304;
12073 enum int KEY_hebrew_waw = 3301;
12074 enum int KEY_hebrew_yod = 3305;
12075 enum int KEY_hebrew_zade = 3318;
12076 enum int KEY_hebrew_zadi = 3318;
12077 enum int KEY_hebrew_zain = 3302;
12078 enum int KEY_hebrew_zayin = 3302;
12079 enum int KEY_hexagram = 2778;
12080 enum int KEY_horizconnector = 2211;
12081 enum int KEY_horizlinescan1 = 2543;
12082 enum int KEY_horizlinescan3 = 2544;
12083 enum int KEY_horizlinescan5 = 2545;
12084 enum int KEY_horizlinescan7 = 2546;
12085 enum int KEY_horizlinescan9 = 2547;
12086 enum int KEY_hstroke = 689;
12087 enum int KEY_ht = 2530;
12088 enum int KEY_hyphen = 173;
12089 enum int KEY_i = 105;
12090 enum int KEY_iTouch = 269025120;
12091 enum int KEY_iacute = 237;
12092 enum int KEY_ibelowdot = 16785099;
12093 enum int KEY_ibreve = 16777517;
12094 enum int KEY_icircumflex = 238;
12095 enum int KEY_identical = 2255;
12096 enum int KEY_idiaeresis = 239;
12097 enum int KEY_idotless = 697;
12098 enum int KEY_ifonlyif = 2253;
12099 enum int KEY_igrave = 236;
12100 enum int KEY_ihook = 16785097;
12101 enum int KEY_imacron = 1007;
12102 enum int KEY_implies = 2254;
12103 enum int KEY_includedin = 2266;
12104 enum int KEY_includes = 2267;
12105 enum int KEY_infinity = 2242;
12106 enum int KEY_integral = 2239;
12107 enum int KEY_intersection = 2268;
12108 enum int KEY_iogonek = 999;
12109 enum int KEY_itilde = 949;
12110 enum int KEY_j = 106;
12111 enum int KEY_jcircumflex = 700;
12112 enum int KEY_jot = 3018;
12113 enum int KEY_k = 107;
12114 enum int KEY_kana_A = 1201;
12115 enum int KEY_kana_CHI = 1217;
12116 enum int KEY_kana_E = 1204;
12117 enum int KEY_kana_FU = 1228;
12118 enum int KEY_kana_HA = 1226;
12119 enum int KEY_kana_HE = 1229;
12120 enum int KEY_kana_HI = 1227;
12121 enum int KEY_kana_HO = 1230;
12122 enum int KEY_kana_HU = 1228;
12123 enum int KEY_kana_I = 1202;
12124 enum int KEY_kana_KA = 1206;
12125 enum int KEY_kana_KE = 1209;
12126 enum int KEY_kana_KI = 1207;
12127 enum int KEY_kana_KO = 1210;
12128 enum int KEY_kana_KU = 1208;
12129 enum int KEY_kana_MA = 1231;
12130 enum int KEY_kana_ME = 1234;
12131 enum int KEY_kana_MI = 1232;
12132 enum int KEY_kana_MO = 1235;
12133 enum int KEY_kana_MU = 1233;
12134 enum int KEY_kana_N = 1245;
12135 enum int KEY_kana_NA = 1221;
12136 enum int KEY_kana_NE = 1224;
12137 enum int KEY_kana_NI = 1222;
12138 enum int KEY_kana_NO = 1225;
12139 enum int KEY_kana_NU = 1223;
12140 enum int KEY_kana_O = 1205;
12141 enum int KEY_kana_RA = 1239;
12142 enum int KEY_kana_RE = 1242;
12143 enum int KEY_kana_RI = 1240;
12144 enum int KEY_kana_RO = 1243;
12145 enum int KEY_kana_RU = 1241;
12146 enum int KEY_kana_SA = 1211;
12147 enum int KEY_kana_SE = 1214;
12148 enum int KEY_kana_SHI = 1212;
12149 enum int KEY_kana_SO = 1215;
12150 enum int KEY_kana_SU = 1213;
12151 enum int KEY_kana_TA = 1216;
12152 enum int KEY_kana_TE = 1219;
12153 enum int KEY_kana_TI = 1217;
12154 enum int KEY_kana_TO = 1220;
12155 enum int KEY_kana_TSU = 1218;
12156 enum int KEY_kana_TU = 1218;
12157 enum int KEY_kana_U = 1203;
12158 enum int KEY_kana_WA = 1244;
12159 enum int KEY_kana_WO = 1190;
12160 enum int KEY_kana_YA = 1236;
12161 enum int KEY_kana_YO = 1238;
12162 enum int KEY_kana_YU = 1237;
12163 enum int KEY_kana_a = 1191;
12164 enum int KEY_kana_closingbracket = 1187;
12165 enum int KEY_kana_comma = 1188;
12166 enum int KEY_kana_conjunctive = 1189;
12167 enum int KEY_kana_e = 1194;
12168 enum int KEY_kana_fullstop = 1185;
12169 enum int KEY_kana_i = 1192;
12170 enum int KEY_kana_middledot = 1189;
12171 enum int KEY_kana_o = 1195;
12172 enum int KEY_kana_openingbracket = 1186;
12173 enum int KEY_kana_switch = 65406;
12174 enum int KEY_kana_tsu = 1199;
12175 enum int KEY_kana_tu = 1199;
12176 enum int KEY_kana_u = 1193;
12177 enum int KEY_kana_ya = 1196;
12178 enum int KEY_kana_yo = 1198;
12179 enum int KEY_kana_yu = 1197;
12180 enum int KEY_kappa = 930;
12181 enum int KEY_kcedilla = 1011;
12182 enum int KEY_kra = 930;
12183 enum int KEY_l = 108;
12184 enum int KEY_lacute = 485;
12185 enum int KEY_latincross = 2777;
12186 enum int KEY_lbelowdot = 16784951;
12187 enum int KEY_lcaron = 437;
12188 enum int KEY_lcedilla = 950;
12189 enum int KEY_leftanglebracket = 2748;
12190 enum int KEY_leftarrow = 2299;
12191 enum int KEY_leftcaret = 2979;
12192 enum int KEY_leftdoublequotemark = 2770;
12193 enum int KEY_leftmiddlecurlybrace = 2223;
12194 enum int KEY_leftopentriangle = 2764;
12195 enum int KEY_leftpointer = 2794;
12196 enum int KEY_leftradical = 2209;
12197 enum int KEY_leftshoe = 3034;
12198 enum int KEY_leftsinglequotemark = 2768;
12199 enum int KEY_leftt = 2548;
12200 enum int KEY_lefttack = 3036;
12201 enum int KEY_less = 60;
12202 enum int KEY_lessthanequal = 2236;
12203 enum int KEY_lf = 2533;
12204 enum int KEY_logicaland = 2270;
12205 enum int KEY_logicalor = 2271;
12206 enum int KEY_lowleftcorner = 2541;
12207 enum int KEY_lowrightcorner = 2538;
12208 enum int KEY_lstroke = 435;
12209 enum int KEY_m = 109;
12210 enum int KEY_mabovedot = 16784961;
12211 enum int KEY_macron = 175;
12212 enum int KEY_malesymbol = 2807;
12213 enum int KEY_maltesecross = 2800;
12214 enum int KEY_marker = 2751;
12215 enum int KEY_masculine = 186;
12216 enum int KEY_minus = 45;
12217 enum int KEY_minutes = 2774;
12218 enum int KEY_mu = 181;
12219 enum int KEY_multiply = 215;
12220 enum int KEY_musicalflat = 2806;
12221 enum int KEY_musicalsharp = 2805;
12222 enum int KEY_n = 110;
12223 enum int KEY_nabla = 2245;
12224 enum int KEY_nacute = 497;
12225 enum int KEY_ncaron = 498;
12226 enum int KEY_ncedilla = 1009;
12227 enum int KEY_ninesubscript = 16785545;
12228 enum int KEY_ninesuperior = 16785529;
12229 enum int KEY_nl = 2536;
12230 enum int KEY_nobreakspace = 160;
12231 enum int KEY_notapproxeq = 16785991;
12232 enum int KEY_notelementof = 16785929;
12233 enum int KEY_notequal = 2237;
12234 enum int KEY_notidentical = 16786018;
12235 enum int KEY_notsign = 172;
12236 enum int KEY_ntilde = 241;
12237 enum int KEY_numbersign = 35;
12238 enum int KEY_numerosign = 1712;
12239 enum int KEY_o = 111;
12240 enum int KEY_oacute = 243;
12241 enum int KEY_obarred = 16777845;
12242 enum int KEY_obelowdot = 16785101;
12243 enum int KEY_ocaron = 16777682;
12244 enum int KEY_ocircumflex = 244;
12245 enum int KEY_ocircumflexacute = 16785105;
12246 enum int KEY_ocircumflexbelowdot = 16785113;
12247 enum int KEY_ocircumflexgrave = 16785107;
12248 enum int KEY_ocircumflexhook = 16785109;
12249 enum int KEY_ocircumflextilde = 16785111;
12250 enum int KEY_odiaeresis = 246;
12251 enum int KEY_odoubleacute = 501;
12252 enum int KEY_oe = 5053;
12253 enum int KEY_ogonek = 434;
12254 enum int KEY_ograve = 242;
12255 enum int KEY_ohook = 16785103;
12256 enum int KEY_ohorn = 16777633;
12257 enum int KEY_ohornacute = 16785115;
12258 enum int KEY_ohornbelowdot = 16785123;
12259 enum int KEY_ohorngrave = 16785117;
12260 enum int KEY_ohornhook = 16785119;
12261 enum int KEY_ohorntilde = 16785121;
12262 enum int KEY_omacron = 1010;
12263 enum int KEY_oneeighth = 2755;
12264 enum int KEY_onefifth = 2738;
12265 enum int KEY_onehalf = 189;
12266 enum int KEY_onequarter = 188;
12267 enum int KEY_onesixth = 2742;
12268 enum int KEY_onesubscript = 16785537;
12269 enum int KEY_onesuperior = 185;
12270 enum int KEY_onethird = 2736;
12271 enum int KEY_ooblique = 248;
12272 enum int KEY_openrectbullet = 2786;
12273 enum int KEY_openstar = 2789;
12274 enum int KEY_opentribulletdown = 2788;
12275 enum int KEY_opentribulletup = 2787;
12276 enum int KEY_ordfeminine = 170;
12277 enum int KEY_oslash = 248;
12278 enum int KEY_otilde = 245;
12279 enum int KEY_overbar = 3008;
12280 enum int KEY_overline = 1150;
12281 enum int KEY_p = 112;
12282 enum int KEY_pabovedot = 16784983;
12283 enum int KEY_paragraph = 182;
12284 enum int KEY_parenleft = 40;
12285 enum int KEY_parenright = 41;
12286 enum int KEY_partdifferential = 16785922;
12287 enum int KEY_partialderivative = 2287;
12288 enum int KEY_percent = 37;
12289 enum int KEY_period = 46;
12290 enum int KEY_periodcentered = 183;
12291 enum int KEY_phonographcopyright = 2811;
12292 enum int KEY_plus = 43;
12293 enum int KEY_plusminus = 177;
12294 enum int KEY_prescription = 2772;
12295 enum int KEY_prolongedsound = 1200;
12296 enum int KEY_punctspace = 2726;
12297 enum int KEY_q = 113;
12298 enum int KEY_quad = 3020;
12299 enum int KEY_question = 63;
12300 enum int KEY_questiondown = 191;
12301 enum int KEY_quotedbl = 34;
12302 enum int KEY_quoteleft = 96;
12303 enum int KEY_quoteright = 39;
12304 enum int KEY_r = 114;
12305 enum int KEY_racute = 480;
12306 enum int KEY_radical = 2262;
12307 enum int KEY_rcaron = 504;
12308 enum int KEY_rcedilla = 947;
12309 enum int KEY_registered = 174;
12310 enum int KEY_rightanglebracket = 2750;
12311 enum int KEY_rightarrow = 2301;
12312 enum int KEY_rightcaret = 2982;
12313 enum int KEY_rightdoublequotemark = 2771;
12314 enum int KEY_rightmiddlecurlybrace = 2224;
12315 enum int KEY_rightmiddlesummation = 2231;
12316 enum int KEY_rightopentriangle = 2765;
12317 enum int KEY_rightpointer = 2795;
12318 enum int KEY_rightshoe = 3032;
12319 enum int KEY_rightsinglequotemark = 2769;
12320 enum int KEY_rightt = 2549;
12321 enum int KEY_righttack = 3068;
12322 enum int KEY_s = 115;
12323 enum int KEY_sabovedot = 16784993;
12324 enum int KEY_sacute = 438;
12325 enum int KEY_scaron = 441;
12326 enum int KEY_scedilla = 442;
12327 enum int KEY_schwa = 16777817;
12328 enum int KEY_scircumflex = 766;
12329 enum int KEY_script_switch = 65406;
12330 enum int KEY_seconds = 2775;
12331 enum int KEY_section = 167;
12332 enum int KEY_semicolon = 59;
12333 enum int KEY_semivoicedsound = 1247;
12334 enum int KEY_seveneighths = 2758;
12335 enum int KEY_sevensubscript = 16785543;
12336 enum int KEY_sevensuperior = 16785527;
12337 enum int KEY_signaturemark = 2762;
12338 enum int KEY_signifblank = 2732;
12339 enum int KEY_similarequal = 2249;
12340 enum int KEY_singlelowquotemark = 2813;
12341 enum int KEY_sixsubscript = 16785542;
12342 enum int KEY_sixsuperior = 16785526;
12343 enum int KEY_slash = 47;
12344 enum int KEY_soliddiamond = 2528;
12345 enum int KEY_space = 32;
12346 enum int KEY_squareroot = 16785946;
12347 enum int KEY_ssharp = 223;
12348 enum int KEY_sterling = 163;
12349 enum int KEY_stricteq = 16786019;
12350 enum int KEY_t = 116;
12351 enum int KEY_tabovedot = 16785003;
12352 enum int KEY_tcaron = 443;
12353 enum int KEY_tcedilla = 510;
12354 enum int KEY_telephone = 2809;
12355 enum int KEY_telephonerecorder = 2810;
12356 enum int KEY_therefore = 2240;
12357 enum int KEY_thinspace = 2727;
12358 enum int KEY_thorn = 254;
12359 enum int KEY_threeeighths = 2756;
12360 enum int KEY_threefifths = 2740;
12361 enum int KEY_threequarters = 190;
12362 enum int KEY_threesubscript = 16785539;
12363 enum int KEY_threesuperior = 179;
12364 enum int KEY_tintegral = 16785965;
12365 enum int KEY_topintegral = 2212;
12366 enum int KEY_topleftparens = 2219;
12367 enum int KEY_topleftradical = 2210;
12368 enum int KEY_topleftsqbracket = 2215;
12369 enum int KEY_topleftsummation = 2225;
12370 enum int KEY_toprightparens = 2221;
12371 enum int KEY_toprightsqbracket = 2217;
12372 enum int KEY_toprightsummation = 2229;
12373 enum int KEY_topt = 2551;
12374 enum int KEY_topvertsummationconnector = 2227;
12375 enum int KEY_trademark = 2761;
12376 enum int KEY_trademarkincircle = 2763;
12377 enum int KEY_tslash = 956;
12378 enum int KEY_twofifths = 2739;
12379 enum int KEY_twosubscript = 16785538;
12380 enum int KEY_twosuperior = 178;
12381 enum int KEY_twothirds = 2737;
12382 enum int KEY_u = 117;
12383 enum int KEY_uacute = 250;
12384 enum int KEY_ubelowdot = 16785125;
12385 enum int KEY_ubreve = 765;
12386 enum int KEY_ucircumflex = 251;
12387 enum int KEY_udiaeresis = 252;
12388 enum int KEY_udoubleacute = 507;
12389 enum int KEY_ugrave = 249;
12390 enum int KEY_uhook = 16785127;
12391 enum int KEY_uhorn = 16777648;
12392 enum int KEY_uhornacute = 16785129;
12393 enum int KEY_uhornbelowdot = 16785137;
12394 enum int KEY_uhorngrave = 16785131;
12395 enum int KEY_uhornhook = 16785133;
12396 enum int KEY_uhorntilde = 16785135;
12397 enum int KEY_umacron = 1022;
12398 enum int KEY_underbar = 3014;
12399 enum int KEY_underscore = 95;
12400 enum int KEY_union = 2269;
12401 enum int KEY_uogonek = 1017;
12402 enum int KEY_uparrow = 2300;
12403 enum int KEY_upcaret = 2985;
12404 enum int KEY_upleftcorner = 2540;
12405 enum int KEY_uprightcorner = 2539;
12406 enum int KEY_upshoe = 3011;
12407 enum int KEY_upstile = 3027;
12408 enum int KEY_uptack = 3022;
12409 enum int KEY_uring = 505;
12410 enum int KEY_utilde = 1021;
12411 enum int KEY_v = 118;
12412 enum int KEY_variation = 2241;
12413 enum int KEY_vertbar = 2552;
12414 enum int KEY_vertconnector = 2214;
12415 enum int KEY_voicedsound = 1246;
12416 enum int KEY_vt = 2537;
12417 enum int KEY_w = 119;
12418 enum int KEY_wacute = 16785027;
12419 enum int KEY_wcircumflex = 16777589;
12420 enum int KEY_wdiaeresis = 16785029;
12421 enum int KEY_wgrave = 16785025;
12422 enum int KEY_x = 120;
12423 enum int KEY_xabovedot = 16785035;
12424 enum int KEY_y = 121;
12425 enum int KEY_yacute = 253;
12426 enum int KEY_ybelowdot = 16785141;
12427 enum int KEY_ycircumflex = 16777591;
12428 enum int KEY_ydiaeresis = 255;
12429 enum int KEY_yen = 165;
12430 enum int KEY_ygrave = 16785139;
12431 enum int KEY_yhook = 16785143;
12432 enum int KEY_ytilde = 16785145;
12433 enum int KEY_z = 122;
12434 enum int KEY_zabovedot = 447;
12435 enum int KEY_zacute = 444;
12436 enum int KEY_zcaron = 446;
12437 enum int KEY_zerosubscript = 16785536;
12438 enum int KEY_zerosuperior = 16785520;
12439 enum int KEY_zstroke = 16777654;
12440 enum int KP_0 = 65456;
12441 enum int KP_1 = 65457;
12442 enum int KP_2 = 65458;
12443 enum int KP_3 = 65459;
12444 enum int KP_4 = 65460;
12445 enum int KP_5 = 65461;
12446 enum int KP_6 = 65462;
12447 enum int KP_7 = 65463;
12448 enum int KP_8 = 65464;
12449 enum int KP_9 = 65465;
12450 enum int KP_Add = 65451;
12451 enum int KP_Begin = 65437;
12452 enum int KP_Decimal = 65454;
12453 enum int KP_Delete = 65439;
12454 enum int KP_Divide = 65455;
12455 enum int KP_Down = 65433;
12456 enum int KP_End = 65436;
12457 enum int KP_Enter = 65421;
12458 enum int KP_Equal = 65469;
12459 enum int KP_F1 = 65425;
12460 enum int KP_F2 = 65426;
12461 enum int KP_F3 = 65427;
12462 enum int KP_F4 = 65428;
12463 enum int KP_Home = 65429;
12464 enum int KP_Insert = 65438;
12465 enum int KP_Left = 65430;
12466 enum int KP_Multiply = 65450;
12467 enum int KP_Next = 65435;
12468 enum int KP_Page_Down = 65435;
12469 enum int KP_Page_Up = 65434;
12470 enum int KP_Prior = 65434;
12471 enum int KP_Right = 65432;
12472 enum int KP_Separator = 65452;
12473 enum int KP_Space = 65408;
12474 enum int KP_Subtract = 65453;
12475 enum int KP_Tab = 65417;
12476 enum int KP_Up = 65431;
12477 enum int Kana_Lock = 65325;
12478 enum int Kana_Shift = 65326;
12479 enum int Kanji = 65313;
12480 enum int Kanji_Bangou = 65335;
12481 enum int Katakana = 65318;
12482 enum int KbdBrightnessDown = 269025030;
12483 enum int KbdBrightnessUp = 269025029;
12484 enum int KbdLightOnOff = 269025028;
12485 enum int Kcedilla = 979;
12486 // Key event
12487 struct KeyEvent /* Version 0.2 */ {
12488 EventType type;
12489 uint time;
12490 EventFlags flags;
12491 Stage* stage;
12492 Actor* source;
12493 ModifierType modifier_state;
12494 uint keyval;
12495 ushort hardware_keycode;
12496 dchar unicode_value;
12497 InputDevice* device;
12500 // Point in a path behaviour.
12501 struct Knot /* Version 0.2 */ {
12502 int x, y;
12505 // VERSION: 0.2
12506 // Makes an allocated copy of a knot.
12507 // RETURNS: the copied knot.
12508 Knot* /*new*/ copy()() nothrow {
12509 return clutter_knot_copy(&this);
12512 // VERSION: 0.2
12513 // Compares to knot and checks if the point to the same location.
12514 // RETURNS: %TRUE if the knots point to the same location.
12515 // <knot_b>: Second knot
12516 int equal(AT0)(AT0 /*Knot*/ knot_b) nothrow {
12517 return clutter_knot_equal(&this, UpCast!(Knot*)(knot_b));
12520 // VERSION: 0.2
12521 // Frees the memory of an allocated knot.
12522 void free()() nothrow {
12523 clutter_knot_free(&this);
12527 enum int Korean_Won = 3839;
12528 enum int L = 76;
12529 enum int L1 = 65480;
12530 enum int L10 = 65489;
12531 enum int L2 = 65481;
12532 enum int L3 = 65482;
12533 enum int L4 = 65483;
12534 enum int L5 = 65484;
12535 enum int L6 = 65485;
12536 enum int L7 = 65486;
12537 enum int L8 = 65487;
12538 enum int L9 = 65488;
12539 enum int Lacute = 453;
12540 enum int Last_Virtual_Screen = 65236;
12541 enum int Launch0 = 269025088;
12542 enum int Launch1 = 269025089;
12543 enum int Launch2 = 269025090;
12544 enum int Launch3 = 269025091;
12545 enum int Launch4 = 269025092;
12546 enum int Launch5 = 269025093;
12547 enum int Launch6 = 269025094;
12548 enum int Launch7 = 269025095;
12549 enum int Launch8 = 269025096;
12550 enum int Launch9 = 269025097;
12551 enum int LaunchA = 269025098;
12552 enum int LaunchB = 269025099;
12553 enum int LaunchC = 269025100;
12554 enum int LaunchD = 269025101;
12555 enum int LaunchE = 269025102;
12556 enum int LaunchF = 269025103;
12558 // The #ClutterLayoutManager structure contains only private data
12559 // and should be accessed using the provided API
12560 struct LayoutManager /* : GObject.InitiallyUnowned */ /* Version 1.2 */ {
12561 alias parent_instance this;
12562 alias parent_instance super_;
12563 alias parent_instance initiallyunowned;
12564 GObject2.InitiallyUnowned parent_instance;
12565 private void* dummy;
12568 // VERSION: 1.2
12569 // Allocates the children of @container given an area
12571 // See also clutter_actor_allocate()
12572 // <container>: the #ClutterContainer using @manager
12573 // <allocation>: the #ClutterActorBox containing the allocated area of @container
12574 // <flags>: the allocation flags
12575 void allocate(AT0, AT1)(AT0 /*Container*/ container, AT1 /*ActorBox*/ allocation, AllocationFlags flags) nothrow {
12576 clutter_layout_manager_allocate(&this, UpCast!(Container*)(container), UpCast!(ActorBox*)(allocation), flags);
12579 // VERSION: 1.2
12580 // Begins an animation of @duration milliseconds, using the provided
12581 // easing @mode
12583 // The easing mode can be specified either as a #ClutterAnimationMode
12584 // or as a logical id returned by clutter_alpha_register_func()
12586 // The result of this function depends on the @manager implementation
12588 // layout manager; the returned instance is owned by the layout
12589 // manager and should not be unreferenced
12590 // RETURNS: The #ClutterAlpha created by the
12591 // <duration>: the duration of the animation, in milliseconds
12592 // <mode>: the easing mode of the animation
12593 Alpha* begin_animation()(uint duration, c_ulong mode) nothrow {
12594 return clutter_layout_manager_begin_animation(&this, duration, mode);
12597 // Unintrospectable method: child_get() / clutter_layout_manager_child_get()
12598 // VERSION: 1.2
12599 // Retrieves the values for a list of properties out of the
12600 // #ClutterLayoutMeta created by @manager and attached to the
12601 // child of a @container
12602 // <container>: a #ClutterContainer using @manager
12603 // <actor>: a #ClutterActor child of @container
12604 // <first_property>: the name of the first property
12605 /+ Not available -- variadic methods unsupported - use the C function directly.
12606 alias clutter_layout_manager_child_get child_get; // Variadic
12609 // VERSION: 1.2
12610 // Gets a property on the #ClutterLayoutMeta created by @manager and
12611 // attached to a child of @container
12613 // The #GValue must already be initialized to the type of the property
12614 // and has to be unset with g_value_unset() after extracting the real
12615 // value out of it
12616 // <container>: a #ClutterContainer using @manager
12617 // <actor>: a #ClutterActor child of @container
12618 // <property_name>: the name of the property to get
12619 // <value>: a #GValue with the value of the property to get
12620 void child_get_property(AT0, AT1, AT2, AT3)(AT0 /*Container*/ container, AT1 /*Actor*/ actor, AT2 /*char*/ property_name, AT3 /*GObject2.Value*/ value) nothrow {
12621 clutter_layout_manager_child_get_property(&this, UpCast!(Container*)(container), UpCast!(Actor*)(actor), toCString!(char*)(property_name), UpCast!(GObject2.Value*)(value));
12624 // Unintrospectable method: child_set() / clutter_layout_manager_child_set()
12625 // VERSION: 1.2
12626 // Sets a list of properties and their values on the #ClutterLayoutMeta
12627 // associated by @manager to a child of @container
12629 // Languages bindings should use clutter_layout_manager_child_set_property()
12630 // instead
12631 // <container>: a #ClutterContainer using @manager
12632 // <actor>: a #ClutterActor child of @container
12633 // <first_property>: the first property name
12634 /+ Not available -- variadic methods unsupported - use the C function directly.
12635 alias clutter_layout_manager_child_set child_set; // Variadic
12638 // VERSION: 1.2
12639 // Sets a property on the #ClutterLayoutMeta created by @manager and
12640 // attached to a child of @container
12641 // <container>: a #ClutterContainer using @manager
12642 // <actor>: a #ClutterActor child of @container
12643 // <property_name>: the name of the property to set
12644 // <value>: a #GValue with the value of the property to set
12645 void child_set_property(AT0, AT1, AT2, AT3)(AT0 /*Container*/ container, AT1 /*Actor*/ actor, AT2 /*char*/ property_name, AT3 /*GObject2.Value*/ value) nothrow {
12646 clutter_layout_manager_child_set_property(&this, UpCast!(Container*)(container), UpCast!(Actor*)(actor), toCString!(char*)(property_name), UpCast!(GObject2.Value*)(value));
12649 // VERSION: 1.2
12650 // Ends an animation started by clutter_layout_manager_begin_animation()
12652 // The result of this call depends on the @manager implementation
12653 void end_animation()() nothrow {
12654 clutter_layout_manager_end_animation(&this);
12657 // VERSION: 1.2
12658 // Retrieves the #GParamSpec for the layout property @name inside
12659 // the #ClutterLayoutMeta sub-class used by @manager
12661 // or %NULL if no property with that name exists. The returned
12662 // #GParamSpec is owned by the layout manager and should not be
12663 // modified or freed
12664 // RETURNS: a #GParamSpec describing the property,
12665 // <name>: the name of the property
12666 GObject2.ParamSpec* find_child_property(AT0)(AT0 /*char*/ name) nothrow {
12667 return clutter_layout_manager_find_child_property(&this, toCString!(char*)(name));
12670 // VERSION: 1.2
12671 // Retrieves the progress of the animation, if one has been started by
12672 // clutter_layout_manager_begin_animation()
12674 // The returned value has the same semantics of the #ClutterAlpha:alpha
12675 // value
12676 // RETURNS: the progress of the animation
12677 double get_animation_progress()() nothrow {
12678 return clutter_layout_manager_get_animation_progress(&this);
12681 // VERSION: 1.0
12682 // Retrieves the #ClutterLayoutMeta that the layout @manager associated
12683 // to the @actor child of @container, eventually by creating one if the
12684 // #ClutterLayoutManager supports layout properties
12686 // #ClutterLayoutManager does not have layout properties. The returned
12687 // layout meta instance is owned by the #ClutterLayoutManager and it
12688 // should not be unreferenced
12689 // RETURNS: a #ClutterLayoutMeta, or %NULL if the
12690 // <container>: a #ClutterContainer using @manager
12691 // <actor>: a #ClutterActor child of @container
12692 LayoutMeta* get_child_meta(AT0, AT1)(AT0 /*Container*/ container, AT1 /*Actor*/ actor) nothrow {
12693 return clutter_layout_manager_get_child_meta(&this, UpCast!(Container*)(container), UpCast!(Actor*)(actor));
12696 // VERSION: 1.2
12697 // Computes the minimum and natural heights of the @container according
12698 // to @manager.
12700 // See also clutter_actor_get_preferred_height()
12701 // <container>: the #ClutterContainer using @manager
12702 // <for_width>: the width for which the height should be computed, or -1
12703 // <min_height_p>: return location for the minimum height of the layout, or %NULL
12704 // <nat_height_p>: return location for the natural height of the layout, or %NULL
12705 void get_preferred_height(AT0, AT1, AT2)(AT0 /*Container*/ container, float for_width, /*out*/ AT1 /*float*/ min_height_p=null, /*out*/ AT2 /*float*/ nat_height_p=null) nothrow {
12706 clutter_layout_manager_get_preferred_height(&this, UpCast!(Container*)(container), for_width, UpCast!(float*)(min_height_p), UpCast!(float*)(nat_height_p));
12709 // VERSION: 1.2
12710 // Computes the minimum and natural widths of the @container according
12711 // to @manager.
12713 // See also clutter_actor_get_preferred_width()
12714 // <container>: the #ClutterContainer using @manager
12715 // <for_height>: the height for which the width should be computed, or -1
12716 // <min_width_p>: return location for the minimum width of the layout, or %NULL
12717 // <nat_width_p>: return location for the natural width of the layout, or %NULL
12718 void get_preferred_width(AT0, AT1, AT2)(AT0 /*Container*/ container, float for_height, /*out*/ AT1 /*float*/ min_width_p=null, /*out*/ AT2 /*float*/ nat_width_p=null) nothrow {
12719 clutter_layout_manager_get_preferred_width(&this, UpCast!(Container*)(container), for_height, UpCast!(float*)(min_width_p), UpCast!(float*)(nat_width_p));
12722 // VERSION: 1.2
12723 // Emits the #ClutterLayoutManager::layout-changed signal on @manager
12725 // This function should only be called by implementations of the
12726 // #ClutterLayoutManager class
12727 void layout_changed()() nothrow {
12728 clutter_layout_manager_layout_changed(&this);
12731 // VERSION: 1.2
12732 // Retrieves all the #GParamSpec<!-- -->s for the layout properties
12733 // stored inside the #ClutterLayoutMeta sub-class used by @manager
12735 // %NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the
12736 // resources allocated for the array
12737 // RETURNS: the newly-allocated,
12738 // <n_pspecs>: return location for the number of returned #GParamSpec<!-- -->s
12739 GObject2.ParamSpec** /*new*/ list_child_properties(AT0)(/*out*/ AT0 /*uint*/ n_pspecs) nothrow {
12740 return clutter_layout_manager_list_child_properties(&this, UpCast!(uint*)(n_pspecs));
12743 // VERSION: 1.2
12744 // If the #ClutterLayoutManager sub-class allows it, allow
12745 // adding a weak reference of the @container using @manager
12746 // from within the layout manager
12748 // The layout manager should not increase the reference
12749 // count of the @container
12750 // <container>: a #ClutterContainer using @manager
12751 void set_container(AT0)(AT0 /*Container*/ container=null) nothrow {
12752 clutter_layout_manager_set_container(&this, UpCast!(Container*)(container));
12755 // VERSION: 1.2
12756 // The ::layout-changed signal is emitted each time a layout manager
12757 // has been changed. Every #ClutterActor using the @manager instance
12758 // as a layout manager should connect a handler to the ::layout-changed
12759 // signal and queue a relayout on themselves:
12761 // |[
12762 // static void layout_changed (ClutterLayoutManager *manager,
12763 // ClutterActor *self)
12764 // {
12765 // clutter_actor_queue_relayout (self);
12766 // }
12767 // ...
12768 // self->manager = g_object_ref_sink (manager);
12769 // g_signal_connect (self->manager, "layout-changed",
12770 // G_CALLBACK (layout_changed),
12771 // self);
12772 // ]|
12774 // Sub-classes of #ClutterLayoutManager that implement a layout that
12775 // can be controlled or changed using parameters should emit the
12776 // ::layout-changed signal whenever one of the parameters changes,
12777 // by using clutter_layout_manager_layout_changed().
12778 extern (C) alias static void function (LayoutManager* this_, void* user_data=null) nothrow signal_layout_changed;
12780 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
12781 return super_.signal_connect!name(cb, data, cf);
12784 ulong signal_connect(string name:"layout-changed", CB/*:signal_layout_changed*/)
12785 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
12786 if (is(typeof(cb)==signal_layout_changed)||_ttmm!(CB, signal_layout_changed)()) {
12787 return signal_connect_data!()(&this, cast(char*)"layout-changed",
12788 cast(GObject2.Callback)cb, data, null, cf);
12793 // The #ClutterLayoutManagerClass structure contains only private
12794 // data and should be accessed using the provided API
12795 struct LayoutManagerClass /* Version 1.2 */ {
12796 private GObject2.InitiallyUnownedClass parent_class;
12798 // <container>: the #ClutterContainer using @manager
12799 // <for_height>: the height for which the width should be computed, or -1
12800 // <min_width_p>: return location for the minimum width of the layout, or %NULL
12801 // <nat_width_p>: return location for the natural width of the layout, or %NULL
12802 extern (C) void function (LayoutManager* manager, Container* container, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* nat_width_p=null) nothrow get_preferred_width;
12804 // <container>: the #ClutterContainer using @manager
12805 // <for_width>: the width for which the height should be computed, or -1
12806 // <min_height_p>: return location for the minimum height of the layout, or %NULL
12807 // <nat_height_p>: return location for the natural height of the layout, or %NULL
12808 extern (C) void function (LayoutManager* manager, Container* container, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* nat_height_p=null) nothrow get_preferred_height;
12810 // <container>: the #ClutterContainer using @manager
12811 // <allocation>: the #ClutterActorBox containing the allocated area of @container
12812 // <flags>: the allocation flags
12813 extern (C) void function (LayoutManager* manager, Container* container, ActorBox* allocation, AllocationFlags flags) nothrow allocate;
12814 // <container>: a #ClutterContainer using @manager
12815 extern (C) void function (LayoutManager* manager, Container* container=null) nothrow set_container;
12816 extern (C) Type function (LayoutManager* manager) nothrow get_child_meta_type;
12817 // Unintrospectable functionp: create_child_meta() / ()
12818 extern (C) LayoutMeta* function (LayoutManager* manager, Container* container, Actor* actor) nothrow create_child_meta;
12820 // RETURNS: The #ClutterAlpha created by the
12821 // <duration>: the duration of the animation, in milliseconds
12822 // <mode>: the easing mode of the animation
12823 extern (C) Alpha* function (LayoutManager* manager, uint duration, c_ulong mode) nothrow begin_animation;
12824 // RETURNS: the progress of the animation
12825 extern (C) double function (LayoutManager* manager) nothrow get_animation_progress;
12826 extern (C) void function (LayoutManager* manager) nothrow end_animation;
12827 extern (C) void function (LayoutManager* manager) nothrow layout_changed;
12828 extern (C) void function () nothrow _clutter_padding_1;
12829 extern (C) void function () nothrow _clutter_padding_2;
12830 extern (C) void function () nothrow _clutter_padding_3;
12831 extern (C) void function () nothrow _clutter_padding_4;
12832 extern (C) void function () nothrow _clutter_padding_5;
12833 extern (C) void function () nothrow _clutter_padding_6;
12834 extern (C) void function () nothrow _clutter_padding_7;
12835 extern (C) void function () nothrow _clutter_padding_8;
12839 // Sub-class of #ClutterChildMeta specific for layout managers
12841 // A #ClutterLayoutManager sub-class should create a #ClutterLayoutMeta
12842 // instance by overriding the #ClutterLayoutManager::create_child_meta()
12843 // virtual function
12844 struct LayoutMeta /* : ChildMeta */ /* Version 1.2 */ {
12845 alias parent_instance this;
12846 alias parent_instance super_;
12847 alias parent_instance childmeta;
12848 ChildMeta parent_instance;
12849 LayoutManager* manager;
12850 private int dummy0;
12851 private void* dummy1;
12854 // VERSION: 1.2
12855 // Retrieves the actor wrapped by @data
12856 // RETURNS: a #ClutterLayoutManager
12857 LayoutManager* get_manager()() nothrow {
12858 return clutter_layout_meta_get_manager(&this);
12863 // The #ClutterLayoutMetaClass contains only private data and
12864 // should never be accessed directly
12865 struct LayoutMetaClass /* Version 1.2 */ {
12866 private ChildMetaClass parent_class;
12867 extern (C) void function () nothrow _clutter_padding1;
12868 extern (C) void function () nothrow _clutter_padding2;
12869 extern (C) void function () nothrow _clutter_padding3;
12870 extern (C) void function () nothrow _clutter_padding4;
12873 enum int Lbelowdot = 16784950;
12874 enum int Lcaron = 421;
12875 enum int Lcedilla = 934;
12876 enum int Left = 65361;
12877 enum int LightBulb = 269025077;
12878 enum int Linefeed = 65290;
12879 enum int LiraSign = 16785572;
12880 // The #ClutterListModel struct contains only private data.
12881 struct ListModel /* : Model */ /* Version 0.6 */ {
12882 mixin Scriptable.__interface__;
12883 alias parent_instance this;
12884 alias parent_instance super_;
12885 alias parent_instance model;
12886 Model parent_instance;
12887 private ListModelPrivate* priv;
12890 // Unintrospectable constructor: new() / clutter_list_model_new()
12891 // VERSION: 0.6
12892 // Creates a new default model with @n_columns columns with the types
12893 // and names passed in.
12895 // For example:
12897 // <informalexample><programlisting>
12898 // model = clutter_list_model_new (3,
12899 // G_TYPE_INT, "Score",
12900 // G_TYPE_STRING, "Team",
12901 // GDK_TYPE_PIXBUF, "Logo");
12902 // </programlisting></informalexample>
12904 // will create a new #ClutterModel with three columns of type int,
12905 // string and #GdkPixbuf respectively.
12907 // Note that the name of the column can be set to %NULL, in which case
12908 // the canonical name of the type held by the column will be used as
12909 // the title.
12910 // RETURNS: a new #ClutterListModel
12911 // <n_columns>: number of columns in the model
12912 alias clutter_list_model_new new_; // Variadic
12914 // VERSION: 0.6
12915 // Non-vararg version of clutter_list_model_new(). This function is
12916 // useful for language bindings.
12917 // RETURNS: a new default #ClutterModel
12918 // <n_columns>: number of columns in the model
12919 // <types>: an array of #GType types for the columns, from first to last
12920 // <names>: an array of names for the columns, from first to last
12921 static ListModel* /*new*/ newv(AT0, AT1)(uint n_columns, AT0 /*Type*/ types, AT1 /*char*/ names) nothrow {
12922 return clutter_list_model_newv(n_columns, UpCast!(Type*)(types), toCString!(char*)(names));
12924 static auto opCall(AT0, AT1)(uint n_columns, AT0 /*Type*/ types, AT1 /*char*/ names) {
12925 return clutter_list_model_newv(n_columns, UpCast!(Type*)(types), toCString!(char*)(names));
12929 // The #ClutterListModelClass struct contains only private data.
12930 struct ListModelClass /* Version 0.6 */ {
12931 private ModelClass parent_class;
12934 struct ListModelPrivate {
12937 enum int LogGrabInfo = 269024805;
12938 enum int LogOff = 269025121;
12939 enum int LogWindowTree = 269024804;
12940 // The states for the #ClutterClikAction::long-press signal.
12941 enum LongPressState /* Version 1.8 */ {
12942 QUERY = 0,
12943 ACTIVATE = 1,
12944 CANCEL = 2
12946 enum int Lstroke = 419;
12947 enum int M = 77;
12948 enum int MAJOR_VERSION = 1;
12949 enum int MICRO_VERSION = 11;
12950 enum int MINOR_VERSION = 9;
12951 enum int Mabovedot = 16784960;
12952 enum int Macedonia_DSE = 1717;
12953 enum int Macedonia_GJE = 1714;
12954 enum int Macedonia_KJE = 1724;
12955 enum int Macedonia_dse = 1701;
12956 enum int Macedonia_gje = 1698;
12957 enum int Macedonia_kje = 1708;
12958 enum int Mae_Koho = 65342;
12959 enum int Mail = 269025049;
12960 enum int MailForward = 269025168;
12961 // A representation of the components of a margin.
12962 struct Margin /* Version 1.10 */ {
12963 float left, right, top, bottom;
12966 // VERSION: 1.10
12967 // Creates a new #ClutterMargin.
12969 // clutter_margin_free() to free the resources associated with it when
12970 // done.
12971 // RETURNS: a newly allocated #ClutterMargin. Use
12972 static Margin* /*new*/ new_()() nothrow {
12973 return clutter_margin_new();
12975 static auto opCall()() {
12976 return clutter_margin_new();
12979 // VERSION: 1.10
12980 // Creates a new #ClutterMargin and copies the contents of @margin_ into
12981 // the newly created structure.
12982 // RETURNS: a copy of the #ClutterMargin.
12983 Margin* /*new*/ copy()() nothrow {
12984 return clutter_margin_copy(&this);
12987 // VERSION: 1.10
12988 // Frees the resources allocated by clutter_margin_new() and
12989 // clutter_margin_copy().
12990 void free()() nothrow {
12991 clutter_margin_free(&this);
12995 enum int Market = 269025122;
12996 enum int Massyo = 65324;
12998 // #ClutterMedia is an opaque structure whose members cannot be directly
12999 // accessed
13000 struct Media /* Interface */ /* Version 0.2 */ {
13001 mixin template __interface__() {
13002 // VERSION: 1.0
13003 // Retrieves the playback volume of @media.
13004 // RETURNS: The playback volume between 0.0 and 1.0
13005 double get_audio_volume()() nothrow {
13006 return clutter_media_get_audio_volume(cast(Media*)&this);
13009 // VERSION: 1.0
13010 // Retrieves the amount of the stream that is buffered.
13011 // RETURNS: the fill level, between 0.0 and 1.0
13012 double get_buffer_fill()() nothrow {
13013 return clutter_media_get_buffer_fill(cast(Media*)&this);
13016 // VERSION: 0.2
13017 // Retrieves whether @media is seekable or not.
13018 // RETURNS: %TRUE if @media can seek, %FALSE otherwise.
13019 int get_can_seek()() nothrow {
13020 return clutter_media_get_can_seek(cast(Media*)&this);
13023 // VERSION: 0.2
13024 // Retrieves the duration of the media stream that @media represents.
13025 // RETURNS: the duration of the media stream, in seconds
13026 double get_duration()() nothrow {
13027 return clutter_media_get_duration(cast(Media*)&this);
13030 // VERSION: 0.2
13031 // Retrieves the playing status of @media.
13032 // RETURNS: %TRUE if playing, %FALSE if stopped.
13033 int get_playing()() nothrow {
13034 return clutter_media_get_playing(cast(Media*)&this);
13037 // VERSION: 1.0
13038 // Retrieves the playback progress of @media.
13039 // RETURNS: the playback progress, between 0.0 and 1.0
13040 double get_progress()() nothrow {
13041 return clutter_media_get_progress(cast(Media*)&this);
13044 // VERSION: 1.2
13045 // Retrieves the font name currently used.
13047 // to free the returned string
13048 // RETURNS: a string containing the font name. Use g_free()
13049 char* /*new*/ get_subtitle_font_name()() nothrow {
13050 return clutter_media_get_subtitle_font_name(cast(Media*)&this);
13053 // VERSION: 1.2
13054 // Retrieves the URI of the subtitle file in use.
13056 // to free the returned string
13057 // RETURNS: the URI of the subtitle file. Use g_free()
13058 char* /*new*/ get_subtitle_uri()() nothrow {
13059 return clutter_media_get_subtitle_uri(cast(Media*)&this);
13062 // VERSION: 0.2
13063 // Retrieves the URI from @media.
13065 // to free the returned string
13066 // RETURNS: the URI of the media stream. Use g_free()
13067 char* /*new*/ get_uri()() nothrow {
13068 return clutter_media_get_uri(cast(Media*)&this);
13071 // VERSION: 1.0
13072 // Sets the playback volume of @media to @volume.
13073 // <volume>: the volume as a double between 0.0 and 1.0
13074 void set_audio_volume()(double volume) nothrow {
13075 clutter_media_set_audio_volume(cast(Media*)&this, volume);
13078 // VERSION: 0.2
13079 // Sets the source of @media using a file path.
13080 // <filename>: A filename
13081 void set_filename(AT0)(AT0 /*char*/ filename) nothrow {
13082 clutter_media_set_filename(cast(Media*)&this, toCString!(char*)(filename));
13085 // VERSION: 0.2
13086 // Starts or stops playing of @media.
13087 // The implementation might be asynchronous, so the way to know whether
13088 // the actual playing state of the @media is to use the #GObject::notify
13089 // signal on the #ClutterMedia:playing property and then retrieve the
13090 // current state with clutter_media_get_playing(). ClutterGstVideoTexture
13091 // in clutter-gst is an example of such an asynchronous implementation.
13092 // <playing>: %TRUE to start playing
13093 void set_playing()(int playing) nothrow {
13094 clutter_media_set_playing(cast(Media*)&this, playing);
13097 // VERSION: 1.0
13098 // Sets the playback progress of @media. The @progress is
13099 // a normalized value between 0.0 (begin) and 1.0 (end).
13100 // <progress>: the progress of the playback, between 0.0 and 1.0
13101 void set_progress()(double progress) nothrow {
13102 clutter_media_set_progress(cast(Media*)&this, progress);
13105 // VERSION: 1.2
13106 // Sets the font used by the subtitle renderer. The @font_name string must be
13107 // either %NULL, which means that the default font name of the underlying
13108 // implementation will be used; or must follow the grammar recognized by
13109 // pango_font_description_from_string() like:
13111 // |[
13112 // clutter_media_set_subtitle_font_name (media, "Sans 24pt");
13113 // ]|
13114 // <font_name>: a font name, or %NULL to set the default font name
13115 void set_subtitle_font_name(AT0)(AT0 /*char*/ font_name) nothrow {
13116 clutter_media_set_subtitle_font_name(cast(Media*)&this, toCString!(char*)(font_name));
13119 // VERSION: 1.2
13120 // Sets the location of a subtitle file to display while playing @media.
13121 // <uri>: the URI of a subtitle file
13122 void set_subtitle_uri(AT0)(AT0 /*char*/ uri) nothrow {
13123 clutter_media_set_subtitle_uri(cast(Media*)&this, toCString!(char*)(uri));
13126 // VERSION: 0.2
13127 // Sets the URI of @media to @uri.
13128 // <uri>: the URI of the media stream
13129 void set_uri(AT0)(AT0 /*char*/ uri) nothrow {
13130 clutter_media_set_uri(cast(Media*)&this, toCString!(char*)(uri));
13133 // VERSION: 0.2
13134 // The ::eos signal is emitted each time the media stream ends.
13135 extern (C) alias static void function (Media* this_, void* user_data=null) nothrow signal_eos;
13137 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
13138 return super_.signal_connect!name(cb, data, cf);
13141 ulong signal_connect(string name:"eos", CB/*:signal_eos*/)
13142 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
13143 if (is(typeof(cb)==signal_eos)||_ttmm!(CB, signal_eos)()) {
13144 return signal_connect_data!()(&this, cast(char*)"eos",
13145 cast(GObject2.Callback)cb, data, null, cf);
13148 // VERSION: 0.2
13149 // The ::error signal is emitted each time an error occurred.
13150 // <error>: the #GError
13151 extern (C) alias static void function (Media* this_, GLib2.Error* error, void* user_data=null) nothrow signal_error;
13152 ulong signal_connect(string name:"error", CB/*:signal_error*/)
13153 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
13154 if (is(typeof(cb)==signal_error)||_ttmm!(CB, signal_error)()) {
13155 return signal_connect_data!()(&this, cast(char*)"error",
13156 cast(GObject2.Callback)cb, data, null, cf);
13159 mixin __interface__;
13162 // Interface vtable for #ClutterMedia implementations
13163 struct MediaIface /* Version 0.2 */ {
13164 private GObject2.TypeInterface base_iface;
13165 extern (C) void function (Media* media) nothrow eos;
13166 extern (C) void function (Media* media, GLib2.Error* error) nothrow error;
13169 enum int Meeting = 269025123;
13170 enum int Memo = 269025054;
13171 enum int Menu = 65383;
13172 enum int MenuKB = 269025125;
13173 enum int MenuPB = 269025126;
13174 enum int Messenger = 269025166;
13175 enum int Meta_L = 65511;
13176 enum int Meta_R = 65512;
13177 enum int MillSign = 16785573;
13178 enum int ModeLock = 269025025;
13179 enum int Mode_switch = 65406;
13181 // Base class for list models. The #ClutterModel structure contains
13182 // only private data and should be manipulated using the provided
13183 // API.
13184 struct Model /* : GObject.Object */ /* Version 0.6 */ {
13185 mixin Scriptable.__interface__;
13186 alias parent_instance this;
13187 alias parent_instance super_;
13188 alias parent_instance object;
13189 GObject2.Object parent_instance;
13190 private ModelPrivate* priv;
13193 // Unintrospectable method: append() / clutter_model_append()
13194 // VERSION: 0.6
13195 // Creates and appends a new row to the #ClutterModel, setting the
13196 // row values upon creation. For example, to append a new row where
13197 // column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
13199 // <informalexample><programlisting>
13200 // ClutterModel *model;
13201 // model = clutter_model_default_new (2,
13202 // G_TYPE_INT, "Score",
13203 // G_TYPE_STRING, "Team");
13204 // clutter_model_append (model, 0, 42, 1, "Team #1", -1);
13205 // </programlisting></informalexample>
13206 /+ Not available -- variadic methods unsupported - use the C function directly.
13207 alias clutter_model_append append; // Variadic
13210 // VERSION: 0.6
13211 // Creates and appends a new row to the #ClutterModel, setting the row
13212 // values for the given @columns upon creation.
13213 // <n_columns>: the number of columns and values
13214 // <columns>: a vector with the columns to set
13215 // <values>: a vector with the values
13216 void appendv(AT0, AT1)(uint n_columns, AT0 /*uint*/ columns, AT1 /*GObject2.Value*/ values) nothrow {
13217 clutter_model_appendv(&this, n_columns, UpCast!(uint*)(columns), UpCast!(GObject2.Value*)(values));
13220 // VERSION: 0.6
13221 // Checks whether the row pointer by @iter should be filtered or not using
13222 // the filtering function set on @model.
13224 // This function should be used only by subclasses of #ClutterModel.
13226 // %FALSE otherwise
13227 // RETURNS: %TRUE if the row should be displayed,
13228 // <iter>: the row to filter
13229 int filter_iter(AT0)(AT0 /*ModelIter*/ iter) nothrow {
13230 return clutter_model_filter_iter(&this, UpCast!(ModelIter*)(iter));
13233 // VERSION: 0.6
13234 // Checks whether @row should be filtered or not using the
13235 // filtering function set on @model.
13237 // This function should be used only by subclasses of #ClutterModel.
13239 // %FALSE otherwise
13240 // RETURNS: %TRUE if the row should be displayed,
13241 // <row>: the row to filter
13242 int filter_row()(uint row) nothrow {
13243 return clutter_model_filter_row(&this, row);
13246 // VERSION: 0.6
13247 // Calls @func for each row in the model.
13248 // <func>: a #ClutterModelForeachFunc
13249 // <user_data>: user data to pass to @func
13250 void foreach_(AT0)(ModelForeachFunc func, AT0 /*void*/ user_data) nothrow {
13251 clutter_model_foreach(&this, func, UpCast!(void*)(user_data));
13254 // VERSION: 0.6
13255 // Retrieves the name of the @column
13257 // string, and it should not be modified or freed
13258 // RETURNS: the name of the column. The model holds the returned
13259 // <column>: the column number
13260 char* get_column_name()(uint column) nothrow {
13261 return clutter_model_get_column_name(&this, column);
13264 // VERSION: 0.6
13265 // Retrieves the type of the @column.
13266 // RETURNS: the type of the column.
13267 // <column>: the column number
13268 Type get_column_type()(uint column) nothrow {
13269 return clutter_model_get_column_type(&this, column);
13272 // VERSION: 1.0
13273 // Returns whether the @model has a filter in place, set
13274 // using clutter_model_set_filter()
13275 // RETURNS: %TRUE if a filter is set
13276 int get_filter_set()() nothrow {
13277 return clutter_model_get_filter_set(&this);
13280 // VERSION: 0.6
13281 // Retrieves a #ClutterModelIter representing the first non-filtered
13282 // row in @model.
13284 // Call g_object_unref() when done using it
13285 // RETURNS: A new #ClutterModelIter.
13286 ModelIter* /*new*/ get_first_iter()() nothrow {
13287 return clutter_model_get_first_iter(&this);
13290 // VERSION: 0.6
13291 // Retrieves a #ClutterModelIter representing the row at the given index.
13293 // If a filter function has been set using clutter_model_set_filter()
13294 // then the @model implementation will return the first non filtered
13295 // row.
13297 // out of bounds. When done using the iterator object, call g_object_unref()
13298 // to deallocate its resources
13299 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
13300 // <row>: position of the row to retrieve
13301 ModelIter* /*new*/ get_iter_at_row()(uint row) nothrow {
13302 return clutter_model_get_iter_at_row(&this, row);
13305 // VERSION: 0.6
13306 // Retrieves a #ClutterModelIter representing the last non-filtered
13307 // row in @model.
13309 // Call g_object_unref() when done using it
13310 // RETURNS: A new #ClutterModelIter.
13311 ModelIter* /*new*/ get_last_iter()() nothrow {
13312 return clutter_model_get_last_iter(&this);
13315 // VERSION: 0.6
13316 // Retrieves the number of columns inside @model.
13317 // RETURNS: the number of columns
13318 uint get_n_columns()() nothrow {
13319 return clutter_model_get_n_columns(&this);
13322 // VERSION: 0.6
13323 // Retrieves the number of rows inside @model, eventually taking
13324 // into account any filtering function set using clutter_model_set_filter().
13326 // the length of the filtered @model is returned.
13327 // RETURNS: The length of the @model. If there is a filter set, then
13328 uint get_n_rows()() nothrow {
13329 return clutter_model_get_n_rows(&this);
13332 // VERSION: 0.6
13333 // Retrieves the number of column used for sorting the @model.
13334 // RETURNS: a column number, or -1 if the model is not sorted
13335 int get_sorting_column()() nothrow {
13336 return clutter_model_get_sorting_column(&this);
13339 // Unintrospectable method: insert() / clutter_model_insert()
13340 // VERSION: 0.6
13341 // Inserts a new row to the #ClutterModel at @row, setting the row
13342 // values upon creation. For example, to insert a new row at index 100,
13343 // where column 0 is type %G_TYPE_INT and column 1 is of type
13344 // %G_TYPE_STRING:
13346 // <informalexample><programlisting>
13347 // ClutterModel *model;
13348 // model = clutter_model_default_new (2,
13349 // G_TYPE_INT, "Score",
13350 // G_TYPE_STRING, "Team");
13351 // clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1);
13352 // </programlisting></informalexample>
13353 // <row>: the position to insert the new row
13354 /+ Not available -- variadic methods unsupported - use the C function directly.
13355 alias clutter_model_insert insert; // Variadic
13358 // VERSION: 0.6
13359 // Sets the data in the cell specified by @iter and @column. The type of
13360 // @value must be convertable to the type of the column. If the row does
13361 // not exist then it is created.
13362 // <row>: position of the row to modify
13363 // <column>: column to modify
13364 // <value>: new value for the cell
13365 void insert_value(AT0)(uint row, uint column, AT0 /*GObject2.Value*/ value) nothrow {
13366 clutter_model_insert_value(&this, row, column, UpCast!(GObject2.Value*)(value));
13369 // VERSION: 0.6
13370 // Inserts data at @row into the #ClutterModel, setting the row
13371 // values for the given @columns upon creation.
13372 // <row>: row index
13373 // <n_columns>: the number of columns and values to set
13374 // <columns>: a vector containing the columns to set
13375 // <values>: a vector containing the values for the cells
13376 void insertv(AT0, AT1)(uint row, uint n_columns, AT0 /*uint*/ columns, AT1 /*GObject2.Value*/ values) nothrow {
13377 clutter_model_insertv(&this, row, n_columns, UpCast!(uint*)(columns), UpCast!(GObject2.Value*)(values));
13380 // Unintrospectable method: prepend() / clutter_model_prepend()
13381 // VERSION: 0.6
13382 // Creates and prepends a new row to the #ClutterModel, setting the row
13383 // values upon creation. For example, to prepend a new row where column 0
13384 // is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
13386 // <informalexample><programlisting>
13387 // ClutterModel *model;
13388 // model = clutter_model_default_new (2,
13389 // G_TYPE_INT, "Score",
13390 // G_TYPE_STRING, "Team");
13391 // clutter_model_prepend (model, 0, 42, 1, "Team #1", -1);
13392 // </programlisting></informalexample>
13393 /+ Not available -- variadic methods unsupported - use the C function directly.
13394 alias clutter_model_prepend prepend; // Variadic
13397 // VERSION: 0.6
13398 // Creates and prepends a new row to the #ClutterModel, setting the row
13399 // values for the given @columns upon creation.
13400 // <n_columns>: the number of columns and values to set
13401 // <columns>: a vector containing the columns to set
13402 // <values>: a vector containing the values for the cells
13403 void prependv(AT0, AT1)(uint n_columns, AT0 /*uint*/ columns, AT1 /*GObject2.Value*/ values) nothrow {
13404 clutter_model_prependv(&this, n_columns, UpCast!(uint*)(columns), UpCast!(GObject2.Value*)(values));
13407 // VERSION: 0.6
13408 // Removes the row at the given position from the model.
13409 // <row>: position of row to remove
13410 void remove()(uint row) nothrow {
13411 clutter_model_remove(&this, row);
13414 // VERSION: 0.6
13415 // Force a resort on the @model. This function should only be
13416 // used by subclasses of #ClutterModel.
13417 void resort()() nothrow {
13418 clutter_model_resort(&this);
13421 // VERSION: 0.6
13422 // Filters the @model using the given filtering function.
13423 // <func>: a #ClutterModelFilterFunc, or #NULL
13424 // <user_data>: user data to pass to @func, or #NULL
13425 // <notify>: destroy notifier of @user_data, or #NULL
13426 void set_filter(AT0)(ModelFilterFunc func, AT0 /*void*/ user_data, GLib2.DestroyNotify notify) nothrow {
13427 clutter_model_set_filter(&this, func, UpCast!(void*)(user_data), notify);
13430 // VERSION: 0.6
13431 // Assigns a name to the columns of a #ClutterModel.
13433 // This function is meant primarily for #GObjects that inherit from
13434 // #ClutterModel, and should only be used when contructing a #ClutterModel.
13435 // It will not work after the initial creation of the #ClutterModel.
13436 // <n_columns>: the number of column names
13437 // <names>: an array of strings
13438 void set_names(AT0)(uint n_columns, AT0 /*char*/ names) nothrow {
13439 clutter_model_set_names(&this, n_columns, toCString!(char*)(names));
13442 // VERSION: 0.6
13443 // Sorts @model using the given sorting function.
13444 // <column>: the column to sort on
13445 // <func>: a #ClutterModelSortFunc, or #NULL
13446 // <user_data>: user data to pass to @func, or #NULL
13447 // <notify>: destroy notifier of @user_data, or #NULL
13448 void set_sort(AT0)(int column, ModelSortFunc func, AT0 /*void*/ user_data, GLib2.DestroyNotify notify) nothrow {
13449 clutter_model_set_sort(&this, column, func, UpCast!(void*)(user_data), notify);
13452 // VERSION: 0.6
13453 // Sets the model to sort by @column. If @column is a negative value
13454 // the sorting column will be unset.
13455 // <column>: the column of the @model to sort, or -1
13456 void set_sorting_column()(int column) nothrow {
13457 clutter_model_set_sorting_column(&this, column);
13460 // VERSION: 0.6
13461 // Sets the types of the columns inside a #ClutterModel.
13463 // This function is meant primarily for #GObjects that inherit from
13464 // #ClutterModel, and should only be used when contructing a #ClutterModel.
13465 // It will not work after the initial creation of the #ClutterModel.
13466 // <n_columns>: number of columns for the model
13467 // <types>: an array of #GType types
13468 void set_types(AT0)(uint n_columns, AT0 /*Type*/ types) nothrow {
13469 clutter_model_set_types(&this, n_columns, UpCast!(Type*)(types));
13472 // VERSION: 0.6
13473 // The ::filter-changed signal is emitted when a new filter has been applied
13474 extern (C) alias static void function (Model* this_, void* user_data=null) nothrow signal_filter_changed;
13476 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
13477 return super_.signal_connect!name(cb, data, cf);
13480 ulong signal_connect(string name:"filter-changed", CB/*:signal_filter_changed*/)
13481 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
13482 if (is(typeof(cb)==signal_filter_changed)||_ttmm!(CB, signal_filter_changed)()) {
13483 return signal_connect_data!()(&this, cast(char*)"filter-changed",
13484 cast(GObject2.Callback)cb, data, null, cf);
13487 // VERSION: 0.6
13488 // The ::row-added signal is emitted when a new row has been added.
13489 // The data on the row has already been set when the ::row-added signal
13490 // has been emitted.
13491 // <iter>: a #ClutterModelIter pointing to the new row
13492 extern (C) alias static void function (Model* this_, ModelIter* iter, void* user_data=null) nothrow signal_row_added;
13493 ulong signal_connect(string name:"row-added", CB/*:signal_row_added*/)
13494 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
13495 if (is(typeof(cb)==signal_row_added)||_ttmm!(CB, signal_row_added)()) {
13496 return signal_connect_data!()(&this, cast(char*)"row-added",
13497 cast(GObject2.Callback)cb, data, null, cf);
13500 // VERSION: 0.6
13501 // The ::row-removed signal is emitted when a row has been changed.
13502 // The data on the row has already been updated when the ::row-changed
13503 // signal has been emitted.
13504 // <iter>: a #ClutterModelIter pointing to the changed row
13505 extern (C) alias static void function (Model* this_, ModelIter* iter, void* user_data=null) nothrow signal_row_changed;
13506 ulong signal_connect(string name:"row-changed", CB/*:signal_row_changed*/)
13507 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
13508 if (is(typeof(cb)==signal_row_changed)||_ttmm!(CB, signal_row_changed)()) {
13509 return signal_connect_data!()(&this, cast(char*)"row-changed",
13510 cast(GObject2.Callback)cb, data, null, cf);
13513 // VERSION: 0.6
13514 // The ::row-removed signal is emitted when a row has been removed.
13515 // The data on the row pointed by the passed iterator is still valid
13516 // when the ::row-removed signal has been emitted.
13517 // <iter>: a #ClutterModelIter pointing to the removed row
13518 extern (C) alias static void function (Model* this_, ModelIter* iter, void* user_data=null) nothrow signal_row_removed;
13519 ulong signal_connect(string name:"row-removed", CB/*:signal_row_removed*/)
13520 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
13521 if (is(typeof(cb)==signal_row_removed)||_ttmm!(CB, signal_row_removed)()) {
13522 return signal_connect_data!()(&this, cast(char*)"row-removed",
13523 cast(GObject2.Callback)cb, data, null, cf);
13526 // VERSION: 0.6
13527 // The ::sort-changed signal is emitted after the model has been sorted
13528 extern (C) alias static void function (Model* this_, void* user_data=null) nothrow signal_sort_changed;
13529 ulong signal_connect(string name:"sort-changed", CB/*:signal_sort_changed*/)
13530 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
13531 if (is(typeof(cb)==signal_sort_changed)||_ttmm!(CB, signal_sort_changed)()) {
13532 return signal_connect_data!()(&this, cast(char*)"sort-changed",
13533 cast(GObject2.Callback)cb, data, null, cf);
13537 // Class for #ClutterModel instances.
13538 struct ModelClass /* Version 0.6 */ {
13539 private GObject2.ObjectClass parent_class;
13540 // RETURNS: The length of the @model. If there is a filter set, then
13541 extern (C) uint function (Model* model) nothrow get_n_rows;
13542 // RETURNS: the number of columns
13543 extern (C) uint function (Model* model) nothrow get_n_columns;
13545 // RETURNS: the name of the column. The model holds the returned
13546 // <column>: the column number
13547 extern (C) char* function (Model* model, uint column) nothrow get_column_name;
13549 // RETURNS: the type of the column.
13550 // <column>: the column number
13551 extern (C) Type function (Model* model, uint column) nothrow get_column_type;
13552 // Unintrospectable functionp: insert_row() / ()
13553 extern (C) ModelIter* function (Model* model, int index_) nothrow insert_row;
13554 extern (C) void function (Model* model, uint row) nothrow remove_row;
13556 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
13557 // <row>: position of the row to retrieve
13558 extern (C) ModelIter* /*new*/ function (Model* model, uint row) nothrow get_iter_at_row;
13559 // Unintrospectable functionp: resort() / ()
13560 extern (C) void function (Model* model, ModelSortFunc func, void* data) nothrow resort;
13561 extern (C) void function (Model* model, ModelIter* iter) nothrow row_added;
13562 extern (C) void function (Model* model, ModelIter* iter) nothrow row_removed;
13563 extern (C) void function (Model* model, ModelIter* iter) nothrow row_changed;
13564 extern (C) void function (Model* model) nothrow sort_changed;
13565 extern (C) void function (Model* model) nothrow filter_changed;
13566 extern (C) void function () nothrow _clutter_model_1;
13567 extern (C) void function () nothrow _clutter_model_2;
13568 extern (C) void function () nothrow _clutter_model_3;
13569 extern (C) void function () nothrow _clutter_model_4;
13570 extern (C) void function () nothrow _clutter_model_5;
13571 extern (C) void function () nothrow _clutter_model_6;
13572 extern (C) void function () nothrow _clutter_model_7;
13573 extern (C) void function () nothrow _clutter_model_8;
13577 // VERSION: 0.6
13578 // Filters the content of a row in the model.
13579 // RETURNS: If the row should be displayed, return %TRUE
13580 // <model>: a #ClutterModel
13581 // <iter>: the iterator for the row
13582 // <user_data>: data passed to clutter_model_set_filter()
13583 extern (C) alias int function (Model* model, ModelIter* iter, void* user_data) nothrow ModelFilterFunc;
13586 // VERSION: 0.6
13587 // Iterates on the content of a row in the model
13588 // RETURNS: %TRUE if the iteration should continue, %FALSE otherwise
13589 // <model>: a #ClutterModel
13590 // <iter>: the iterator for the row
13591 // <user_data>: data passed to clutter_model_foreach()
13592 extern (C) alias int function (Model* model, ModelIter* iter, void* user_data) nothrow ModelForeachFunc;
13595 // Base class for list models iters. The #ClutterModelIter structure
13596 // contains only private data and should be manipulated using the
13597 // provided API.
13598 struct ModelIter /* : GObject.Object */ /* Version 0.6 */ {
13599 alias parent_instance this;
13600 alias parent_instance super_;
13601 alias parent_instance object;
13602 GObject2.Object parent_instance;
13603 private ModelIterPrivate* priv;
13606 // VERSION: 0.8
13607 // Copies the passed iterator.
13608 // RETURNS: a copy of the iterator, or %NULL
13609 ModelIter* /*new*/ copy()() nothrow {
13610 return clutter_model_iter_copy(&this);
13613 // Unintrospectable method: get() / clutter_model_iter_get()
13614 // VERSION: 0.6
13615 // Gets the value of one or more cells in the row referenced by @iter. The
13616 // variable argument list should contain integer column numbers, each column
13617 // column number followed by a place to store the value being retrieved. The
13618 // list is terminated by a -1.
13620 // For example, to get a value from column 0 with type %G_TYPE_STRING use:
13621 // <informalexample><programlisting>
13622 // clutter_model_iter_get (iter, 0, &place_string_here, -1);
13623 // </programlisting></informalexample>
13625 // where place_string_here is a gchar* to be filled with the string. If
13626 // appropriate, the returned values have to be freed or unreferenced.
13627 /+ Not available -- variadic methods unsupported - use the C function directly.
13628 alias clutter_model_iter_get get; // Variadic
13631 // VERSION: 0.6
13632 // Retrieves a pointer to the #ClutterModel that this iter is part of.
13633 // RETURNS: a pointer to a #ClutterModel.
13634 Model* get_model()() nothrow {
13635 return clutter_model_iter_get_model(&this);
13638 // VERSION: 0.6
13639 // Retrieves the position of the row that the @iter points to.
13640 // RETURNS: the position of the @iter in the model
13641 uint get_row()() nothrow {
13642 return clutter_model_iter_get_row(&this);
13645 // Unintrospectable method: get_valist() / clutter_model_iter_get_valist()
13646 // VERSION: 0.6
13647 // See clutter_model_iter_get(). This version takes a va_list for language
13648 // bindings.
13649 // <args>: a list of column/return location pairs, terminated by -1
13650 void get_valist()(va_list args) nothrow {
13651 clutter_model_iter_get_valist(&this, args);
13654 // VERSION: 0.6
13655 // Sets an initializes @value to that at @column. When done with @value,
13656 // g_value_unset() needs to be called to free any allocated memory.
13657 // <column>: column number to retrieve the value from
13658 // <value>: an empty #GValue to set
13659 void get_value(AT0)(uint column, /*out*/ AT0 /*GObject2.Value*/ value) nothrow {
13660 clutter_model_iter_get_value(&this, column, UpCast!(GObject2.Value*)(value));
13663 // VERSION: 0.6
13664 // Gets whether the current iterator is at the beginning of the model
13665 // to which it belongs.
13666 // RETURNS: #TRUE if @iter is the first iter in the filtered model
13667 int is_first()() nothrow {
13668 return clutter_model_iter_is_first(&this);
13671 // VERSION: 0.6
13672 // Gets whether the iterator is at the end of the model to which it
13673 // belongs.
13674 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
13675 int is_last()() nothrow {
13676 return clutter_model_iter_is_last(&this);
13679 // VERSION: 0.6
13680 // Updates the @iter to point at the next position in the model.
13681 // The model implementation should take into account the presence of
13682 // a filter function.
13684 // row in the model.
13685 // RETURNS: The passed iterator, updated to point at the next
13686 ModelIter* next()() nothrow {
13687 return clutter_model_iter_next(&this);
13690 // VERSION: 0.6
13691 // Sets the @iter to point at the previous position in the model.
13692 // The model implementation should take into account the presence of
13693 // a filter function.
13695 // row in the model.
13696 // RETURNS: The passed iterator, updated to point at the previous
13697 ModelIter* prev()() nothrow {
13698 return clutter_model_iter_prev(&this);
13701 // Unintrospectable method: set() / clutter_model_iter_set()
13702 // VERSION: 0.6
13703 // Sets the value of one or more cells in the row referenced by @iter. The
13704 // variable argument list should contain integer column numbers, each column
13705 // column number followed by the value to be set. The list is terminated by a
13706 // -1.
13708 // For example, to set column 0 with type %G_TYPE_STRING, use:
13709 // <informalexample><programlisting>
13710 // clutter_model_iter_set (iter, 0, "foo", -1);
13711 // </programlisting></informalexample>
13712 /+ Not available -- variadic methods unsupported - use the C function directly.
13713 alias clutter_model_iter_set set; // Variadic
13716 // Unintrospectable method: set_valist() / clutter_model_iter_set_valist()
13717 // VERSION: 0.6
13718 // See clutter_model_iter_set(); this version takes a va_list for language
13719 // bindings.
13720 // <args>: va_list of column/value pairs, terminiated by -1
13721 void set_valist()(va_list args) nothrow {
13722 clutter_model_iter_set_valist(&this, args);
13725 // VERSION: 0.6
13726 // Sets the data in the cell specified by @iter and @column. The type of
13727 // @value must be convertable to the type of the column.
13728 // <column>: column number to retrieve the value from
13729 // <value>: new value for the cell
13730 void set_value(AT0)(uint column, AT0 /*GObject2.Value*/ value) nothrow {
13731 clutter_model_iter_set_value(&this, column, UpCast!(GObject2.Value*)(value));
13735 // Class for #ClutterModelIter instances.
13736 struct ModelIterClass /* Version 0.6 */ {
13737 private GObject2.ObjectClass parent_class;
13739 // <column>: column number to retrieve the value from
13740 // <value>: an empty #GValue to set
13741 extern (C) void function (ModelIter* iter, uint column, /*out*/ GObject2.Value* value) nothrow get_value;
13743 // <column>: column number to retrieve the value from
13744 // <value>: new value for the cell
13745 extern (C) void function (ModelIter* iter, uint column, GObject2.Value* value) nothrow set_value;
13746 // RETURNS: #TRUE if @iter is the first iter in the filtered model
13747 extern (C) int function (ModelIter* iter) nothrow is_first;
13748 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
13749 extern (C) int function (ModelIter* iter) nothrow is_last;
13750 // RETURNS: The passed iterator, updated to point at the next
13751 extern (C) ModelIter* function (ModelIter* iter) nothrow next;
13752 // RETURNS: The passed iterator, updated to point at the previous
13753 extern (C) ModelIter* function (ModelIter* iter) nothrow prev;
13754 // RETURNS: a pointer to a #ClutterModel.
13755 extern (C) Model* function (ModelIter* iter) nothrow get_model;
13756 // RETURNS: the position of the @iter in the model
13757 extern (C) uint function (ModelIter* iter) nothrow get_row;
13758 // RETURNS: a copy of the iterator, or %NULL
13759 extern (C) ModelIter* /*new*/ function (ModelIter* iter) nothrow copy;
13760 extern (C) void function () nothrow _clutter_model_iter_1;
13761 extern (C) void function () nothrow _clutter_model_iter_2;
13762 extern (C) void function () nothrow _clutter_model_iter_3;
13763 extern (C) void function () nothrow _clutter_model_iter_4;
13764 extern (C) void function () nothrow _clutter_model_iter_5;
13765 extern (C) void function () nothrow _clutter_model_iter_6;
13766 extern (C) void function () nothrow _clutter_model_iter_7;
13767 extern (C) void function () nothrow _clutter_model_iter_8;
13770 struct ModelIterPrivate {
13773 struct ModelPrivate {
13777 // VERSION: 0.6
13778 // Compares the content of two rows in the model.
13780 // @a is before @b, or 0 if the rows are the same
13781 // RETURNS: a positive integer if @a is after @b, a negative integer if
13782 // <model>: a #ClutterModel
13783 // <a>: a #GValue representing the contents of the row
13784 // <b>: a #GValue representing the contents of the second row
13785 // <user_data>: data passed to clutter_model_set_sort()
13786 extern (C) alias int function (Model* model, GObject2.Value* a, GObject2.Value* b, void* user_data) nothrow ModelSortFunc;
13789 // Masks applied to a #ClutterEvent by modifiers.
13791 // Note that Clutter may add internal values to events which include
13792 // reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code
13793 // should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
13794 // remove all reserved values.
13795 enum ModifierType /* Version 0.4 */ {
13796 SHIFT_MASK = 1,
13797 LOCK_MASK = 2,
13798 CONTROL_MASK = 4,
13799 MOD1_MASK = 8,
13800 MOD2_MASK = 16,
13801 MOD3_MASK = 32,
13802 MOD4_MASK = 64,
13803 MOD5_MASK = 128,
13804 BUTTON1_MASK = 256,
13805 BUTTON2_MASK = 512,
13806 BUTTON3_MASK = 1024,
13807 BUTTON4_MASK = 2048,
13808 BUTTON5_MASK = 4096,
13809 MODIFIER_RESERVED_13_MASK = 8192,
13810 MODIFIER_RESERVED_14_MASK = 16384,
13811 MODIFIER_RESERVED_15_MASK = 32768,
13812 MODIFIER_RESERVED_16_MASK = 65536,
13813 MODIFIER_RESERVED_17_MASK = 131072,
13814 MODIFIER_RESERVED_18_MASK = 262144,
13815 MODIFIER_RESERVED_19_MASK = 524288,
13816 MODIFIER_RESERVED_20_MASK = 1048576,
13817 MODIFIER_RESERVED_21_MASK = 2097152,
13818 MODIFIER_RESERVED_22_MASK = 4194304,
13819 MODIFIER_RESERVED_23_MASK = 8388608,
13820 MODIFIER_RESERVED_24_MASK = 16777216,
13821 MODIFIER_RESERVED_25_MASK = 33554432,
13822 SUPER_MASK = 67108864,
13823 HYPER_MASK = 134217728,
13824 META_MASK = 268435456,
13825 MODIFIER_RESERVED_29_MASK = 536870912,
13826 RELEASE_MASK = 1073741824,
13827 MODIFIER_MASK = 1543512063
13829 enum int MonBrightnessDown = 269025027;
13830 enum int MonBrightnessUp = 269025026;
13831 // Event for the pointer motion
13832 struct MotionEvent /* Version 0.2 */ {
13833 EventType type;
13834 uint time;
13835 EventFlags flags;
13836 Stage* stage;
13837 Actor* source;
13838 float x, y;
13839 ModifierType modifier_state;
13840 double* axes;
13841 InputDevice* device;
13844 enum int MouseKeys_Accel_Enable = 65143;
13845 enum int MouseKeys_Enable = 65142;
13846 enum int Muhenkan = 65314;
13847 enum int Multi_key = 65312;
13848 enum int MultipleCandidate = 65341;
13849 enum int Music = 269025170;
13850 enum int MyComputer = 269025075;
13851 enum int MySites = 269025127;
13852 enum int N = 78;
13853 enum int Nacute = 465;
13854 enum int NairaSign = 16785574;
13855 enum int Ncaron = 466;
13856 enum int Ncedilla = 977;
13857 enum int New = 269025128;
13858 enum int NewSheqelSign = 16785578;
13859 enum int News = 269025129;
13860 enum int Next = 65366;
13861 enum int Next_VMode = 269024802;
13862 enum int Next_Virtual_Screen = 65234;
13863 enum int Ntilde = 209;
13864 enum int Num_Lock = 65407;
13865 enum int O = 79;
13866 enum int OE = 5052;
13867 enum int Oacute = 211;
13868 enum int Obarred = 16777631;
13869 enum int Obelowdot = 16785100;
13870 enum int Ocaron = 16777681;
13871 enum int Ocircumflex = 212;
13872 enum int Ocircumflexacute = 16785104;
13873 enum int Ocircumflexbelowdot = 16785112;
13874 enum int Ocircumflexgrave = 16785106;
13875 enum int Ocircumflexhook = 16785108;
13876 enum int Ocircumflextilde = 16785110;
13877 enum int Odiaeresis = 214;
13878 enum int Odoubleacute = 469;
13879 enum int OfficeHome = 269025130;
13881 // The #ClutterOffscreenEffect structure contains only private data
13882 // and should be accessed using the provided API
13883 struct OffscreenEffect /* : Effect */ /* Version 1.4 */ {
13884 alias parent_instance this;
13885 alias parent_instance super_;
13886 alias parent_instance effect;
13887 Effect parent_instance;
13888 private OffscreenEffectPrivate* priv;
13891 // VERSION: 1.4
13892 // Calls the create_texture() virtual function of the @effect
13894 // %COGL_INVALID_HANDLE. The returned handle has its reference
13895 // count increased.
13896 // RETURNS: a handle to a Cogl texture, or
13897 // <width>: the minimum width of the target texture
13898 // <height>: the minimum height of the target texture
13899 Cogl.Handle /*new*/ create_texture()(float width, float height) nothrow {
13900 return clutter_offscreen_effect_create_texture(&this, width, height);
13903 // VERSION: 1.4
13904 // Retrieves the material used as a render target for the offscreen
13905 // buffer created by @effect
13907 // You should only use the returned #CoglMaterial when painting. The
13908 // returned material might change between different frames.
13910 // returned material is owned by Clutter and it should not be
13911 // modified or freed
13912 // RETURNS: a #CoglMaterial or %NULL. The
13913 Cogl.Material* get_target()() nothrow {
13914 return clutter_offscreen_effect_get_target(&this);
13917 // VERSION: 1.8
13918 // Retrieves the size of the offscreen buffer used by @effect to
13919 // paint the actor to which it has been applied.
13921 // This function should only be called by #ClutterOffscreenEffect
13922 // implementations, from within the <function>paint_target()</function>
13923 // virtual function.
13925 // and %FALSE otherwise
13926 // RETURNS: %TRUE if the offscreen buffer has a valid size,
13927 // <width>: return location for the target width, or %NULL
13928 // <height>: return location for the target height, or %NULL
13929 int get_target_size(AT0, AT1)(/*out*/ AT0 /*float*/ width, /*out*/ AT1 /*float*/ height) nothrow {
13930 return clutter_offscreen_effect_get_target_size(&this, UpCast!(float*)(width), UpCast!(float*)(height));
13933 // VERSION: 1.4
13934 // Calls the paint_target() virtual function of the @effect
13935 void paint_target()() nothrow {
13936 clutter_offscreen_effect_paint_target(&this);
13940 // The #ClutterOffscreenEffectClass structure contains only private data
13941 struct OffscreenEffectClass /* Version 1.4 */ {
13942 private EffectClass parent_class;
13944 // RETURNS: a handle to a Cogl texture, or
13945 // <width>: the minimum width of the target texture
13946 // <height>: the minimum height of the target texture
13947 extern (C) Cogl.Handle /*new*/ function (OffscreenEffect* effect, float width, float height) nothrow create_texture;
13948 extern (C) void function (OffscreenEffect* effect) nothrow paint_target;
13949 extern (C) void function () nothrow _clutter_offscreen1;
13950 extern (C) void function () nothrow _clutter_offscreen2;
13951 extern (C) void function () nothrow _clutter_offscreen3;
13952 extern (C) void function () nothrow _clutter_offscreen4;
13953 extern (C) void function () nothrow _clutter_offscreen5;
13954 extern (C) void function () nothrow _clutter_offscreen6;
13955 extern (C) void function () nothrow _clutter_offscreen7;
13958 struct OffscreenEffectPrivate {
13961 // Possible flags to pass to clutter_actor_set_offscreen_redirect().
13962 enum OffscreenRedirect /* Version 1.8 */ {
13963 AUTOMATIC_FOR_OPACITY = 1,
13964 ALWAYS = 2
13966 enum int Ograve = 210;
13967 enum int Ohook = 16785102;
13968 enum int Ohorn = 16777632;
13969 enum int Ohornacute = 16785114;
13970 enum int Ohornbelowdot = 16785122;
13971 enum int Ohorngrave = 16785116;
13972 enum int Ohornhook = 16785118;
13973 enum int Ohorntilde = 16785120;
13974 enum int Omacron = 978;
13975 enum int Ooblique = 216;
13976 enum int Open = 269025131;
13977 enum int OpenURL = 269025080;
13978 enum int Option = 269025132;
13979 enum int Oslash = 216;
13980 enum int Otilde = 213;
13981 enum int Overlay1_Enable = 65144;
13982 enum int Overlay2_Enable = 65145;
13983 enum int P = 80;
13984 enum int PATH_RELATIVE = 32;
13985 enum int PRIORITY_REDRAW = 50;
13986 enum int Pabovedot = 16784982;
13988 // <structname>ClutterPageTurnEffect</structname> is an opaque structure
13989 // whose members can only be accessed using the provided API
13990 struct PageTurnEffect /* : DeformEffect */ /* Version 1.4 */ {
13991 alias method_parent this;
13992 alias method_parent super_;
13993 alias method_parent deformeffect;
13994 DeformEffect method_parent;
13997 // VERSION: 1.4
13998 // Creates a new #ClutterPageTurnEffect instance with the given parameters
13999 // RETURNS: the newly created #ClutterPageTurnEffect
14000 // <period>: the period of the page curl, between 0.0 and 1.0
14001 // <angle>: the angle of the page curl, between 0.0 and 360.0
14002 // <radius>: the radius of the page curl, in pixels
14003 static PageTurnEffect* new_()(double period, double angle, float radius) nothrow {
14004 return clutter_page_turn_effect_new(period, angle, radius);
14006 static auto opCall()(double period, double angle, float radius) {
14007 return clutter_page_turn_effect_new(period, angle, radius);
14010 // VERSION: 1.4
14011 // Retrieves the value set using clutter_page_turn_effect_get_angle()
14012 // RETURNS: the angle of the page curling
14013 double get_angle()() nothrow {
14014 return clutter_page_turn_effect_get_angle(&this);
14017 // VERSION: 1.4
14018 // Retrieves the value set using clutter_page_turn_effect_get_period()
14019 // RETURNS: the period of the page curling
14020 double get_period()() nothrow {
14021 return clutter_page_turn_effect_get_period(&this);
14024 // VERSION: 1.4
14025 // Retrieves the value set using clutter_page_turn_effect_set_radius()
14026 // RETURNS: the radius of the page curling
14027 float get_radius()() nothrow {
14028 return clutter_page_turn_effect_get_radius(&this);
14031 // VERSION: 1.4
14032 // Sets the angle of the page curling, in degrees
14033 // <angle>: the angle of the page curl, in degrees
14034 void set_angle()(double angle) nothrow {
14035 clutter_page_turn_effect_set_angle(&this, angle);
14038 // VERSION: 1.4
14039 // Sets the period of the page curling, between 0.0 (no curling)
14040 // and 1.0 (fully curled)
14041 // <period>: the period of the page curl, between 0.0 and 1.0
14042 void set_period()(double period) nothrow {
14043 clutter_page_turn_effect_set_period(&this, period);
14046 // VERSION: 1.4
14047 // Sets the radius of the page curling
14048 // <radius>: the radius of the page curling, in pixels
14049 void set_radius()(float radius) nothrow {
14050 clutter_page_turn_effect_set_radius(&this, radius);
14054 struct PageTurnEffectClass {
14057 enum int Page_Down = 65366;
14058 enum int Page_Up = 65365;
14060 // <structname>ClutterPaintVolume</structname> is an opaque structure
14061 // whose members cannot be directly accessed.
14063 // A <structname>ClutterPaintVolume</structname> represents an
14064 // a bounding volume whos internal representation isn't defined but
14065 // can be set and queried in terms of an axis aligned bounding box.
14067 // Other internal representation and methods for describing the
14068 // bounding volume may be added in the future.
14069 struct PaintVolume /* Version 1.4 */ {
14071 // VERSION: 1.6
14072 // Copies @pv into a new #ClutterPaintVolume
14073 // RETURNS: a newly allocated copy of a #ClutterPaintVolume
14074 PaintVolume* /*new*/ copy()() nothrow {
14075 return clutter_paint_volume_copy(&this);
14078 // VERSION: 1.6
14079 // Frees the resources allocated by @pv
14080 void free()() nothrow {
14081 clutter_paint_volume_free(&this);
14084 // VERSION: 1.6
14085 // Retrieves the depth of the volume's, axis aligned, bounding box.
14087 // In other words; this takes into account what actor's coordinate
14088 // space @pv belongs too and conceptually fits an axis aligned box
14089 // around the volume. It returns the size of that bounding box as
14090 // measured along the z-axis.
14092 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
14093 // is used to transform a 2D child actor that is 100px wide, 100px
14094 // high and 0px deep into container coordinates then the depth might
14095 // not simply be 0px if the child actor has a 3D rotation applied to
14096 // it.</para>
14097 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
14098 // used then the transformed volume will be defined relative to the
14099 // container actor and in container coordinates a 2D child actor
14100 // can have a 3D bounding volume.</para></note>
14102 // <note>There are no accuracy guarantees for the reported depth,
14103 // except that it must always be >= to the true depth. This is
14104 // because actors may report simple, loose fitting paint-volumes
14105 // for efficiency.</note>
14106 // RETURNS: the depth, in units of @pv's local coordinate system.
14107 float get_depth()() nothrow {
14108 return clutter_paint_volume_get_depth(&this);
14111 // VERSION: 1.6
14112 // Retrieves the height of the volume's, axis aligned, bounding box.
14114 // In other words; this takes into account what actor's coordinate
14115 // space @pv belongs too and conceptually fits an axis aligned box
14116 // around the volume. It returns the size of that bounding box as
14117 // measured along the y-axis.
14119 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
14120 // is used to transform a 2D child actor that is 100px wide, 100px
14121 // high and 0px deep into container coordinates then the height might
14122 // not simply be 100px if the child actor has a 3D rotation applied to
14123 // it.</para>
14124 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
14125 // used then a transformed child volume will be defined relative to the
14126 // ancestor container actor and so a 2D child actor
14127 // can have a 3D bounding volume.</para></note>
14129 // <note>There are no accuracy guarantees for the reported height,
14130 // except that it must always be >= to the true height. This is
14131 // because actors may report simple, loose fitting paint-volumes
14132 // for efficiency</note>
14133 // RETURNS: the height, in units of @pv's local coordinate system.
14134 float get_height()() nothrow {
14135 return clutter_paint_volume_get_height(&this);
14138 // VERSION: 1.6
14139 // Retrieves the origin of the #ClutterPaintVolume.
14140 // <vertex>: the return location for a #ClutterVertex
14141 void get_origin(AT0)(/*out*/ AT0 /*Vertex*/ vertex) nothrow {
14142 clutter_paint_volume_get_origin(&this, UpCast!(Vertex*)(vertex));
14145 // VERSION: 1.6
14146 // Retrieves the width of the volume's, axis aligned, bounding box.
14148 // In other words; this takes into account what actor's coordinate
14149 // space @pv belongs too and conceptually fits an axis aligned box
14150 // around the volume. It returns the size of that bounding box as
14151 // measured along the x-axis.
14153 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
14154 // is used to transform a 2D child actor that is 100px wide, 100px
14155 // high and 0px deep into container coordinates then the width might
14156 // not simply be 100px if the child actor has a 3D rotation applied to
14157 // it.</para>
14158 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
14159 // used then a transformed child volume will be defined relative to the
14160 // ancestor container actor and so a 2D child actor
14161 // can have a 3D bounding volume.</para></note>
14163 // <note>There are no accuracy guarantees for the reported width,
14164 // except that it must always be >= to the true width. This is
14165 // because actors may report simple, loose fitting paint-volumes
14166 // for efficiency</note>
14167 // RETURNS: the width, in units of @pv's local coordinate system.
14168 float get_width()() nothrow {
14169 return clutter_paint_volume_get_width(&this);
14172 // VERSION: 1.6
14173 // Sets the depth of the paint volume. The depth is measured along
14174 // the z axis in the actor coordinates that @pv is associated with.
14175 // <depth>: the depth of the paint volume, in pixels
14176 void set_depth()(float depth) nothrow {
14177 clutter_paint_volume_set_depth(&this, depth);
14180 // VERSION: 1.6
14181 // Sets the #ClutterPaintVolume from the allocation of @actor.
14183 // This function should be used when overriding the
14184 // <function>get_paint_volume()</function> by #ClutterActor sub-classes that do
14185 // not paint outside their allocation.
14187 // A typical example is:
14189 // |[
14190 // static gboolean
14191 // my_actor_get_paint_volume (ClutterActor *self,
14192 // ClutterPaintVolume *volume)
14193 // {
14194 // return clutter_paint_volume_set_from_allocation (volume, self);
14195 // }
14196 // ]|
14198 // otherwise
14199 // RETURNS: %TRUE if the paint volume was successfully set, and %FALSE
14200 // <actor>: a #ClutterActor
14201 int set_from_allocation(AT0)(AT0 /*Actor*/ actor) nothrow {
14202 return clutter_paint_volume_set_from_allocation(&this, UpCast!(Actor*)(actor));
14205 // VERSION: 1.6
14206 // Sets the height of the paint volume. The height is measured along
14207 // the y axis in the actor coordinates that @pv is associated with.
14208 // <height>: the height of the paint volume, in pixels
14209 void set_height()(float height) nothrow {
14210 clutter_paint_volume_set_height(&this, height);
14213 // VERSION: 1.6
14214 // Sets the origin of the paint volume.
14216 // The origin is defined as the X, Y and Z coordinates of the top-left
14217 // corner of an actor's paint volume, in actor coordinates.
14219 // The default is origin is assumed at: (0, 0, 0)
14220 // <origin>: a #ClutterVertex
14221 void set_origin(AT0)(AT0 /*Vertex*/ origin) nothrow {
14222 clutter_paint_volume_set_origin(&this, UpCast!(Vertex*)(origin));
14225 // VERSION: 1.6
14226 // Sets the width of the paint volume. The width is measured along
14227 // the x axis in the actor coordinates that @pv is associated with.
14228 // <width>: the width of the paint volume, in pixels
14229 void set_width()(float width) nothrow {
14230 clutter_paint_volume_set_width(&this, width);
14233 // VERSION: 1.6
14234 // Updates the geometry of @pv to encompass @pv and @another_pv.
14236 // <note>There are no guarantees about how precisely the two volumes
14237 // will be encompassed.</note>
14238 // <another_pv>: A second #ClutterPaintVolume to union with @pv
14239 void union_(AT0)(AT0 /*PaintVolume*/ another_pv) nothrow {
14240 clutter_paint_volume_union(&this, UpCast!(PaintVolume*)(another_pv));
14245 // A #GParamSpec subclass for defining properties holding
14246 // a #ClutterColor.
14247 struct ParamSpecColor /* : GObject.ParamSpec */ /* Version 1.0 */ {
14248 alias parent_instance this;
14249 alias parent_instance super_;
14250 alias parent_instance paramspec;
14251 GObject2.ParamSpec parent_instance;
14252 Color* default_value;
14255 // #GParamSpec subclass for fixed point based properties
14256 struct ParamSpecFixed /* : GObject.ParamSpec */ /* Version 0.8 */ {
14257 alias parent_instance this;
14258 alias parent_instance super_;
14259 alias parent_instance paramspec;
14260 GObject2.ParamSpec parent_instance;
14261 Cogl.Fixed minimum, maximum, default_value;
14264 struct ParamSpecUnit /* : GObject.ParamSpec */ {
14265 alias method_parent this;
14266 alias method_parent super_;
14267 alias method_parent paramspec;
14268 GObject2.ParamSpec method_parent;
14271 // #GParamSpec subclass for unit based properties.
14272 struct ParamSpecUnits /* Version 1.0 */ {
14273 private GObject2.ParamSpec parent_instance;
14274 UnitType default_type;
14275 float default_value, minimum, maximum;
14278 enum int Paste = 269025133;
14280 // The #ClutterPath struct contains only private data and should
14281 // be accessed with the functions below.
14282 struct Path /* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
14283 alias parent this;
14284 alias parent super_;
14285 alias parent initiallyunowned;
14286 GObject2.InitiallyUnowned parent;
14287 private PathPrivate* priv;
14290 // VERSION: 1.0
14291 // Creates a new #ClutterPath instance with no nodes.
14293 // The object has a floating reference so if you add it to a
14294 // #ClutterBehaviourPath then you do not need to unref it.
14295 // RETURNS: the newly created #ClutterPath
14296 static Path* new_()() nothrow {
14297 return clutter_path_new();
14299 static auto opCall()() {
14300 return clutter_path_new();
14303 // VERSION: 1.0
14304 // Creates a new #ClutterPath instance with the nodes described in
14305 // @desc. See clutter_path_add_string() for details of the format of
14306 // the string.
14308 // The object has a floating reference so if you add it to a
14309 // #ClutterBehaviourPath then you do not need to unref it.
14310 // RETURNS: the newly created #ClutterPath
14311 // <desc>: a string describing the path
14312 static Path* new_with_description(AT0)(AT0 /*char*/ desc) nothrow {
14313 return clutter_path_new_with_description(toCString!(char*)(desc));
14315 static auto opCall(AT0)(AT0 /*char*/ desc) {
14316 return clutter_path_new_with_description(toCString!(char*)(desc));
14319 // VERSION: 1.0
14320 // Add the nodes of the Cairo path to the end of @path.
14321 // <cpath>: a Cairo path
14322 void add_cairo_path(AT0)(AT0 /*cairo.Path*/ cpath) nothrow {
14323 clutter_path_add_cairo_path(&this, UpCast!(cairo.Path*)(cpath));
14326 // VERSION: 1.0
14327 // Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a
14328 // straight line from the last node to the last %CLUTTER_PATH_MOVE_TO
14329 // type node.
14330 void add_close()() nothrow {
14331 clutter_path_add_close(&this);
14334 // VERSION: 1.0
14335 // Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes
14336 // the actor to follow a bezier from the last node to (@x_3, @y_3) using
14337 // (@x_1, @y_1) and (@x_2,@y_2) as control points.
14338 // <x_1>: the x coordinate of the first control point
14339 // <y_1>: the y coordinate of the first control point
14340 // <x_2>: the x coordinate of the second control point
14341 // <y_2>: the y coordinate of the second control point
14342 // <x_3>: the x coordinate of the third control point
14343 // <y_3>: the y coordinate of the third control point
14344 void add_curve_to()(int x_1, int y_1, int x_2, int y_2, int x_3, int y_3) nothrow {
14345 clutter_path_add_curve_to(&this, x_1, y_1, x_2, y_2, x_3, y_3);
14348 // VERSION: 1.0
14349 // Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the
14350 // actor to move to the new coordinates in a straight line.
14351 // <x>: the x coordinate
14352 // <y>: the y coordinate
14353 void add_line_to()(int x, int y) nothrow {
14354 clutter_path_add_line_to(&this, x, y);
14357 // VERSION: 1.0
14358 // Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually
14359 // used as the first node in a path. It can also be used in the middle
14360 // of the path to cause the actor to jump to the new coordinate.
14361 // <x>: the x coordinate
14362 // <y>: the y coordinate
14363 void add_move_to()(int x, int y) nothrow {
14364 clutter_path_add_move_to(&this, x, y);
14367 // VERSION: 1.0
14368 // Adds @node to the end of the path.
14369 // <node>: a #ClutterPathNode
14370 void add_node(AT0)(AT0 /*PathNode*/ node) nothrow {
14371 clutter_path_add_node(&this, UpCast!(PathNode*)(node));
14374 // VERSION: 1.0
14375 // Same as clutter_path_add_curve_to() except the coordinates are
14376 // relative to the previous node.
14377 // <x_1>: the x coordinate of the first control point
14378 // <y_1>: the y coordinate of the first control point
14379 // <x_2>: the x coordinate of the second control point
14380 // <y_2>: the y coordinate of the second control point
14381 // <x_3>: the x coordinate of the third control point
14382 // <y_3>: the y coordinate of the third control point
14383 void add_rel_curve_to()(int x_1, int y_1, int x_2, int y_2, int x_3, int y_3) nothrow {
14384 clutter_path_add_rel_curve_to(&this, x_1, y_1, x_2, y_2, x_3, y_3);
14387 // VERSION: 1.0
14388 // Same as clutter_path_add_line_to() except the coordinates are
14389 // relative to the previous node.
14390 // <x>: the x coordinate
14391 // <y>: the y coordinate
14392 void add_rel_line_to()(int x, int y) nothrow {
14393 clutter_path_add_rel_line_to(&this, x, y);
14396 // VERSION: 1.0
14397 // Same as clutter_path_add_move_to() except the coordinates are
14398 // relative to the previous node.
14399 // <x>: the x coordinate
14400 // <y>: the y coordinate
14401 void add_rel_move_to()(int x, int y) nothrow {
14402 clutter_path_add_rel_move_to(&this, x, y);
14405 // VERSION: 1.0
14406 // Adds new nodes to the end of the path as described in @str. The
14407 // format is a subset of the SVG path format. Each node is represented
14408 // by a letter and is followed by zero, one or three pairs of
14409 // coordinates. The coordinates can be separated by spaces or a
14410 // comma. The types are:
14412 // <variablelist>
14413 // <varlistentry><term>M</term>
14414 // <listitem><para>
14415 // Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates.
14416 // </para></listitem></varlistentry>
14417 // <varlistentry><term>L</term>
14418 // <listitem><para>
14419 // Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates.
14420 // </para></listitem></varlistentry>
14421 // <varlistentry><term>C</term>
14422 // <listitem><para>
14423 // Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates.
14424 // </para></listitem></varlistentry>
14425 // <varlistentry><term>z</term>
14426 // <listitem><para>
14427 // Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed.
14428 // </para></listitem></varlistentry>
14429 // </variablelist>
14431 // The M, L and C commands can also be specified in lower case which
14432 // means the coordinates are relative to the previous node.
14434 // For example, to move an actor in a 100 by 100 pixel square centered
14435 // on the point 300,300 you could use the following path:
14437 // <informalexample>
14438 // <programlisting>
14439 // M 250,350 l 0 -100 L 350,250 l 0 100 z
14440 // </programlisting>
14441 // </informalexample>
14443 // If the path description isn't valid %FALSE will be returned and no
14444 // nodes will be added.
14446 // otherwise.
14447 // RETURNS: %TRUE is the path description was valid or %FALSE
14448 // <str>: a string describing the new nodes
14449 int add_string(AT0)(AT0 /*char*/ str) nothrow {
14450 return clutter_path_add_string(&this, toCString!(char*)(str));
14453 // VERSION: 1.0
14454 // Removes all nodes from the path.
14455 void clear()() nothrow {
14456 clutter_path_clear(&this);
14459 // VERSION: 1.0
14460 // Calls a function for each node of the path.
14461 // <callback>: the function to call with each node
14462 // <user_data>: user data to pass to the function
14463 void foreach_(AT0)(PathCallback callback, AT0 /*void*/ user_data) nothrow {
14464 clutter_path_foreach(&this, callback, UpCast!(void*)(user_data));
14467 // VERSION: 1.0
14468 // Returns a newly allocated string describing the path in the same
14469 // format as used by clutter_path_add_string().
14470 // RETURNS: a string description of the path. Free with g_free().
14471 char* /*new*/ get_description()() nothrow {
14472 return clutter_path_get_description(&this);
14475 // VERSION: 1.0
14476 // Retrieves an approximation of the total length of the path.
14477 // RETURNS: the length of the path.
14478 uint get_length()() nothrow {
14479 return clutter_path_get_length(&this);
14482 // VERSION: 1.0
14483 // Retrieves the number of nodes in the path.
14484 // RETURNS: the number of nodes.
14485 uint get_n_nodes()() nothrow {
14486 return clutter_path_get_n_nodes(&this);
14489 // VERSION: 1.0
14490 // Retrieves the node of the path indexed by @index.
14491 // <index_>: the node number to retrieve
14492 // <node>: a location to store a copy of the node
14493 void get_node(AT0)(uint index_, /*out*/ AT0 /*PathNode*/ node) nothrow {
14494 clutter_path_get_node(&this, index_, UpCast!(PathNode*)(node));
14497 // VERSION: 1.0
14498 // Returns a #GSList of #ClutterPathNode<!-- -->s. The list should be
14499 // freed with g_slist_free(). The nodes are owned by the path and
14500 // should not be freed. Altering the path may cause the nodes in the
14501 // list to become invalid so you should copy them if you want to keep
14502 // the list.
14504 // list of nodes in the path.
14505 // RETURNS: a
14506 GLib2.SList* /*new container*/ get_nodes()() nothrow {
14507 return clutter_path_get_nodes(&this);
14510 // VERSION: 1.0
14511 // The value in @progress represents a position along the path where
14512 // 0.0 is the beginning and 1.0 is the end of the path. An
14513 // interpolated position is then stored in @position.
14514 // RETURNS: index of the node used to calculate the position.
14515 // <progress>: a position along the path as a fraction of its length
14516 // <position>: location to store the position
14517 uint get_position(AT0)(double progress, /*out*/ AT0 /*Knot*/ position) nothrow {
14518 return clutter_path_get_position(&this, progress, UpCast!(Knot*)(position));
14521 // VERSION: 1.0
14522 // Inserts @node into the path before the node at the given offset. If
14523 // @index_ is negative it will append the node to the end of the path.
14524 // <index_>: offset of where to insert the node
14525 // <node>: the node to insert
14526 void insert_node(AT0)(int index_, AT0 /*PathNode*/ node) nothrow {
14527 clutter_path_insert_node(&this, index_, UpCast!(PathNode*)(node));
14530 // VERSION: 1.0
14531 // Removes the node at the given offset from the path.
14532 // <index_>: index of the node to remove
14533 void remove_node()(uint index_) nothrow {
14534 clutter_path_remove_node(&this, index_);
14537 // VERSION: 1.0
14538 // Replaces the node at offset @index_ with @node.
14539 // <index_>: index to the existing node
14540 // <node>: the replacement node
14541 void replace_node(AT0)(uint index_, AT0 /*PathNode*/ node) nothrow {
14542 clutter_path_replace_node(&this, index_, UpCast!(PathNode*)(node));
14545 // VERSION: 1.0
14546 // Replaces all of the nodes in the path with nodes described by
14547 // @str. See clutter_path_add_string() for details of the format.
14549 // If the string is invalid then %FALSE is returned and the path is
14550 // unaltered.
14551 // RETURNS: %TRUE is the path was valid, %FALSE otherwise.
14552 // <str>: a string describing the path
14553 int set_description(AT0)(AT0 /*char*/ str) nothrow {
14554 return clutter_path_set_description(&this, toCString!(char*)(str));
14557 // VERSION: 1.0
14558 // Add the nodes of the ClutterPath to the path in the Cairo context.
14559 // <cr>: a Cairo context
14560 void to_cairo_path(AT0)(AT0 /*cairo.Context*/ cr) nothrow {
14561 clutter_path_to_cairo_path(&this, UpCast!(cairo.Context*)(cr));
14566 // VERSION: 1.0
14567 // This function is passed to clutter_path_foreach() and will be
14568 // called for each node contained in the path.
14569 // <node>: the node
14570 // <data>: optional data passed to the function
14571 extern (C) alias void function (PathNode* node, void* data) nothrow PathCallback;
14573 // The #ClutterPathClass struct contains only private data.
14574 struct PathClass /* Version 1.0 */ {
14575 private GObject2.InitiallyUnownedClass parent_class;
14579 // <structname>ClutterPathConstraint</structname> is an opaque structure
14580 // whose members cannot be directly accessed
14581 struct PathConstraint /* : Constraint */ /* Version 1.6 */ {
14582 alias method_parent this;
14583 alias method_parent super_;
14584 alias method_parent constraint;
14585 Constraint method_parent;
14588 // VERSION: 1.6
14589 // Creates a new #ClutterPathConstraint with the given @path and @offset
14590 // RETURNS: the newly created #ClutterPathConstraint
14591 // <path>: a #ClutterPath, or %NULL
14592 // <offset>: the offset along the #ClutterPath
14593 static PathConstraint* /*new*/ new_(AT0)(AT0 /*Path*/ path, float offset) nothrow {
14594 return clutter_path_constraint_new(UpCast!(Path*)(path), offset);
14596 static auto opCall(AT0)(AT0 /*Path*/ path, float offset) {
14597 return clutter_path_constraint_new(UpCast!(Path*)(path), offset);
14600 // VERSION: 1.6
14601 // Retrieves the offset along the #ClutterPath used by @constraint.
14602 // RETURNS: the offset
14603 float get_offset()() nothrow {
14604 return clutter_path_constraint_get_offset(&this);
14607 // VERSION: 1.6
14608 // Retrieves a pointer to the #ClutterPath used by @constraint.
14610 // #ClutterPathConstraint, or %NULL. The returned #ClutterPath is owned
14611 // by the constraint and it should not be unreferenced
14612 // RETURNS: the #ClutterPath used by the
14613 Path* get_path()() nothrow {
14614 return clutter_path_constraint_get_path(&this);
14617 // VERSION: 1.6
14618 // Sets the offset along the #ClutterPath used by @constraint.
14619 // <offset>: the offset along the path
14620 void set_offset()(float offset) nothrow {
14621 clutter_path_constraint_set_offset(&this, offset);
14624 // VERSION: 1.6
14625 // Sets the @path to be followed by the #ClutterPathConstraint.
14627 // The @constraint will take ownership of the #ClutterPath passed to this
14628 // function.
14629 // <path>: a #ClutterPath
14630 void set_path(AT0)(AT0 /*Path*/ path=null) nothrow {
14631 clutter_path_constraint_set_path(&this, UpCast!(Path*)(path));
14634 // VERSION: 1.6
14635 // The ::node-reached signal is emitted each time a
14636 // #ClutterPathConstraint:offset value results in the actor
14637 // passing a #ClutterPathNode
14638 // <actor>: the #ClutterActor using the @constraint
14639 // <index>: the index of the node that has been reached
14640 extern (C) alias static void function (PathConstraint* this_, Actor* actor, c_uint index, void* user_data=null) nothrow signal_node_reached;
14642 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
14643 return super_.signal_connect!name(cb, data, cf);
14646 ulong signal_connect(string name:"node-reached", CB/*:signal_node_reached*/)
14647 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
14648 if (is(typeof(cb)==signal_node_reached)||_ttmm!(CB, signal_node_reached)()) {
14649 return signal_connect_data!()(&this, cast(char*)"node-reached",
14650 cast(GObject2.Callback)cb, data, null, cf);
14654 struct PathConstraintClass {
14658 // Represents a single node of a #ClutterPath.
14660 // Some of the coordinates in @points may be unused for some node
14661 // types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one
14662 // pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and
14663 // %CLUTTER_PATH_CLOSE uses none.
14664 struct PathNode /* Version 1.0 */ {
14665 PathNodeType type;
14666 Knot[3] points;
14669 // VERSION: 1.0
14670 // Makes an allocated copy of a node.
14671 // RETURNS: the copied node.
14672 PathNode* /*new*/ copy()() nothrow {
14673 return clutter_path_node_copy(&this);
14676 // VERSION: 1.0
14677 // Compares two nodes and checks if they are the same type with the
14678 // same coordinates.
14679 // RETURNS: %TRUE if the nodes are the same.
14680 // <node_b>: Second node
14681 int equal(AT0)(AT0 /*PathNode*/ node_b) nothrow {
14682 return clutter_path_node_equal(&this, UpCast!(PathNode*)(node_b));
14685 // VERSION: 1.0
14686 // Frees the memory of an allocated node.
14687 void free()() nothrow {
14688 clutter_path_node_free(&this);
14692 // Types of nodes in a #ClutterPath.
14693 enum PathNodeType /* Version 1.0 */ {
14694 MOVE_TO = 0,
14695 LINE_TO = 1,
14696 CURVE_TO = 2,
14697 CLOSE = 3,
14698 REL_MOVE_TO = 32,
14699 REL_LINE_TO = 33,
14700 REL_CURVE_TO = 34
14702 struct PathPrivate {
14705 enum int Pause = 65299;
14707 // Stage perspective definition. #ClutterPerspective is only used by
14708 // the fixed point version of clutter_stage_set_perspective().
14709 struct Perspective /* Version 0.4 */ {
14710 float fovy, aspect, z_near, z_far;
14713 enum int PesetaSign = 16785575;
14714 enum int Phone = 269025134;
14715 // Controls the paint cycle of the scene graph when in pick mode
14716 enum PickMode /* Version 1.0 */ {
14717 NONE = 0,
14718 REACTIVE = 1,
14719 ALL = 2
14721 enum int Pictures = 269025169;
14722 enum int Pointer_Accelerate = 65274;
14723 enum int Pointer_Button1 = 65257;
14724 enum int Pointer_Button2 = 65258;
14725 enum int Pointer_Button3 = 65259;
14726 enum int Pointer_Button4 = 65260;
14727 enum int Pointer_Button5 = 65261;
14728 enum int Pointer_Button_Dflt = 65256;
14729 enum int Pointer_DblClick1 = 65263;
14730 enum int Pointer_DblClick2 = 65264;
14731 enum int Pointer_DblClick3 = 65265;
14732 enum int Pointer_DblClick4 = 65266;
14733 enum int Pointer_DblClick5 = 65267;
14734 enum int Pointer_DblClick_Dflt = 65262;
14735 enum int Pointer_DfltBtnNext = 65275;
14736 enum int Pointer_DfltBtnPrev = 65276;
14737 enum int Pointer_Down = 65251;
14738 enum int Pointer_DownLeft = 65254;
14739 enum int Pointer_DownRight = 65255;
14740 enum int Pointer_Drag1 = 65269;
14741 enum int Pointer_Drag2 = 65270;
14742 enum int Pointer_Drag3 = 65271;
14743 enum int Pointer_Drag4 = 65272;
14744 enum int Pointer_Drag5 = 65277;
14745 enum int Pointer_Drag_Dflt = 65268;
14746 enum int Pointer_EnableKeys = 65273;
14747 enum int Pointer_Left = 65248;
14748 enum int Pointer_Right = 65249;
14749 enum int Pointer_Up = 65250;
14750 enum int Pointer_UpLeft = 65252;
14751 enum int Pointer_UpRight = 65253;
14752 enum int PowerDown = 269025057;
14753 enum int PowerOff = 269025066;
14754 enum int Prev_VMode = 269024803;
14755 enum int Prev_Virtual_Screen = 65233;
14756 enum int PreviousCandidate = 65342;
14757 enum int Print = 65377;
14758 enum int Prior = 65365;
14760 // VERSION: 1.0
14761 // Prototype of the progress function used to compute the value
14762 // between the two ends @a and @b of an interval depending on
14763 // the value of @progress.
14765 // The #GValue in @retval is already initialized with the same
14766 // type as @a and @b.
14768 // This function will be called by #ClutterInterval if the
14769 // type of the values of the interval was registered using
14770 // clutter_interval_register_progress_func().
14772 // the value and stored it inside @retval
14773 // RETURNS: %TRUE if the function successfully computed
14774 // <a>: the initial value of an interval
14775 // <b>: the final value of an interval
14776 // <progress>: the progress factor, between 0 and 1
14777 // <retval>: the value used to store the progress
14778 extern (C) alias int function (GObject2.Value* a, GObject2.Value* b, double progress, GObject2.Value* retval) nothrow ProgressFunc;
14780 enum int Q = 81;
14781 enum int R = 82;
14782 enum int R1 = 65490;
14783 enum int R10 = 65499;
14784 enum int R11 = 65500;
14785 enum int R12 = 65501;
14786 enum int R13 = 65502;
14787 enum int R14 = 65503;
14788 enum int R15 = 65504;
14789 enum int R2 = 65491;
14790 enum int R3 = 65492;
14791 enum int R4 = 65493;
14792 enum int R5 = 65494;
14793 enum int R6 = 65495;
14794 enum int R7 = 65496;
14795 enum int R8 = 65497;
14796 enum int R9 = 65498;
14797 enum int Racute = 448;
14798 enum int Rcaron = 472;
14799 enum int Rcedilla = 931;
14801 // The #ClutterRectangle structure contains only private data
14802 // and should be accessed using the provided API
14803 struct Rectangle /* : Actor */ /* Version 0.1 */ {
14804 mixin Atk.ImplementorIface.__interface__;
14805 mixin Animatable.__interface__;
14806 mixin Container.__interface__;
14807 mixin Scriptable.__interface__;
14808 alias parent this;
14809 alias parent super_;
14810 alias parent actor;
14811 Actor parent;
14812 private RectanglePrivate* priv;
14815 // Creates a new #ClutterActor with a rectangular shape.
14816 // RETURNS: a new #ClutterActor
14817 static Rectangle* new_()() nothrow {
14818 return clutter_rectangle_new();
14820 static auto opCall()() {
14821 return clutter_rectangle_new();
14824 // Creates a new #ClutterActor with a rectangular shape
14825 // and of the given @color.
14826 // RETURNS: a new #ClutterActor
14827 // <color>: a #ClutterColor
14828 static Rectangle* new_with_color(AT0)(AT0 /*Color*/ color) nothrow {
14829 return clutter_rectangle_new_with_color(UpCast!(Color*)(color));
14831 static auto opCall(AT0)(AT0 /*Color*/ color) {
14832 return clutter_rectangle_new_with_color(UpCast!(Color*)(color));
14835 // VERSION: 0.2
14836 // Gets the color of the border used by @rectangle and places
14837 // it into @color.
14838 // <color>: return location for a #ClutterColor
14839 void get_border_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
14840 clutter_rectangle_get_border_color(&this, UpCast!(Color*)(color));
14843 // VERSION: 0.2
14844 // Gets the width (in pixels) of the border used by @rectangle
14845 // RETURNS: the border's width
14846 uint get_border_width()() nothrow {
14847 return clutter_rectangle_get_border_width(&this);
14850 // Retrieves the color of @rectangle.
14851 // <color>: return location for a #ClutterColor
14852 void get_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
14853 clutter_rectangle_get_color(&this, UpCast!(Color*)(color));
14856 // Sets the color of the border used by @rectangle using @color
14857 // <color>: the color of the border
14858 void set_border_color(AT0)(AT0 /*Color*/ color) nothrow {
14859 clutter_rectangle_set_border_color(&this, UpCast!(Color*)(color));
14862 // VERSION: 0.2
14863 // Sets the width (in pixel) of the border used by @rectangle.
14864 // A @width of 0 will unset the border.
14865 // <width>: the width of the border
14866 void set_border_width()(uint width) nothrow {
14867 clutter_rectangle_set_border_width(&this, width);
14870 // Sets the color of @rectangle.
14871 // <color>: a #ClutterColor
14872 void set_color(AT0)(AT0 /*Color*/ color) nothrow {
14873 clutter_rectangle_set_color(&this, UpCast!(Color*)(color));
14877 // The #ClutterRectangleClass structure contains only private data
14878 struct RectangleClass /* Version 0.1 */ {
14879 private ActorClass parent_class;
14880 extern (C) void function () nothrow _clutter_rectangle1;
14881 extern (C) void function () nothrow _clutter_rectangle2;
14882 extern (C) void function () nothrow _clutter_rectangle3;
14883 extern (C) void function () nothrow _clutter_rectangle4;
14886 struct RectanglePrivate {
14889 enum int Red = 269025187;
14890 enum int Redo = 65382;
14891 enum int Refresh = 269025065;
14892 enum int Reload = 269025139;
14893 enum int RepeatKeys_Enable = 65138;
14894 enum int Reply = 269025138;
14895 // Specifies the type of requests for a #ClutterActor.
14896 enum RequestMode /* Version 0.8 */ {
14897 HEIGHT_FOR_WIDTH = 0,
14898 WIDTH_FOR_HEIGHT = 1
14900 enum int Return = 65293;
14901 enum int Right = 65363;
14902 enum int RockerDown = 269025060;
14903 enum int RockerEnter = 269025061;
14904 enum int RockerUp = 269025059;
14905 enum int Romaji = 65316;
14906 // Axis of a rotation.
14907 enum RotateAxis /* Version 0.4 */ {
14908 X_AXIS = 0,
14909 Y_AXIS = 1,
14910 Z_AXIS = 2
14912 // Direction of a rotation.
14913 enum RotateDirection /* Version 0.4 */ {
14914 CW = 0,
14915 CCW = 1
14917 enum int RotateWindows = 269025140;
14918 enum int RotationKB = 269025142;
14919 enum int RotationPB = 269025141;
14920 enum int RupeeSign = 16785576;
14921 enum int S = 83;
14922 enum int SCHWA = 16777615;
14923 enum int Sabovedot = 16784992;
14924 enum int Sacute = 422;
14925 enum int Save = 269025143;
14926 enum int Scaron = 425;
14927 enum int Scedilla = 426;
14928 enum int Scircumflex = 734;
14930 // The #ClutterScore structure contains only private data
14931 // and should be accessed using the provided API
14932 struct Score /* : GObject.Object */ /* Version 0.6 */ {
14933 alias parent this;
14934 alias parent super_;
14935 alias parent object;
14936 GObject2.Object parent;
14937 private ScorePrivate* priv;
14940 // VERSION: 0.6
14941 // Creates a new #ClutterScore. A #ClutterScore is an object that can
14942 // hold multiple #ClutterTimeline<!-- -->s in a sequential order.
14944 // when done.
14945 // RETURNS: the newly created #ClutterScore. Use g_object_unref()
14946 static Score* /*new*/ new_()() nothrow {
14947 return clutter_score_new();
14949 static auto opCall()() {
14950 return clutter_score_new();
14953 // VERSION: 0.6
14954 // Appends a timeline to another one existing in the score; the newly
14955 // appended timeline will be started when @parent is complete.
14957 // If @parent is %NULL, the new #ClutterTimeline will be started when
14958 // clutter_score_start() is called.
14960 // #ClutterScore will take a reference on @timeline.
14962 // 0 on failure. The returned id can be used with clutter_score_remove()
14963 // or clutter_score_get_timeline().
14964 // RETURNS: the id of the #ClutterTimeline inside the score, or
14965 // <parent>: a #ClutterTimeline in the score, or %NULL
14966 // <timeline>: a #ClutterTimeline
14967 c_ulong append(AT0, AT1)(AT0 /*Timeline*/ parent, AT1 /*Timeline*/ timeline) nothrow {
14968 return clutter_score_append(&this, UpCast!(Timeline*)(parent), UpCast!(Timeline*)(timeline));
14971 // VERSION: 0.8
14972 // Appends @timeline at the given @marker_name on the @parent
14973 // #ClutterTimeline.
14975 // If you want to append @timeline at the end of @parent, use
14976 // clutter_score_append().
14978 // The #ClutterScore will take a reference on @timeline.
14980 // 0 on failure. The returned id can be used with clutter_score_remove()
14981 // or clutter_score_get_timeline().
14982 // RETURNS: the id of the #ClutterTimeline inside the score, or
14983 // <parent>: the parent #ClutterTimeline
14984 // <marker_name>: the name of the marker to use
14985 // <timeline>: the #ClutterTimeline to append
14986 c_ulong append_at_marker(AT0, AT1, AT2)(AT0 /*Timeline*/ parent, AT1 /*char*/ marker_name, AT2 /*Timeline*/ timeline) nothrow {
14987 return clutter_score_append_at_marker(&this, UpCast!(Timeline*)(parent), toCString!(char*)(marker_name), UpCast!(Timeline*)(timeline));
14990 // VERSION: 0.6
14991 // Gets whether @score is looping
14992 // RETURNS: %TRUE if the score is looping
14993 int get_loop()() nothrow {
14994 return clutter_score_get_loop(&this);
14997 // VERSION: 0.6
14998 // Retrieves the #ClutterTimeline for @id_ inside @score.
15000 // function does not increase the reference count on the returned
15001 // #ClutterTimeline
15002 // RETURNS: the requested timeline, or %NULL. This
15003 // <id_>: the id of the timeline
15004 Timeline* get_timeline()(c_ulong id_) nothrow {
15005 return clutter_score_get_timeline(&this, id_);
15008 // VERSION: 0.6
15009 // Query state of a #ClutterScore instance.
15010 // RETURNS: %TRUE if score is currently playing
15011 int is_playing()() nothrow {
15012 return clutter_score_is_playing(&this);
15015 // VERSION: 0.6
15016 // Retrieves a list of all the #ClutterTimelines managed by @score.
15018 // #GSList containing all the timelines in the score. This function does
15019 // not increase the reference count of the returned timelines. Use
15020 // g_slist_free() on the returned list to deallocate its resources.
15021 // RETURNS: a
15022 GLib2.SList* /*new container*/ list_timelines()() nothrow {
15023 return clutter_score_list_timelines(&this);
15026 // VERSION: 0.6
15027 // Pauses a playing score @score.
15028 void pause()() nothrow {
15029 clutter_score_pause(&this);
15032 // VERSION: 0.6
15033 // Removes the #ClutterTimeline with the given id inside @score. If
15034 // the timeline has other timelines attached to it, those are removed
15035 // as well.
15036 // <id_>: the id of the timeline to remove
15037 void remove()(c_ulong id_) nothrow {
15038 clutter_score_remove(&this, id_);
15041 // VERSION: 0.6
15042 // Removes all the timelines inside @score.
15043 void remove_all()() nothrow {
15044 clutter_score_remove_all(&this);
15047 // VERSION: 0.6
15048 // Rewinds a #ClutterScore to its initial state.
15049 void rewind()() nothrow {
15050 clutter_score_rewind(&this);
15053 // VERSION: 0.6
15054 // Sets whether @score should loop. A looping #ClutterScore will start
15055 // from its initial state after the ::complete signal has been fired.
15056 // <loop>: %TRUE for enable looping
15057 void set_loop()(int loop) nothrow {
15058 clutter_score_set_loop(&this, loop);
15061 // VERSION: 0.6
15062 // Starts the score.
15063 void start()() nothrow {
15064 clutter_score_start(&this);
15067 // VERSION: 0.6
15068 // Stops and rewinds a playing #ClutterScore instance.
15069 void stop()() nothrow {
15070 clutter_score_stop(&this);
15073 // VERSION: 0.6
15074 // The ::completed signal is emitted each time a #ClutterScore terminates.
15075 extern (C) alias static void function (Score* this_, void* user_data=null) nothrow signal_completed;
15077 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
15078 return super_.signal_connect!name(cb, data, cf);
15081 ulong signal_connect(string name:"completed", CB/*:signal_completed*/)
15082 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
15083 if (is(typeof(cb)==signal_completed)||_ttmm!(CB, signal_completed)()) {
15084 return signal_connect_data!()(&this, cast(char*)"completed",
15085 cast(GObject2.Callback)cb, data, null, cf);
15088 // VERSION: 0.6
15089 // The ::paused signal is emitted each time a #ClutterScore
15090 // is paused.
15091 extern (C) alias static void function (Score* this_, void* user_data=null) nothrow signal_paused;
15092 ulong signal_connect(string name:"paused", CB/*:signal_paused*/)
15093 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
15094 if (is(typeof(cb)==signal_paused)||_ttmm!(CB, signal_paused)()) {
15095 return signal_connect_data!()(&this, cast(char*)"paused",
15096 cast(GObject2.Callback)cb, data, null, cf);
15099 // VERSION: 0.6
15100 // The ::started signal is emitted each time a #ClutterScore starts playing.
15101 extern (C) alias static void function (Score* this_, void* user_data=null) nothrow signal_started;
15102 ulong signal_connect(string name:"started", CB/*:signal_started*/)
15103 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
15104 if (is(typeof(cb)==signal_started)||_ttmm!(CB, signal_started)()) {
15105 return signal_connect_data!()(&this, cast(char*)"started",
15106 cast(GObject2.Callback)cb, data, null, cf);
15109 // VERSION: 0.6
15110 // The ::timeline-completed signal is emitted each time a timeline
15111 // inside a #ClutterScore terminates.
15112 // <timeline>: the completed timeline
15113 extern (C) alias static void function (Score* this_, Timeline* timeline, void* user_data=null) nothrow signal_timeline_completed;
15114 ulong signal_connect(string name:"timeline-completed", CB/*:signal_timeline_completed*/)
15115 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
15116 if (is(typeof(cb)==signal_timeline_completed)||_ttmm!(CB, signal_timeline_completed)()) {
15117 return signal_connect_data!()(&this, cast(char*)"timeline-completed",
15118 cast(GObject2.Callback)cb, data, null, cf);
15121 // VERSION: 0.6
15122 // The ::timeline-started signal is emitted each time a new timeline
15123 // inside a #ClutterScore starts playing.
15124 // <timeline>: the current timeline
15125 extern (C) alias static void function (Score* this_, Timeline* timeline, void* user_data=null) nothrow signal_timeline_started;
15126 ulong signal_connect(string name:"timeline-started", CB/*:signal_timeline_started*/)
15127 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
15128 if (is(typeof(cb)==signal_timeline_started)||_ttmm!(CB, signal_timeline_started)()) {
15129 return signal_connect_data!()(&this, cast(char*)"timeline-started",
15130 cast(GObject2.Callback)cb, data, null, cf);
15134 // The #ClutterScoreClass structure contains only private data
15135 struct ScoreClass /* Version 0.6 */ {
15136 private GObject2.ObjectClass parent_class;
15137 extern (C) void function (Score* score, Timeline* timeline) nothrow timeline_started;
15138 extern (C) void function (Score* score, Timeline* timeline) nothrow timeline_completed;
15139 extern (C) void function (Score* score) nothrow started;
15140 extern (C) void function (Score* score) nothrow completed;
15141 extern (C) void function (Score* score) nothrow paused;
15142 extern (C) void function () nothrow _clutter_score_1;
15143 extern (C) void function () nothrow _clutter_score_2;
15144 extern (C) void function () nothrow _clutter_score_3;
15145 extern (C) void function () nothrow _clutter_score_4;
15146 extern (C) void function () nothrow _clutter_score_5;
15149 struct ScorePrivate {
15152 enum int ScreenSaver = 269025069;
15154 // The #ClutterScript structure contains only private data
15155 // and should be accessed using the provided API
15156 struct Script /* : GObject.Object */ /* Version 0.6 */ {
15157 alias parent_instance this;
15158 alias parent_instance super_;
15159 alias parent_instance object;
15160 GObject2.Object parent_instance;
15161 private ScriptPrivate* priv;
15164 // VERSION: 0.6
15165 // Creates a new #ClutterScript instance. #ClutterScript can be used
15166 // to load objects definitions for scenegraph elements, like actors,
15167 // or behavioural elements, like behaviours and timelines. The
15168 // definitions must be encoded using the JavaScript Object Notation (JSON)
15169 // language.
15171 // g_object_unref() when done.
15172 // RETURNS: the newly created #ClutterScript instance. Use
15173 static Script* /*new*/ new_()() nothrow {
15174 return clutter_script_new();
15176 static auto opCall()() {
15177 return clutter_script_new();
15180 // VERSION: 0.8
15181 // Adds @paths to the list of search paths held by @script.
15183 // The search paths are used by clutter_script_lookup_filename(), which
15184 // can be used to define search paths for the textures source file name
15185 // or other custom, file-based properties.
15186 // <paths>: an array of strings containing different search paths
15187 // <n_paths>: the length of the passed array
15188 void add_search_paths(AT0)(AT0 /*char*/ paths, size_t n_paths) nothrow {
15189 clutter_script_add_search_paths(&this, toCString!(char*)(paths), n_paths);
15192 // VERSION: 1.8
15193 // Associates a #ClutterState to the #ClutterScript instance using the given
15194 // name.
15196 // The #ClutterScript instance will use @state to resolve target states when
15197 // connecting signal handlers.
15199 // The #ClutterScript instance will take a reference on the #ClutterState
15200 // passed to this function.
15201 // <name>: a name for the @state, or %NULL to set the default #ClutterState
15202 // <state>: a #ClutterState
15203 void add_states(AT0, AT1)(AT0 /*char*/ name, AT1 /*State*/ state) nothrow {
15204 clutter_script_add_states(&this, toCString!(char*)(name), UpCast!(State*)(state));
15207 // VERSION: 0.6
15208 // Connects all the signals defined into a UI definition file to their
15209 // handlers.
15211 // This method invokes clutter_script_connect_signals_full() internally
15212 // and uses #GModule's introspective features (by opening the current
15213 // module's scope) to look at the application's symbol table.
15215 // Note that this function will not work if #GModule is not supported by
15216 // the platform Clutter is running on.
15217 // <user_data>: data to be passed to the signal handlers, or %NULL
15218 void connect_signals(AT0)(AT0 /*void*/ user_data) nothrow {
15219 clutter_script_connect_signals(&this, UpCast!(void*)(user_data));
15222 // VERSION: 0.6
15223 // Connects all the signals defined into a UI definition file to their
15224 // handlers.
15226 // This function allows to control how the signal handlers are
15227 // going to be connected to their respective signals. It is meant
15228 // primarily for language bindings to allow resolving the function
15229 // names using the native API, but it can also be used on platforms
15230 // that do not support GModule.
15232 // Applications should use clutter_script_connect_signals().
15233 // <func>: signal connection function
15234 // <user_data>: data to be passed to the signal handlers, or %NULL
15235 void connect_signals_full(AT0)(ScriptConnectFunc func, AT0 /*void*/ user_data) nothrow {
15236 clutter_script_connect_signals_full(&this, func, UpCast!(void*)(user_data));
15239 // VERSION: 0.6
15240 // Ensure that every object defined inside @script is correctly
15241 // constructed. You should rarely need to use this function.
15242 void ensure_objects()() nothrow {
15243 clutter_script_ensure_objects(&this);
15246 // VERSION: 0.6
15247 // Retrieves the object bound to @name. This function does not increment
15248 // the reference count of the returned object.
15250 // with the given name was available
15251 // RETURNS: the named object, or %NULL if no object
15252 // <name>: the name of the object to retrieve
15253 GObject2.Object* get_object(AT0)(AT0 /*char*/ name) nothrow {
15254 return clutter_script_get_object(&this, toCString!(char*)(name));
15257 // Unintrospectable method: get_objects() / clutter_script_get_objects()
15258 // VERSION: 0.6
15259 // Retrieves a list of objects for the given names. After @script, object
15260 // names/return location pairs should be listed, with a %NULL pointer
15261 // ending the list, like:
15263 // <informalexample><programlisting>
15264 // GObject *my_label, *a_button, *main_timeline;
15266 // clutter_script_get_objects (script,
15267 // "my-label", &amp;my_label,
15268 // "a-button", &amp;a_button,
15269 // "main-timeline", &amp;main_timeline,
15270 // NULL);
15271 // </programlisting></informalexample>
15273 // Note: This function does not increment the reference count of the
15274 // returned objects.
15275 // RETURNS: the number of objects returned.
15276 // <first_name>: the name of the first object to retrieve
15277 /+ Not available -- variadic methods unsupported - use the C function directly.
15278 alias clutter_script_get_objects get_objects; // Variadic
15281 // VERSION: 1.8
15282 // Retrieves the #ClutterState for the given @state_name.
15284 // If @name is %NULL, this function will return the default
15285 // #ClutterState instance.
15287 // given name. The #ClutterState is owned by the #ClutterScript instance
15288 // and it should not be unreferenced
15289 // RETURNS: a pointer to the #ClutterState for the
15290 // <name>: the name of the #ClutterState, or %NULL
15291 State* get_states(AT0)(AT0 /*char*/ name=null) nothrow {
15292 return clutter_script_get_states(&this, toCString!(char*)(name));
15295 // VERSION: 0.6
15296 // Looks up a type by name, using the virtual function that
15297 // #ClutterScript has for that purpose. This function should
15298 // rarely be used.
15300 // %G_TYPE_INVALID if not corresponding type was found.
15301 // RETURNS: the type for the requested type name, or
15302 // <type_name>: name of the type to look up
15303 Type get_type_from_name(AT0)(AT0 /*char*/ type_name) nothrow {
15304 return clutter_script_get_type_from_name(&this, toCString!(char*)(type_name));
15307 // VERSION: 0.8.2
15308 // Retrieves all the objects created by @script.
15310 // Note: this function does not increment the reference count of the
15311 // objects it returns.
15313 // of #GObject<!-- -->s, or %NULL. The objects are owned by the
15314 // #ClutterScript instance. Use g_list_free() on the returned list when
15315 // done.
15316 // RETURNS: a list
15317 GLib2.List* /*new container*/ list_objects()() nothrow {
15318 return clutter_script_list_objects(&this);
15321 // VERSION: 0.6
15322 // Loads the definitions from @data into @script and merges with
15323 // the currently loaded ones, if any.
15325 // accordingly. On success, the merge id for the UI definitions is
15326 // returned. You can use the merge id with clutter_script_unmerge_objects().
15327 // RETURNS: on error, zero is returned and @error is set
15328 // <data>: a buffer containing the definitions
15329 // <length>: the length of the buffer, or -1 if @data is a NUL-terminated buffer
15330 uint load_from_data(AT0, AT1)(AT0 /*char*/ data, ssize_t length, AT1 /*GLib2.Error**/ error=null) nothrow {
15331 return clutter_script_load_from_data(&this, toCString!(char*)(data), length, UpCast!(GLib2.Error**)(error));
15334 // VERSION: 0.6
15335 // Loads the definitions from @filename into @script and merges with
15336 // the currently loaded ones, if any.
15338 // accordingly. On success, the merge id for the UI definitions is
15339 // returned. You can use the merge id with clutter_script_unmerge_objects().
15340 // RETURNS: on error, zero is returned and @error is set
15341 // <filename>: the full path to the definition file
15342 uint load_from_file(AT0, AT1)(AT0 /*char*/ filename, AT1 /*GLib2.Error**/ error=null) nothrow {
15343 return clutter_script_load_from_file(&this, toCString!(char*)(filename), UpCast!(GLib2.Error**)(error));
15346 // VERSION: 1.10
15347 // Loads the definitions from a resource file into @script and merges with
15348 // the currently loaded ones, if any.
15350 // accordingly. On success, the merge id for the UI definitions is
15351 // returned. You can use the merge id with clutter_script_unmerge_objects().
15352 // RETURNS: on error, zero is returned and @error is set
15353 // <resource_path>: the resource path of the file to parse
15354 uint load_from_resource(AT0, AT1)(AT0 /*char*/ resource_path, AT1 /*GLib2.Error**/ error=null) nothrow {
15355 return clutter_script_load_from_resource(&this, toCString!(char*)(resource_path), UpCast!(GLib2.Error**)(error));
15358 // VERSION: 0.8
15359 // Looks up @filename inside the search paths of @script. If @filename
15360 // is found, its full path will be returned .
15362 // found.
15363 // RETURNS: the full path of @filename or %NULL if no path was
15364 // <filename>: the name of the file to lookup
15365 char* /*new*/ lookup_filename(AT0)(AT0 /*char*/ filename) nothrow {
15366 return clutter_script_lookup_filename(&this, toCString!(char*)(filename));
15369 // VERSION: 0.6
15370 // Unmerges the objects identified by @merge_id.
15371 // <merge_id>: merge id returned when loading a UI definition
15372 void unmerge_objects()(uint merge_id) nothrow {
15373 clutter_script_unmerge_objects(&this, merge_id);
15377 // The #ClutterScriptClass structure contains only private data
15378 struct ScriptClass /* Version 0.6 */ {
15379 private GObject2.ObjectClass parent_class;
15381 // RETURNS: the type for the requested type name, or
15382 // <type_name>: name of the type to look up
15383 extern (C) Type function (Script* script, char* type_name) nothrow get_type_from_name;
15384 extern (C) void function () nothrow _clutter_reserved1;
15385 extern (C) void function () nothrow _clutter_reserved2;
15386 extern (C) void function () nothrow _clutter_reserved3;
15387 extern (C) void function () nothrow _clutter_reserved4;
15388 extern (C) void function () nothrow _clutter_reserved5;
15389 extern (C) void function () nothrow _clutter_reserved6;
15390 extern (C) void function () nothrow _clutter_reserved7;
15391 extern (C) void function () nothrow _clutter_reserved8;
15395 // VERSION: 0.6
15396 // This is the signature of a function used to connect signals. It is used
15397 // by the clutter_script_connect_signals_full() function. It is mainly
15398 // intended for interpreted language bindings, but could be useful where the
15399 // programmer wants more control over the signal connection process.
15400 // <script>: a #ClutterScript
15401 // <object>: the object to connect
15402 // <signal_name>: the name of the signal
15403 // <handler_name>: the name of the signal handler
15404 // <connect_object>: the object to connect the signal to, or %NULL
15405 // <flags>: signal connection flags
15406 // <user_data>: user data to pass to the signal handler
15407 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) nothrow ScriptConnectFunc;
15409 // #ClutterScript error enumeration.
15410 enum ScriptError /* Version 0.6 */ {
15411 TYPE_FUNCTION = 0,
15412 PROPERTY = 1,
15413 VALUE = 2
15415 struct ScriptPrivate {
15419 // #ClutterScriptable is an opaque structure whose members cannot be directly
15420 // accessed
15421 struct Scriptable /* Interface */ /* Version 0.6 */ {
15422 mixin template __interface__() {
15423 // VERSION: 0.6
15424 // Retrieves the id of @scriptable set using clutter_scriptable_set_id().
15426 // the scriptable object and should never be modified of freed
15427 // RETURNS: the id of the object. The returned string is owned by
15428 char* get_id()() nothrow {
15429 return clutter_scriptable_get_id(cast(Scriptable*)&this);
15432 // VERSION: 0.6
15433 // Parses the passed JSON node. The implementation must set the type
15434 // of the passed #GValue pointer using g_value_init().
15435 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
15436 // <script>: the #ClutterScript creating the scriptable instance
15437 // <value>: the generic value to be set
15438 // <name>: the name of the node
15439 // <node>: the JSON node to be parsed
15440 int parse_custom_node(AT0, AT1, AT2, AT3)(AT0 /*Script*/ script, AT1 /*GObject2.Value*/ value, AT2 /*char*/ name, AT3 /*Json.Node*/ node) nothrow {
15441 return clutter_scriptable_parse_custom_node(cast(Scriptable*)&this, UpCast!(Script*)(script), UpCast!(GObject2.Value*)(value), toCString!(char*)(name), UpCast!(Json.Node*)(node));
15444 // VERSION: 0.6
15445 // Overrides the common properties setting. The underlying virtual
15446 // function should be used when implementing custom properties.
15447 // <script>: the #ClutterScript creating the scriptable instance
15448 // <name>: the name of the property
15449 // <value>: the value of the property
15450 void set_custom_property(AT0, AT1, AT2)(AT0 /*Script*/ script, AT1 /*char*/ name, AT2 /*GObject2.Value*/ value) nothrow {
15451 clutter_scriptable_set_custom_property(cast(Scriptable*)&this, UpCast!(Script*)(script), toCString!(char*)(name), UpCast!(GObject2.Value*)(value));
15454 // VERSION: 0.6
15455 // Sets @id_ as the unique Clutter script it for this instance of
15456 // #ClutterScriptableIface.
15458 // This name can be used by user interface designer applications to
15459 // define a unique name for an object constructable using the UI
15460 // definition language parsed by #ClutterScript.
15461 // <id_>: the #ClutterScript id of the object
15462 void set_id(AT0)(AT0 /*char*/ id_) nothrow {
15463 clutter_scriptable_set_id(cast(Scriptable*)&this, toCString!(char*)(id_));
15466 mixin __interface__;
15470 // Interface for implementing "scriptable" objects. An object implementing
15471 // this interface can override the parsing and properties setting sequence
15472 // when loading a UI definition data with #ClutterScript
15473 struct ScriptableIface /* Version 0.6 */ {
15474 private GObject2.TypeInterface g_iface;
15475 // <id_>: the #ClutterScript id of the object
15476 extern (C) void function (Scriptable* scriptable, char* id_) nothrow set_id;
15477 // RETURNS: the id of the object. The returned string is owned by
15478 extern (C) char* function (Scriptable* scriptable) nothrow get_id;
15480 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
15481 // <script>: the #ClutterScript creating the scriptable instance
15482 // <value>: the generic value to be set
15483 // <name>: the name of the node
15484 // <node>: the JSON node to be parsed
15485 extern (C) int function (Scriptable* scriptable, Script* script, GObject2.Value* value, char* name, Json.Node* node) nothrow parse_custom_node;
15487 // <script>: the #ClutterScript creating the scriptable instance
15488 // <name>: the name of the property
15489 // <value>: the value of the property
15490 extern (C) void function (Scriptable* scriptable, Script* script, char* name, GObject2.Value* value) nothrow set_custom_property;
15493 enum int ScrollClick = 269025146;
15494 // Direction of a pointer scroll event.
15495 enum ScrollDirection /* Version 0.4 */ {
15496 UP = 0,
15497 DOWN = 1,
15498 LEFT = 2,
15499 RIGHT = 3
15501 enum int ScrollDown = 269025145;
15502 // Scroll wheel (or similar device) event
15503 struct ScrollEvent /* Version 0.2 */ {
15504 EventType type;
15505 uint time;
15506 EventFlags flags;
15507 Stage* stage;
15508 Actor* source;
15509 float x, y;
15510 ScrollDirection direction;
15511 ModifierType modifier_state;
15512 double* axes;
15513 InputDevice* device;
15516 enum int ScrollUp = 269025144;
15517 enum int Scroll_Lock = 65300;
15518 enum int Search = 269025051;
15519 enum int Select = 65376;
15520 enum int SelectButton = 269025184;
15521 enum int Send = 269025147;
15522 enum int Serbian_DJE = 1713;
15523 enum int Serbian_DZE = 1727;
15524 enum int Serbian_JE = 1720;
15525 enum int Serbian_LJE = 1721;
15526 enum int Serbian_NJE = 1722;
15527 enum int Serbian_TSHE = 1723;
15528 enum int Serbian_dje = 1697;
15529 enum int Serbian_dze = 1711;
15530 enum int Serbian_je = 1704;
15531 enum int Serbian_lje = 1705;
15532 enum int Serbian_nje = 1706;
15533 enum int Serbian_tshe = 1707;
15535 // <structname>ClutterSettings</structname> is an opaque structure whose
15536 // members cannot be directly accessed.
15537 struct Settings /* : GObject.Object */ /* Version 1.4 */ {
15538 alias method_parent this;
15539 alias method_parent super_;
15540 alias method_parent object;
15541 GObject2.Object method_parent;
15544 // VERSION: 1.4
15545 // Retrieves the singleton instance of #ClutterSettings
15547 // returned object is owned by Clutter and it should not be unreferenced
15548 // directly
15549 // RETURNS: the instance of #ClutterSettings. The
15550 static Settings* get_default()() nothrow {
15551 return clutter_settings_get_default();
15555 struct SettingsClass {
15559 // The #ClutterShader structure contains only private data
15560 // and should be accessed using the provided API
15561 struct Shader /* : GObject.Object */ /* Version 0.6 */ {
15562 alias parent this;
15563 alias parent super_;
15564 alias parent object;
15565 GObject2.Object parent;
15566 private ShaderPrivate* priv;
15569 // VERSION: 0.6
15570 // DEPRECATED (v1.8) constructor: new - Use #ClutterShaderEffect instead.
15571 // Create a new #ClutterShader instance.
15572 // RETURNS: a new #ClutterShader.
15573 static Shader* /*new*/ new_()() nothrow {
15574 return clutter_shader_new();
15576 static auto opCall()() {
15577 return clutter_shader_new();
15579 static GLib2.Quark error_quark()() nothrow {
15580 return clutter_shader_error_quark();
15583 // VERSION: 0.8
15584 // DEPRECATED (v1.8) method: compile - Use #ClutterShaderEffect instead.
15585 // Compiles and links GLSL sources set for vertex and fragment shaders for
15586 // a #ClutterShader. If the compilation fails and a #GError return location is
15587 // provided the error will contain the errors from the compiler, if any.
15588 // RETURNS: returns TRUE if the shader was succesfully compiled.
15589 int compile(AT0)(AT0 /*GLib2.Error**/ error=null) nothrow {
15590 return clutter_shader_compile(&this, UpCast!(GLib2.Error**)(error));
15593 // VERSION: 1.0
15594 // DEPRECATED (v1.8) method: get_cogl_fragment_shader - Use #ClutterShaderEffect instead.
15595 // Retrieves the underlying #CoglHandle for the fragment shader.
15597 // shader, or %NULL. The handle is owned by the #ClutterShader
15598 // and it should not be unreferenced
15599 // RETURNS: A #CoglHandle for the fragment
15600 Cogl.Handle get_cogl_fragment_shader()() nothrow {
15601 return clutter_shader_get_cogl_fragment_shader(&this);
15604 // VERSION: 1.0
15605 // DEPRECATED (v1.8) method: get_cogl_program - Use #ClutterShaderEffect instead.
15606 // Retrieves the underlying #CoglHandle for the shader program.
15608 // or %NULL. The handle is owned by the #ClutterShader and it should
15609 // not be unreferenced
15610 // RETURNS: A #CoglHandle for the shader program,
15611 Cogl.Handle get_cogl_program()() nothrow {
15612 return clutter_shader_get_cogl_program(&this);
15615 // VERSION: 1.0
15616 // DEPRECATED (v1.8) method: get_cogl_vertex_shader - Use #ClutterShaderEffect instead.
15617 // Retrieves the underlying #CoglHandle for the vertex shader.
15619 // shader, or %NULL. The handle is owned by the #ClutterShader
15620 // and it should not be unreferenced
15621 // RETURNS: A #CoglHandle for the vertex
15622 Cogl.Handle get_cogl_vertex_shader()() nothrow {
15623 return clutter_shader_get_cogl_vertex_shader(&this);
15626 // VERSION: 0.6
15627 // DEPRECATED (v1.8) method: get_fragment_source - Use #ClutterShaderEffect instead.
15628 // Query the current GLSL fragment source set on @shader.
15630 // ClutterShader object or %NULL. The returned string is owned by the
15631 // shader object and should never be modified or freed
15632 // RETURNS: the source of the fragment shader for this
15633 char* get_fragment_source()() nothrow {
15634 return clutter_shader_get_fragment_source(&this);
15637 // VERSION: 0.6
15638 // DEPRECATED (v1.8) method: get_is_enabled - Use #ClutterShaderEffect instead.
15639 // Checks whether @shader is enabled.
15640 // RETURNS: %TRUE if the shader is enabled.
15641 int get_is_enabled()() nothrow {
15642 return clutter_shader_get_is_enabled(&this);
15645 // VERSION: 0.6
15646 // DEPRECATED (v1.8) method: get_vertex_source - Use #ClutterShaderEffect instead.
15647 // Query the current GLSL vertex source set on @shader.
15649 // ClutterShader object or %NULL. The returned string is owned by the
15650 // shader object and should never be modified or freed
15651 // RETURNS: the source of the vertex shader for this
15652 char* get_vertex_source()() nothrow {
15653 return clutter_shader_get_vertex_source(&this);
15656 // VERSION: 0.8
15657 // DEPRECATED (v1.8) method: is_compiled - Use #ClutterShaderEffect instead.
15658 // Checks whether @shader is is currently compiled, linked and bound
15659 // to the GL context.
15660 // RETURNS: %TRUE if the shader is compiled, linked and ready for use.
15661 int is_compiled()() nothrow {
15662 return clutter_shader_is_compiled(&this);
15665 // VERSION: 0.6
15666 // DEPRECATED (v1.8) method: release - Use #ClutterShaderEffect instead.
15667 // Frees up any GL context resources held by the shader.
15668 void release()() nothrow {
15669 clutter_shader_release(&this);
15672 // VERSION: 0.6
15673 // DEPRECATED (v1.8) method: set_fragment_source - Use #ClutterShaderEffect instead.
15674 // Sets the GLSL source code to be used by a #ClutterShader for the fragment
15675 // program.
15676 // <data>: GLSL source code.
15677 // <length>: length of source buffer (currently ignored)
15678 void set_fragment_source(AT0)(AT0 /*char*/ data, ssize_t length) nothrow {
15679 clutter_shader_set_fragment_source(&this, toCString!(char*)(data), length);
15682 // VERSION: 0.6
15683 // DEPRECATED (v1.8) method: set_is_enabled - Use #ClutterShaderEffect instead.
15684 // Enables a shader. This function will attempt to compile and link
15685 // the shader, if it isn't already.
15687 // When @enabled is %FALSE the default state of the GL pipeline will be
15688 // used instead.
15689 // <enabled>: The new state of the shader.
15690 void set_is_enabled()(int enabled) nothrow {
15691 clutter_shader_set_is_enabled(&this, enabled);
15694 // VERSION: 1.0
15695 // DEPRECATED (v1.8) method: set_uniform - Use #ClutterShaderEffect instead.
15696 // Sets a user configurable variable in the GLSL shader programs attached to
15697 // a #ClutterShader.
15698 // <name>: name of uniform in GLSL shader program to set.
15699 // <value>: a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue.
15700 void set_uniform(AT0, AT1)(AT0 /*char*/ name, AT1 /*GObject2.Value*/ value) nothrow {
15701 clutter_shader_set_uniform(&this, toCString!(char*)(name), UpCast!(GObject2.Value*)(value));
15704 // VERSION: 0.6
15705 // DEPRECATED (v1.8) method: set_vertex_source - Use #ClutterShaderEffect instead.
15706 // Sets the GLSL source code to be used by a #ClutterShader for the vertex
15707 // program.
15708 // <data>: GLSL source code.
15709 // <length>: length of source buffer (currently ignored)
15710 void set_vertex_source(AT0)(AT0 /*char*/ data, ssize_t length) nothrow {
15711 clutter_shader_set_vertex_source(&this, toCString!(char*)(data), length);
15715 // The #ClutterShaderClass structure contains only private data
15716 struct ShaderClass /* Version 0.6 */ {
15717 private GObject2.ObjectClass parent_class;
15721 // The <structname>ClutterShaderEffect</structname> structure contains
15722 // only private data and should be accessed using the provided API
15723 struct ShaderEffect /* : OffscreenEffect */ /* Version 1.4 */ {
15724 alias parent_instance this;
15725 alias parent_instance super_;
15726 alias parent_instance offscreeneffect;
15727 OffscreenEffect parent_instance;
15728 private ShaderEffectPrivate* priv;
15731 // VERSION: 1.8
15732 // Creates a new #ClutterShaderEffect, to be applied to an actor using
15733 // clutter_actor_add_effect().
15735 // The effect will be empty until clutter_shader_effect_set_shader_source()
15736 // is called.
15738 // Use g_object_unref() when done.
15739 // RETURNS: the newly created #ClutterShaderEffect.
15740 // <shader_type>: the type of the shader, either %CLUTTER_FRAGMENT_SHADER, or %CLUTTER_VERTEX_SHADER
15741 static ShaderEffect* /*new*/ new_()(ShaderType shader_type) nothrow {
15742 return clutter_shader_effect_new(shader_type);
15744 static auto opCall()(ShaderType shader_type) {
15745 return clutter_shader_effect_new(shader_type);
15748 // VERSION: 1.4
15749 // Retrieves a pointer to the program's handle
15751 // or %COGL_INVALID_HANDLE
15752 // RETURNS: a pointer to the program's handle,
15753 Cogl.Handle get_program()() nothrow {
15754 return clutter_shader_effect_get_program(&this);
15757 // VERSION: 1.4
15758 // Retrieves a pointer to the shader's handle
15760 // or %COGL_INVALID_HANDLE
15761 // RETURNS: a pointer to the shader's handle,
15762 Cogl.Handle get_shader()() nothrow {
15763 return clutter_shader_effect_get_shader(&this);
15766 // VERSION: 1.4
15767 // Sets the source of the GLSL shader used by @effect
15769 // This function should only be called by implementations of
15770 // the #ClutterShaderEffect class, and not by application code.
15772 // This function can only be called once; subsequent calls will
15773 // yield no result.
15774 // RETURNS: %TRUE if the source was set
15775 // <source>: the source of a GLSL shader
15776 int set_shader_source(AT0)(AT0 /*char*/ source) nothrow {
15777 return clutter_shader_effect_set_shader_source(&this, toCString!(char*)(source));
15780 // Unintrospectable method: set_uniform() / clutter_shader_effect_set_uniform()
15781 // VERSION: 1.4
15782 // Sets a list of values as the payload for the uniform @name inside
15783 // the shader effect
15785 // The @gtype must be one of: %G_TYPE_INT, for 1 or more integer values;
15786 // %G_TYPE_FLOAT, for 1 or more floating point values;
15787 // %CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values;
15788 // %CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point
15789 // values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of
15790 // floating point values mapping a matrix
15792 // The number of values interepreted is defined by the @n_value
15793 // argument, and by the @gtype argument. For instance, a uniform named
15794 // "sampler0" and containing a single integer value is set using:
15796 // |[
15797 // clutter_shader_effect_set_uniform (effect, "sampler0",
15798 // G_TYPE_INT, 1,
15799 // 0);
15800 // ]|
15802 // While a uniform named "components" and containing a 3-elements vector
15803 // of floating point values (a "vec3") can be set using:
15805 // |[
15806 // gfloat component_r, component_g, component_b;
15808 // clutter_shader_effect_set_uniform (effect, "components",
15809 // G_TYPE_FLOAT, 3,
15810 // component_r,
15811 // component_g,
15812 // component_b);
15813 // ]|
15815 // or can be set using:
15817 // |[
15818 // gfloat component_vec[3];
15820 // clutter_shader_effect_set_uniform (effect, "components",
15821 // CLUTTER_TYPE_SHADER_FLOAT, 3,
15822 // component_vec);
15823 // ]|
15825 // Finally, a uniform named "map" and containing a matrix can be set using:
15827 // |[
15828 // clutter_shader_effect_set_uniform (effect, "map",
15829 // CLUTTER_TYPE_SHADER_MATRIX, 1,
15830 // cogl_matrix_get_array (&matrix));
15831 // ]|
15832 // <name>: the name of the uniform to set
15833 // <gtype>: the type of the uniform to set
15834 // <n_values>: the number of values
15835 /+ Not available -- variadic methods unsupported - use the C function directly.
15836 alias clutter_shader_effect_set_uniform set_uniform; // Variadic
15839 // VERSION: 1.4
15840 // Sets @value as the payload for the uniform @name inside the shader
15841 // effect
15843 // The #GType of the @value must be one of: %G_TYPE_INT, for a single
15844 // integer value; %G_TYPE_FLOAT, for a single floating point value;
15845 // %CLUTTER_TYPE_SHADER_INT, for an array of integer values;
15846 // %CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values;
15847 // and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point
15848 // values. It also accepts %G_TYPE_DOUBLE for compatibility with other
15849 // languages than C.
15850 // <name>: the name of the uniform to set
15851 // <value>: a #GValue with the value of the uniform to set
15852 void set_uniform_value(AT0, AT1)(AT0 /*char*/ name, AT1 /*GObject2.Value*/ value) nothrow {
15853 clutter_shader_effect_set_uniform_value(&this, toCString!(char*)(name), UpCast!(GObject2.Value*)(value));
15858 // The <structname>ClutterShaderEffectClass</structname> structure contains
15859 // only private data
15860 struct ShaderEffectClass /* Version 1.4 */ {
15861 private OffscreenEffectClass parent_class;
15862 extern (C) char* /*new*/ function (ShaderEffect* effect) nothrow get_static_shader_source;
15863 extern (C) void function () nothrow _clutter_shader1;
15864 extern (C) void function () nothrow _clutter_shader2;
15865 extern (C) void function () nothrow _clutter_shader3;
15866 extern (C) void function () nothrow _clutter_shader4;
15867 extern (C) void function () nothrow _clutter_shader5;
15870 struct ShaderEffectPrivate {
15873 // #ClutterShader error enumeration
15874 enum ShaderError /* Version 0.6 */ {
15875 NO_ASM = 0,
15876 NO_GLSL = 1,
15877 COMPILE = 2
15879 struct ShaderFloat {
15882 struct ShaderInt {
15885 struct ShaderMatrix {
15888 struct ShaderPrivate {
15891 // The type of GLSL shader program
15892 enum ShaderType /* Version 1.4 */ {
15893 VERTEX_SHADER = 0,
15894 FRAGMENT_SHADER = 1
15896 enum int Shift_L = 65505;
15897 enum int Shift_Lock = 65510;
15898 enum int Shift_R = 65506;
15899 enum int Shop = 269025078;
15900 enum int SingleCandidate = 65340;
15901 enum int Sinh_a = 16780677;
15902 enum int Sinh_aa = 16780678;
15903 enum int Sinh_aa2 = 16780751;
15904 enum int Sinh_ae = 16780679;
15905 enum int Sinh_ae2 = 16780752;
15906 enum int Sinh_aee = 16780680;
15907 enum int Sinh_aee2 = 16780753;
15908 enum int Sinh_ai = 16780691;
15909 enum int Sinh_ai2 = 16780763;
15910 enum int Sinh_al = 16780746;
15911 enum int Sinh_au = 16780694;
15912 enum int Sinh_au2 = 16780766;
15913 enum int Sinh_ba = 16780726;
15914 enum int Sinh_bha = 16780727;
15915 enum int Sinh_ca = 16780704;
15916 enum int Sinh_cha = 16780705;
15917 enum int Sinh_dda = 16780713;
15918 enum int Sinh_ddha = 16780714;
15919 enum int Sinh_dha = 16780719;
15920 enum int Sinh_dhha = 16780720;
15921 enum int Sinh_e = 16780689;
15922 enum int Sinh_e2 = 16780761;
15923 enum int Sinh_ee = 16780690;
15924 enum int Sinh_ee2 = 16780762;
15925 enum int Sinh_fa = 16780742;
15926 enum int Sinh_ga = 16780700;
15927 enum int Sinh_gha = 16780701;
15928 enum int Sinh_h2 = 16780675;
15929 enum int Sinh_ha = 16780740;
15930 enum int Sinh_i = 16780681;
15931 enum int Sinh_i2 = 16780754;
15932 enum int Sinh_ii = 16780682;
15933 enum int Sinh_ii2 = 16780755;
15934 enum int Sinh_ja = 16780706;
15935 enum int Sinh_jha = 16780707;
15936 enum int Sinh_jnya = 16780709;
15937 enum int Sinh_ka = 16780698;
15938 enum int Sinh_kha = 16780699;
15939 enum int Sinh_kunddaliya = 16780788;
15940 enum int Sinh_la = 16780733;
15941 enum int Sinh_lla = 16780741;
15942 enum int Sinh_lu = 16780687;
15943 enum int Sinh_lu2 = 16780767;
15944 enum int Sinh_luu = 16780688;
15945 enum int Sinh_luu2 = 16780787;
15946 enum int Sinh_ma = 16780728;
15947 enum int Sinh_mba = 16780729;
15948 enum int Sinh_na = 16780721;
15949 enum int Sinh_ndda = 16780716;
15950 enum int Sinh_ndha = 16780723;
15951 enum int Sinh_ng = 16780674;
15952 enum int Sinh_ng2 = 16780702;
15953 enum int Sinh_nga = 16780703;
15954 enum int Sinh_nja = 16780710;
15955 enum int Sinh_nna = 16780715;
15956 enum int Sinh_nya = 16780708;
15957 enum int Sinh_o = 16780692;
15958 enum int Sinh_o2 = 16780764;
15959 enum int Sinh_oo = 16780693;
15960 enum int Sinh_oo2 = 16780765;
15961 enum int Sinh_pa = 16780724;
15962 enum int Sinh_pha = 16780725;
15963 enum int Sinh_ra = 16780731;
15964 enum int Sinh_ri = 16780685;
15965 enum int Sinh_rii = 16780686;
15966 enum int Sinh_ru2 = 16780760;
15967 enum int Sinh_ruu2 = 16780786;
15968 enum int Sinh_sa = 16780739;
15969 enum int Sinh_sha = 16780737;
15970 enum int Sinh_ssha = 16780738;
15971 enum int Sinh_tha = 16780717;
15972 enum int Sinh_thha = 16780718;
15973 enum int Sinh_tta = 16780711;
15974 enum int Sinh_ttha = 16780712;
15975 enum int Sinh_u = 16780683;
15976 enum int Sinh_u2 = 16780756;
15977 enum int Sinh_uu = 16780684;
15978 enum int Sinh_uu2 = 16780758;
15979 enum int Sinh_va = 16780736;
15980 enum int Sinh_ya = 16780730;
15981 enum int Sleep = 269025071;
15982 enum int SlowKeys_Enable = 65139;
15984 // <structname>ClutterSnapConstraint</structname> is an opaque structure
15985 // whose members cannot be directly accesses
15986 struct SnapConstraint /* : Constraint */ /* Version 1.6 */ {
15987 alias method_parent this;
15988 alias method_parent super_;
15989 alias method_parent constraint;
15990 Constraint method_parent;
15993 // VERSION: 1.6
15994 // Creates a new #ClutterSnapConstraint that will snap a #ClutterActor
15995 // to the @edge of @source, with the given @offset.
15996 // RETURNS: the newly created #ClutterSnapConstraint
15997 // <source>: the #ClutterActor to use as the source of the constraint, or %NULL
15998 // <from_edge>: the edge of the actor to use in the constraint
15999 // <to_edge>: the edge of @source to use in the constraint
16000 // <offset>: the offset to apply to the constraint, in pixels
16001 static SnapConstraint* new_(AT0)(AT0 /*Actor*/ source, SnapEdge from_edge, SnapEdge to_edge, float offset) nothrow {
16002 return clutter_snap_constraint_new(UpCast!(Actor*)(source), from_edge, to_edge, offset);
16004 static auto opCall(AT0)(AT0 /*Actor*/ source, SnapEdge from_edge, SnapEdge to_edge, float offset) {
16005 return clutter_snap_constraint_new(UpCast!(Actor*)(source), from_edge, to_edge, offset);
16008 // VERSION: 1.6
16009 // Retrieves the edges used by the @constraint
16010 // <from_edge>: return location for the actor's edge, or %NULL
16011 // <to_edge>: return location for the source's edge, or %NULL
16013 // method "get_edges" removed: Link failures - missing in library.
16015 // VERSION: 1.6
16016 // Retrieves the offset set using clutter_snap_constraint_set_offset()
16017 // RETURNS: the offset, in pixels
16018 float get_offset()() nothrow {
16019 return clutter_snap_constraint_get_offset(&this);
16022 // VERSION: 1.6
16023 // Retrieves the #ClutterActor set using clutter_snap_constraint_set_source()
16024 // RETURNS: a pointer to the source actor
16025 Actor* get_source()() nothrow {
16026 return clutter_snap_constraint_get_source(&this);
16029 // VERSION: 1.6
16030 // Sets the edges to be used by the @constraint
16032 // The @from_edge is the edge on the #ClutterActor to which @constraint
16033 // has been added. The @to_edge is the edge of the #ClutterActor inside
16034 // the #ClutterSnapConstraint:source property.
16035 // <from_edge>: the edge on the actor
16036 // <to_edge>: the edge on the source
16037 void set_edges()(SnapEdge from_edge, SnapEdge to_edge) nothrow {
16038 clutter_snap_constraint_set_edges(&this, from_edge, to_edge);
16041 // VERSION: 1.6
16042 // Sets the offset to be applied to the constraint
16043 // <offset>: the offset to apply, in pixels
16044 void set_offset()(float offset) nothrow {
16045 clutter_snap_constraint_set_offset(&this, offset);
16048 // VERSION: 1.6
16049 // Sets the source #ClutterActor for the constraint
16050 // <source>: a #ClutterActor, or %NULL to unset the source
16051 void set_source(AT0)(AT0 /*Actor*/ source=null) nothrow {
16052 clutter_snap_constraint_set_source(&this, UpCast!(Actor*)(source));
16056 struct SnapConstraintClass {
16059 // The edge to snap
16060 enum SnapEdge /* Version 1.6 */ {
16061 TOP = 0,
16062 RIGHT = 1,
16063 BOTTOM = 2,
16064 LEFT = 3
16066 enum int Spell = 269025148;
16067 enum int SplitScreen = 269025149;
16069 // The #ClutterStage structure contains only private data
16070 // and should be accessed using the provided API
16071 struct Stage /* : Group */ /* Version 0.1 */ {
16072 mixin Atk.ImplementorIface.__interface__;
16073 mixin Animatable.__interface__;
16074 mixin Container.__interface__;
16075 mixin Scriptable.__interface__;
16076 alias parent_instance this;
16077 alias parent_instance super_;
16078 alias parent_instance group;
16079 Group parent_instance;
16080 private StagePrivate* priv;
16083 // VERSION: 0.8
16084 // Creates a new, non-default stage. A non-default stage is a new
16085 // top-level actor which can be used as another container. It works
16086 // exactly like the default stage, but while clutter_stage_get_default()
16087 // will always return the same instance, you will have to keep a pointer
16088 // to any #ClutterStage returned by clutter_stage_new().
16090 // The ability to support multiple stages depends on the current
16091 // backend. Use clutter_feature_available() and
16092 // %CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a
16093 // backend supports multiple stages.
16095 // not support multiple stages. Use clutter_actor_destroy() to
16096 // programmatically close the returned stage.
16097 // RETURNS: a new stage, or %NULL if the default backend does
16098 static Stage* new_()() nothrow {
16099 return clutter_stage_new();
16101 static auto opCall()() {
16102 return clutter_stage_new();
16105 // DEPRECATED (v1.10) function: get_default - Use clutter_stage_new() instead.
16106 // Retrieves a #ClutterStage singleton.
16108 // This function is not as useful as it sounds, and will most likely
16109 // by deprecated in the future. Application code should only create
16110 // a #ClutterStage instance using clutter_stage_new(), and manage the
16111 // lifetime of the stage manually.
16113 // The default stage singleton has a platform-specific behaviour: on
16114 // platforms without the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag
16115 // set, the first #ClutterStage instance will also be set to be the
16116 // default stage instance, and this function will always return a
16117 // pointer to it.
16119 // On platforms with the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag
16120 // set, the default stage will be created by the first call to this
16121 // function, and every following call will return the same pointer to
16122 // it.
16124 // #ClutterStage. You should never destroy or unref the returned
16125 // actor.
16126 // RETURNS: the main
16127 static Clutter.Stage* get_default()() nothrow {
16128 return clutter_stage_get_default();
16131 // VERSION: 0.8
16132 // This function essentially makes sure the right GL context is
16133 // current for the passed stage. It is not intended to
16134 // be used by applications.
16135 void ensure_current()() nothrow {
16136 clutter_stage_ensure_current(&this);
16139 // VERSION: 1.0
16140 // Ensures that @stage is redrawn
16142 // This function should not be called by applications: it is
16143 // used when embedding a #ClutterStage into a toolkit with
16144 // another windowing system, like GTK+.
16145 void ensure_redraw()() nothrow {
16146 clutter_stage_ensure_redraw(&this);
16149 // VERSION: 1.0
16150 // Ensures that the GL viewport is updated with the current
16151 // stage window size.
16153 // This function will queue a redraw of @stage.
16155 // This function should not be called by applications; it is used
16156 // when embedding a #ClutterStage into a toolkit with another
16157 // windowing system, like GTK+.
16158 void ensure_viewport()() nothrow {
16159 clutter_stage_ensure_viewport(&this);
16162 // VERSION: 0.4
16163 // This function is used to emit an event on the main stage.
16165 // You should rarely need to use this function, except for
16166 // synthetised events.
16167 // RETURNS: the return value from the signal emission
16168 // <event>: a #ClutterEvent
16169 int event(AT0)(AT0 /*Event*/ event) nothrow {
16170 return clutter_stage_event(&this, UpCast!(Event*)(event));
16173 // VERSION: 1.6
16174 // Retrieves the value set with clutter_stage_set_accept_focus().
16176 // otherwise
16177 // RETURNS: %TRUE if the #ClutterStage should accept focus, and %FALSE
16178 int get_accept_focus()() nothrow {
16179 return clutter_stage_get_accept_focus(&this);
16182 // Checks the scene at the coordinates @x and @y and returns a pointer
16183 // to the #ClutterActor at those coordinates.
16185 // By using @pick_mode it is possible to control which actors will be
16186 // painted and thus available.
16188 // if any
16189 // RETURNS: the actor at the specified coordinates,
16190 // <pick_mode>: how the scene graph should be painted
16191 // <x>: X coordinate to check
16192 // <y>: Y coordinate to check
16193 Actor* get_actor_at_pos()(PickMode pick_mode, int x, int y) nothrow {
16194 return clutter_stage_get_actor_at_pos(&this, pick_mode, x, y);
16197 // Retrieves the stage color.
16198 // <color>: return location for a #ClutterColor
16199 void get_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
16200 clutter_stage_get_color(&this, UpCast!(Color*)(color));
16203 // VERSION: 0.6
16204 // DEPRECATED (v1.10) method: get_fog - This function will always return the default
16205 // Retrieves the current depth cueing settings from the stage.
16208 // values of #ClutterFog
16209 // <fog>: return location for a #ClutterFog structure
16210 void get_fog(AT0)(/*out*/ AT0 /*Fog*/ fog) nothrow {
16211 clutter_stage_get_fog(&this, UpCast!(Fog*)(fog));
16214 // VERSION: 1.0
16215 // Retrieves whether the stage is full screen or not
16216 // RETURNS: %TRUE if the stage is full screen
16217 int get_fullscreen()() nothrow {
16218 return clutter_stage_get_fullscreen(&this);
16221 // VERSION: 0.6
16222 // Retrieves the actor that is currently under key focus.
16223 // RETURNS: the actor with key focus, or the stage
16224 Actor* get_key_focus()() nothrow {
16225 return clutter_stage_get_key_focus(&this);
16228 // VERSION: 1.2
16229 // Retrieves the minimum size for a stage window as set using
16230 // clutter_stage_set_minimum_size().
16232 // The returned size may not correspond to the actual minimum size and
16233 // it is specific to the #ClutterStage implementation inside the
16234 // Clutter backend
16235 // <width>: return location for the minimum width, in pixels, or %NULL
16236 // <height>: return location for the minimum height, in pixels, or %NULL
16237 void get_minimum_size(AT0, AT1)(/*out*/ AT0 /*uint*/ width, /*out*/ AT1 /*uint*/ height) nothrow {
16238 clutter_stage_get_minimum_size(&this, UpCast!(uint*)(width), UpCast!(uint*)(height));
16241 // VERSION: 1.8
16242 // Retrieves the value set using clutter_stage_set_motion_events_enabled().
16244 // and %FALSE otherwise
16245 // RETURNS: %TRUE if the per-actor motion event delivery is enabled
16246 int get_motion_events_enabled()() nothrow {
16247 return clutter_stage_get_motion_events_enabled(&this);
16250 // VERSION: 1.4
16251 // Retrieves the hint set with clutter_stage_set_no_clear_hint()
16253 // cycle, and %FALSE otherwise
16254 // RETURNS: %TRUE if the stage should not clear itself on every paint
16255 int get_no_clear_hint()() nothrow {
16256 return clutter_stage_get_no_clear_hint(&this);
16259 // Retrieves the stage perspective.
16260 // <perspective>: return location for a #ClutterPerspective
16261 void get_perspective(AT0)(/*out*/ AT0 /*Perspective*/ perspective=null) nothrow {
16262 clutter_stage_get_perspective(&this, UpCast!(Perspective*)(perspective));
16265 // VERSION: 1.8
16266 // Gets the bounds of the current redraw for @stage in stage pixel
16267 // coordinates. E.g., if only a single actor has queued a redraw then
16268 // Clutter may redraw the stage with a clip so that it doesn't have to
16269 // paint every pixel in the stage. This function would then return the
16270 // bounds of that clip. An application can use this information to
16271 // avoid some extra work if it knows that some regions of the stage
16272 // aren't going to be painted. This should only be called while the
16273 // stage is being painted. If there is no current redraw clip then
16274 // this function will set @clip to the full extents of the stage.
16275 // <clip>: Return location for the clip bounds
16276 void get_redraw_clip_bounds(AT0)(/*out*/ AT0 /*cairo.RectangleInt*/ clip) nothrow {
16277 clutter_stage_get_redraw_clip_bounds(&this, UpCast!(cairo.RectangleInt*)(clip));
16280 // VERSION: 1.0
16281 // Retrieves the value set with clutter_stage_set_throttle_motion_events()
16283 // and %FALSE otherwise
16284 // RETURNS: %TRUE if the motion events are being throttled,
16285 int get_throttle_motion_events()() nothrow {
16286 return clutter_stage_get_throttle_motion_events(&this);
16289 // VERSION: 0.4
16290 // Gets the stage title.
16292 // returned string is owned by the actor and should not
16293 // be modified or freed.
16294 // RETURNS: pointer to the title string for the stage. The
16295 char* get_title()() nothrow {
16296 return clutter_stage_get_title(&this);
16299 // VERSION: 1.2
16300 // Retrieves the value set using clutter_stage_set_use_alpha()
16302 // alpha channel of the stage color
16303 // RETURNS: %TRUE if the stage should honour the opacity and the
16304 int get_use_alpha()() nothrow {
16305 return clutter_stage_get_use_alpha(&this);
16308 // VERSION: 0.6
16309 // DEPRECATED (v1.10) method: get_use_fog - This function will always return %FALSE
16310 // Gets whether the depth cueing effect is enabled on @stage.
16311 // RETURNS: %TRUE if the depth cueing effect is enabled
16312 int get_use_fog()() nothrow {
16313 return clutter_stage_get_use_fog(&this);
16316 // VERSION: 0.4
16317 // Retrieves the value set with clutter_stage_set_user_resizable().
16318 // RETURNS: %TRUE if the stage is resizable by the user.
16319 int get_user_resizable()() nothrow {
16320 return clutter_stage_get_user_resizable(&this);
16323 // VERSION: 0.4
16324 // Makes the cursor invisible on the stage window
16325 void hide_cursor()() nothrow {
16326 clutter_stage_hide_cursor(&this);
16329 // VERSION: 0.8
16330 // DEPRECATED (v1.10) method: is_default - Track the stage pointer inside your application
16331 // Checks if @stage is the default stage, or an instance created using
16332 // clutter_stage_new() but internally using the same implementation.
16336 // code, or use clutter_actor_get_stage() to retrieve the stage for
16337 // a given actor.
16338 // RETURNS: %TRUE if the passed stage is the default one
16339 int is_default()() nothrow {
16340 return clutter_stage_is_default(&this);
16343 // VERSION: 0.8
16344 // DEPRECATED (v1.10) method: queue_redraw - Use clutter_actor_queue_redraw() instead.
16345 // Queues a redraw for the passed stage.
16347 // <note>Applications should call clutter_actor_queue_redraw() and not
16348 // this function.</note>
16349 void queue_redraw()() nothrow {
16350 clutter_stage_queue_redraw(&this);
16353 // Makes a screenshot of the stage in RGBA 8bit data, returns a
16354 // linear buffer with @width * 4 as rowstride.
16356 // The alpha data contained in the returned buffer is driver-dependent,
16357 // and not guaranteed to hold any sensible value.
16359 // or %NULL if the read failed. Use g_free() on the returned data
16360 // to release the resources it has allocated.
16361 // RETURNS: a pointer to newly allocated memory with the buffer
16362 // <x>: x coordinate of the first pixel that is read from stage
16363 // <y>: y coordinate of the first pixel that is read from stage
16364 // <width>: Width dimention of pixels to be read, or -1 for the entire stage width
16365 // <height>: Height dimention of pixels to be read, or -1 for the entire stage height
16366 ubyte* read_pixels()(int x, int y, int width, int height) nothrow {
16367 return clutter_stage_read_pixels(&this, x, y, width, height);
16370 // VERSION: 1.6
16371 // Sets whether the @stage should accept the key focus when shown.
16373 // This function should be called before showing @stage using
16374 // clutter_actor_show().
16375 // <accept_focus>: %TRUE to accept focus on show
16376 void set_accept_focus()(int accept_focus) nothrow {
16377 clutter_stage_set_accept_focus(&this, accept_focus);
16380 // Sets the stage color.
16381 // <color>: A #ClutterColor
16382 void set_color(AT0)(AT0 /*Color*/ color) nothrow {
16383 clutter_stage_set_color(&this, UpCast!(Color*)(color));
16386 // VERSION: 0.6
16387 // DEPRECATED (v1.10) method: set_fog - Fog settings are ignored.
16388 // Sets the fog (also known as "depth cueing") settings for the @stage.
16390 // A #ClutterStage will only use a linear fog progression, which
16391 // depends solely on the distance from the viewer. The cogl_set_fog()
16392 // function in COGL exposes more of the underlying implementation,
16393 // and allows changing the for progression function. It can be directly
16394 // used by disabling the #ClutterStage:use-fog property and connecting
16395 // a signal handler to the #ClutterActor::paint signal on the @stage,
16396 // like:
16398 // |[
16399 // clutter_stage_set_use_fog (stage, FALSE);
16400 // g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
16401 // ]|
16403 // The paint signal handler will call cogl_set_fog() with the
16404 // desired settings:
16406 // |[
16407 // static void
16408 // on_stage_paint (ClutterActor *actor)
16409 // {
16410 // ClutterColor stage_color = { 0, };
16411 // CoglColor fog_color = { 0, };
16413 // /&ast; set the fog color to the stage background color &ast;/
16414 // clutter_stage_get_color (CLUTTER_STAGE (actor), &amp;stage_color);
16415 // cogl_color_init_from_4ub (&amp;fog_color,
16416 // stage_color.red,
16417 // stage_color.green,
16418 // stage_color.blue,
16419 // stage_color.alpha);
16421 // /&ast; enable fog &ast;/
16422 // cogl_set_fog (&amp;fog_color,
16423 // COGL_FOG_MODE_EXPONENTIAL, /&ast; mode &ast;/
16424 // 0.5, /&ast; density &ast;/
16425 // 5.0, 30.0); /&ast; z_near and z_far &ast;/
16426 // }
16427 // ]|
16429 // <note>The fogging functions only work correctly when the visible actors use
16430 // unmultiplied alpha colors. By default Cogl will premultiply textures and
16431 // cogl_set_source_color() will premultiply colors, so unless you explicitly
16432 // load your textures requesting an unmultiplied internal format and use
16433 // cogl_material_set_color() you can only use fogging with fully opaque actors.
16434 // Support for premultiplied colors will improve in the future when we can
16435 // depend on fragment shaders.</note>
16436 // <fog>: a #ClutterFog structure
16437 void set_fog(AT0)(AT0 /*Fog*/ fog) nothrow {
16438 clutter_stage_set_fog(&this, UpCast!(Fog*)(fog));
16441 // VERSION: 1.0
16442 // Asks to place the stage window in the fullscreen or unfullscreen
16443 // states.
16445 // afterward, because other entities (e.g. the user or window manager)
16446 // could unfullscreen it again, and not all window managers honor
16447 // requests to fullscreen windows.
16449 // If you want to receive notification of the fullscreen state you
16450 // should either use the #ClutterStage::fullscreen and
16451 // #ClutterStage::unfullscreen signals, or use the notify signal
16452 // for the #ClutterStage:fullscreen-set property
16453 // <fullscreen>: %TRUE to to set the stage fullscreen
16454 void set_fullscreen()(int fullscreen) nothrow {
16455 clutter_stage_set_fullscreen(&this, fullscreen);
16458 // VERSION: 0.6
16459 // Sets the key focus on @actor. An actor with key focus will receive
16460 // all the key events. If @actor is %NULL, the stage will receive
16461 // focus.
16462 // <actor>: the actor to set key focus to, or %NULL
16463 void set_key_focus(AT0)(AT0 /*Actor*/ actor=null) nothrow {
16464 clutter_stage_set_key_focus(&this, UpCast!(Actor*)(actor));
16467 // VERSION: 1.2
16468 // Sets the minimum size for a stage window, if the default backend
16469 // uses #ClutterStage inside a window
16471 // This is a convenience function, and it is equivalent to setting the
16472 // #ClutterActor:min-width and #ClutterActor:min-height on @stage
16474 // If the current size of @stage is smaller than the minimum size, the
16475 // @stage will be resized to the new @width and @height
16477 // This function has no effect if @stage is fullscreen
16478 // <width>: width, in pixels
16479 // <height>: height, in pixels
16480 void set_minimum_size()(uint width, uint height) nothrow {
16481 clutter_stage_set_minimum_size(&this, width, height);
16484 // VERSION: 1.8
16485 // Sets whether per-actor motion events (and relative crossing
16486 // events) should be disabled or not.
16488 // The default is %TRUE.
16490 // If @enable is %FALSE the following events will not be delivered
16491 // to the actors children of @stage.
16493 // <itemizedlist>
16494 // <listitem><para>#ClutterActor::motion-event</para></listitem>
16495 // <listitem><para>#ClutterActor::enter-event</para></listitem>
16496 // <listitem><para>#ClutterActor::leave-event</para></listitem>
16497 // </itemizedlist>
16499 // The events will still be delivered to the #ClutterStage.
16501 // The main side effect of this function is that disabling the motion
16502 // events will disable picking to detect the #ClutterActor underneath
16503 // the pointer for each motion event. This is useful, for instance,
16504 // when dragging a #ClutterActor across the @stage: the actor underneath
16505 // the pointer is not going to change, so it's meaningless to perform
16506 // a pick.
16507 // <enabled>: %TRUE to enable the motion events delivery, and %FALSE otherwise
16508 void set_motion_events_enabled()(int enabled) nothrow {
16509 clutter_stage_set_motion_events_enabled(&this, enabled);
16512 // VERSION: 1.4
16513 // Sets whether the @stage should clear itself at the beginning
16514 // of each paint cycle or not.
16516 // Clearing the #ClutterStage can be a costly operation, especially
16517 // if the stage is always covered - for instance, in a full-screen
16518 // video player or in a game with a background texture.
16520 // <note><para>This setting is a hint; Clutter might discard this
16521 // hint depending on its internal state.</para></note>
16523 // <warning><para>If parts of the stage are visible and you disable
16524 // clearing you might end up with visual artifacts while painting the
16525 // contents of the stage.</para></warning>
16526 // <no_clear>: %TRUE if the @stage should not clear itself on every repaint cycle
16527 void set_no_clear_hint()(int no_clear) nothrow {
16528 clutter_stage_set_no_clear_hint(&this, no_clear);
16531 // Sets the stage perspective. Using this function is not recommended
16532 // because it will disable Clutter's attempts to generate an
16533 // appropriate perspective based on the size of the stage.
16534 // <perspective>: A #ClutterPerspective
16535 void set_perspective(AT0)(AT0 /*Perspective*/ perspective) nothrow {
16536 clutter_stage_set_perspective(&this, UpCast!(Perspective*)(perspective));
16539 // VERSION: 1.0
16540 // Sets whether motion events received between redraws should
16541 // be throttled or not. If motion events are throttled, those
16542 // events received by the windowing system between redraws will
16543 // be compressed so that only the last event will be propagated
16544 // to the @stage and its actors.
16546 // This function should only be used if you want to have all
16547 // the motion events delivered to your application code.
16548 // <throttle>: %TRUE to throttle motion events
16549 void set_throttle_motion_events()(int throttle) nothrow {
16550 clutter_stage_set_throttle_motion_events(&this, throttle);
16553 // VERSION: 0.4
16554 // Sets the stage title.
16555 // <title>: A utf8 string for the stage windows title.
16556 void set_title(AT0)(AT0 /*char*/ title) nothrow {
16557 clutter_stage_set_title(&this, toCString!(char*)(title));
16560 // VERSION: 1.2
16561 // Sets whether the @stage should honour the #ClutterActor:opacity and
16562 // the alpha channel of the #ClutterStage:color
16563 // <use_alpha>: whether the stage should honour the opacity or the alpha channel of the stage color
16564 void set_use_alpha()(int use_alpha) nothrow {
16565 clutter_stage_set_use_alpha(&this, use_alpha);
16568 // VERSION: 0.6
16569 // DEPRECATED (v1.10) method: set_use_fog - Calling this function produces no visible effect
16570 // Sets whether the depth cueing effect on the stage should be enabled
16571 // or not.
16573 // Depth cueing is a 3D effect that makes actors farther away from the
16574 // viewing point less opaque, by fading them with the stage color.
16575 // The parameters of the GL fog used can be changed using the
16576 // clutter_stage_set_fog() function.
16577 // <fog>: %TRUE for enabling the depth cueing effect
16578 void set_use_fog()(int fog) nothrow {
16579 clutter_stage_set_use_fog(&this, fog);
16582 // VERSION: 0.4
16583 // Sets if the stage is resizable by user interaction (e.g. via
16584 // window manager controls)
16585 // <resizable>: whether the stage should be user resizable.
16586 void set_user_resizable()(int resizable) nothrow {
16587 clutter_stage_set_user_resizable(&this, resizable);
16589 // Shows the cursor on the stage window
16590 void show_cursor()() nothrow {
16591 clutter_stage_show_cursor(&this);
16594 // VERSION: 0.6
16595 // The ::activate signal is emitted when the stage receives key focus
16596 // from the underlying window system.
16597 extern (C) alias static void function (Stage* this_, void* user_data=null) nothrow signal_activate;
16599 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
16600 return super_.signal_connect!name(cb, data, cf);
16603 ulong signal_connect(string name:"activate", CB/*:signal_activate*/)
16604 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
16605 if (is(typeof(cb)==signal_activate)||_ttmm!(CB, signal_activate)()) {
16606 return signal_connect_data!()(&this, cast(char*)"activate",
16607 cast(GObject2.Callback)cb, data, null, cf);
16610 // VERSION: 0.6
16611 // The ::activate signal is emitted when the stage loses key focus
16612 // from the underlying window system.
16613 extern (C) alias static void function (Stage* this_, void* user_data=null) nothrow signal_deactivate;
16614 ulong signal_connect(string name:"deactivate", CB/*:signal_deactivate*/)
16615 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
16616 if (is(typeof(cb)==signal_deactivate)||_ttmm!(CB, signal_deactivate)()) {
16617 return signal_connect_data!()(&this, cast(char*)"deactivate",
16618 cast(GObject2.Callback)cb, data, null, cf);
16621 // VERSION: 1.2
16622 // The ::delete-event signal is emitted when the user closes a
16623 // #ClutterStage window using the window controls.
16625 // Clutter by default will call clutter_main_quit() if @stage is
16626 // the default stage, and clutter_actor_destroy() for any other
16627 // stage.
16629 // It is possible to override the default behaviour by connecting
16630 // a new handler and returning %TRUE there.
16632 // <note>This signal is emitted only on Clutter backends that
16633 // embed #ClutterStage in native windows. It is not emitted for
16634 // backends that use a static frame buffer.</note>
16635 // <event>: a #ClutterEvent of type %CLUTTER_DELETE
16636 extern (C) alias static c_int function (Stage* this_, Event* event, void* user_data=null) nothrow signal_delete_event;
16637 ulong signal_connect(string name:"delete-event", CB/*:signal_delete_event*/)
16638 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
16639 if (is(typeof(cb)==signal_delete_event)||_ttmm!(CB, signal_delete_event)()) {
16640 return signal_connect_data!()(&this, cast(char*)"delete-event",
16641 cast(GObject2.Callback)cb, data, null, cf);
16644 // VERSION: 0.6
16645 // The ::fullscreen signal is emitted when the stage is made fullscreen.
16646 extern (C) alias static void function (Stage* this_, void* user_data=null) nothrow signal_fullscreen;
16647 ulong signal_connect(string name:"fullscreen", CB/*:signal_fullscreen*/)
16648 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
16649 if (is(typeof(cb)==signal_fullscreen)||_ttmm!(CB, signal_fullscreen)()) {
16650 return signal_connect_data!()(&this, cast(char*)"fullscreen",
16651 cast(GObject2.Callback)cb, data, null, cf);
16654 // VERSION: 0.6
16655 // The ::unfullscreen signal is emitted when the stage leaves a fullscreen
16656 // state.
16657 extern (C) alias static void function (Stage* this_, void* user_data=null) nothrow signal_unfullscreen;
16658 ulong signal_connect(string name:"unfullscreen", CB/*:signal_unfullscreen*/)
16659 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
16660 if (is(typeof(cb)==signal_unfullscreen)||_ttmm!(CB, signal_unfullscreen)()) {
16661 return signal_connect_data!()(&this, cast(char*)"unfullscreen",
16662 cast(GObject2.Callback)cb, data, null, cf);
16666 // The #ClutterStageClass structure contains only private data
16667 struct StageClass /* Version 0.1 */ {
16668 private GroupClass parent_class;
16669 extern (C) void function (Stage* stage) nothrow fullscreen;
16670 extern (C) void function (Stage* stage) nothrow unfullscreen;
16671 extern (C) void function (Stage* stage) nothrow activate;
16672 extern (C) void function (Stage* stage) nothrow deactivate;
16673 extern (C) int function (Stage* stage, Event* event) nothrow delete_event;
16674 private void*[31] _padding_dummy;
16677 // The #ClutterStageManager structure is private.
16678 struct StageManager /* : GObject.Object */ /* Version 1.0 */ {
16679 alias method_parent this;
16680 alias method_parent super_;
16681 alias method_parent object;
16682 GObject2.Object method_parent;
16685 // VERSION: 0.8
16686 // Returns the default #ClutterStageManager.
16688 // object is owned by Clutter and you should not reference or unreference it.
16689 // RETURNS: the default stage manager instance. The returned
16690 static StageManager* get_default()() nothrow {
16691 return clutter_stage_manager_get_default();
16694 // VERSION: 0.8
16695 // Returns the default #ClutterStage.
16697 // is owned by Clutter and you should never reference or unreference it
16698 // RETURNS: the default stage. The returned object
16699 Stage* get_default_stage()() nothrow {
16700 return clutter_stage_manager_get_default_stage(&this);
16703 // VERSION: 0.8
16704 // Lists all currently used stages.
16706 // allocated list of #ClutterStage objects. Use g_slist_free() to
16707 // deallocate it when done.
16708 // RETURNS: a newly
16709 GLib2.SList* /*new container*/ list_stages()() nothrow {
16710 return clutter_stage_manager_list_stages(&this);
16713 // VERSION: 1.0
16714 // Lists all currently used stages.
16716 // to the internal list of #ClutterStage objects. The returned list
16717 // is owned by the #ClutterStageManager and should never be modified
16718 // or freed
16719 // RETURNS: a pointer
16720 GLib2.SList* peek_stages()() nothrow {
16721 return clutter_stage_manager_peek_stages(&this);
16724 // VERSION: 0.8
16725 // DEPRECATED (v1.2) method: set_default_stage - Calling this function has no effect
16726 // Sets @stage as the default stage.
16727 // <stage>: a #ClutterStage
16728 void set_default_stage(AT0)(AT0 /*Stage*/ stage) nothrow {
16729 clutter_stage_manager_set_default_stage(&this, UpCast!(Stage*)(stage));
16732 // VERSION: 0.8
16733 // The ::stage-added signal is emitted each time a new #ClutterStage
16734 // has been added to the stage manager.
16735 // <stage>: the added stage
16736 extern (C) alias static void function (StageManager* this_, Stage* stage, void* user_data=null) nothrow signal_stage_added;
16738 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
16739 return super_.signal_connect!name(cb, data, cf);
16742 ulong signal_connect(string name:"stage-added", CB/*:signal_stage_added*/)
16743 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
16744 if (is(typeof(cb)==signal_stage_added)||_ttmm!(CB, signal_stage_added)()) {
16745 return signal_connect_data!()(&this, cast(char*)"stage-added",
16746 cast(GObject2.Callback)cb, data, null, cf);
16749 // VERSION: 0.8
16750 // The ::stage-removed signal is emitted each time a #ClutterStage
16751 // has been removed from the stage manager.
16752 // <stage>: the removed stage
16753 extern (C) alias static void function (StageManager* this_, Stage* stage, void* user_data=null) nothrow signal_stage_removed;
16754 ulong signal_connect(string name:"stage-removed", CB/*:signal_stage_removed*/)
16755 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
16756 if (is(typeof(cb)==signal_stage_removed)||_ttmm!(CB, signal_stage_removed)()) {
16757 return signal_connect_data!()(&this, cast(char*)"stage-removed",
16758 cast(GObject2.Callback)cb, data, null, cf);
16763 // The #ClutterStageManagerClass structure contains only private data
16764 // and should be accessed using the provided API
16765 struct StageManagerClass /* Version 1.0 */ {
16766 private GObject2.ObjectClass parent_class;
16767 extern (C) void function (StageManager* stage_manager, Stage* stage) nothrow stage_added;
16768 extern (C) void function (StageManager* stage_manager, Stage* stage) nothrow stage_removed;
16771 struct StagePrivate {
16774 // Stage state masks, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE.
16775 enum StageState /* Version 0.4 */ {
16776 FULLSCREEN = 2,
16777 OFFSCREEN = 4,
16778 ACTIVATED = 8
16780 // Event signalling a change in the #ClutterStage state.
16781 struct StageStateEvent /* Version 0.2 */ {
16782 EventType type;
16783 uint time;
16784 EventFlags flags;
16785 Stage* stage;
16786 Actor* source;
16787 StageState changed_mask, new_state;
16791 // <structname>ClutterStageWindow</structname> is an opaque structure
16792 // whose members should not be accessed directly
16793 struct StageWindow /* Interface */ /* Version 0.8 */ {
16794 mixin template __interface__() { }
16795 mixin __interface__;
16798 // The interface implemented by backends for stage windows
16799 struct StageWindowIface /* Version 0.8 */ {
16800 private GObject2.TypeInterface parent_iface;
16801 // Unintrospectable functionp: get_wrapper() / ()
16802 extern (C) Actor* function (StageWindow* stage_window) nothrow get_wrapper;
16803 // Unintrospectable functionp: set_title() / ()
16804 extern (C) void function (StageWindow* stage_window, char* title) nothrow set_title;
16805 // Unintrospectable functionp: set_fullscreen() / ()
16806 extern (C) void function (StageWindow* stage_window, int is_fullscreen) nothrow set_fullscreen;
16807 // Unintrospectable functionp: set_cursor_visible() / ()
16808 extern (C) void function (StageWindow* stage_window, int cursor_visible) nothrow set_cursor_visible;
16809 // Unintrospectable functionp: set_user_resizable() / ()
16810 extern (C) void function (StageWindow* stage_window, int is_resizable) nothrow set_user_resizable;
16811 // Unintrospectable functionp: realize() / ()
16812 extern (C) int function (StageWindow* stage_window) nothrow realize;
16813 // Unintrospectable functionp: unrealize() / ()
16814 extern (C) void function (StageWindow* stage_window) nothrow unrealize;
16815 // Unintrospectable functionp: show() / ()
16816 extern (C) void function (StageWindow* stage_window, int do_raise) nothrow show;
16817 // Unintrospectable functionp: hide() / ()
16818 extern (C) void function (StageWindow* stage_window) nothrow hide;
16819 // Unintrospectable functionp: resize() / ()
16820 extern (C) void function (StageWindow* stage_window, int width, int height) nothrow resize;
16821 // Unintrospectable functionp: get_geometry() / ()
16822 extern (C) void function (StageWindow* stage_window, cairo.RectangleInt* geometry) nothrow get_geometry;
16823 // Unintrospectable functionp: get_pending_swaps() / ()
16824 extern (C) int function (StageWindow* stage_window) nothrow get_pending_swaps;
16825 // Unintrospectable functionp: add_redraw_clip() / ()
16826 extern (C) void function (StageWindow* stage_window, cairo.RectangleInt* stage_rectangle) nothrow add_redraw_clip;
16827 // Unintrospectable functionp: has_redraw_clips() / ()
16828 extern (C) int function (StageWindow* stage_window) nothrow has_redraw_clips;
16829 // Unintrospectable functionp: ignoring_redraw_clips() / ()
16830 extern (C) int function (StageWindow* stage_window) nothrow ignoring_redraw_clips;
16831 // Unintrospectable functionp: get_redraw_clip_bounds() / ()
16832 extern (C) int function (StageWindow* stage_window, cairo.RectangleInt* clip) nothrow get_redraw_clip_bounds;
16833 // Unintrospectable functionp: set_accept_focus() / ()
16834 extern (C) void function (StageWindow* stage_window, int accept_focus) nothrow set_accept_focus;
16835 // Unintrospectable functionp: redraw() / ()
16836 extern (C) void function (StageWindow* stage_window) nothrow redraw;
16837 // Unintrospectable functionp: get_active_framebuffer() / ()
16838 extern (C) Cogl.Framebuffer* function (StageWindow* stage_window) nothrow get_active_framebuffer;
16839 // Unintrospectable functionp: can_clip_redraws() / ()
16840 extern (C) int function (StageWindow* stage_window) nothrow can_clip_redraws;
16843 enum int Standby = 269025040;
16844 enum int Start = 269025050;
16846 // The <structname>ClutterState</structname> structure contains only
16847 // private data and should be accessed using the provided API
16848 struct State /* : GObject.Object */ /* Version 1.4 */ {
16849 mixin Scriptable.__interface__;
16850 alias parent this;
16851 alias parent super_;
16852 alias parent object;
16853 GObject2.Object parent;
16854 private StatePrivate* priv;
16857 // Creates a new #ClutterState
16858 // RETURNS: the newly create #ClutterState instance
16859 static State* /*new*/ new_()() nothrow {
16860 return clutter_state_new();
16862 static auto opCall()() {
16863 return clutter_state_new();
16866 // VERSION: 1.4
16867 // Retrieves the #ClutterAnimator that is being used for transitioning
16868 // between the two states, if any has been set
16869 // RETURNS: a #ClutterAnimator instance, or %NULL
16870 // <source_state_name>: the name of a source state
16871 // <target_state_name>: the name of a target state
16872 Animator* get_animator(AT0, AT1)(AT0 /*char*/ source_state_name, AT1 /*char*/ target_state_name) nothrow {
16873 return clutter_state_get_animator(&this, toCString!(char*)(source_state_name), toCString!(char*)(target_state_name));
16876 // VERSION: 1.4
16877 // Queries the duration used for transitions between a source and
16878 // target state pair
16880 // The semantics for the query are the same as the semantics used for
16881 // setting the duration with clutter_state_set_duration()
16882 // RETURNS: the duration, in milliseconds
16883 // <source_state_name>: the name of the source state to get the duration of, or %NULL
16884 // <target_state_name>: the name of the source state to get the duration of, or %NULL
16885 uint get_duration(AT0, AT1)(AT0 /*char*/ source_state_name=null, AT1 /*char*/ target_state_name=null) nothrow {
16886 return clutter_state_get_duration(&this, toCString!(char*)(source_state_name), toCString!(char*)(target_state_name));
16889 // VERSION: 1.4
16890 // Returns a list of pointers to opaque structures with accessor functions
16891 // that describe the keys added to an animator.
16893 // newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of
16894 // the returned list are owned by the #ClutterState and should not be
16895 // modified or freed. Use g_list_free() to free the resources allocated
16896 // by the returned list when done using it
16897 // RETURNS: a
16898 // <source_state_name>: the source transition name to query, or %NULL for all source states
16899 // <target_state_name>: the target transition name to query, or %NULL for all target states
16900 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
16901 // <property_name>: the property name to search for, or %NULL for all properties.
16902 GLib2.List* /*new container*/ get_keys(AT0, AT1, AT2, AT3)(AT0 /*char*/ source_state_name=null, AT1 /*char*/ target_state_name=null, AT2 /*GObject2.Object*/ object=null, AT3 /*char*/ property_name=null) nothrow {
16903 return clutter_state_get_keys(&this, toCString!(char*)(source_state_name), toCString!(char*)(target_state_name), UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name));
16906 // VERSION: 1.4
16907 // Queries the currently set target state.
16909 // During a transition this function will return the target of the transition.
16911 // This function is useful when called from handlers of the
16912 // #ClutterState::completed signal.
16914 // is owned by the #ClutterState and should not be modified or freed
16915 // RETURNS: a string containing the target state. The returned string
16916 char* get_state()() nothrow {
16917 return clutter_state_get_state(&this);
16920 // VERSION: 1.4
16921 // Gets a list of all the state names managed by this #ClutterState.
16923 // #GList of state names. The contents of the returned #GList are owned
16924 // by the #ClutterState and should not be modified or freed. Use
16925 // g_list_free() to free the resources allocated by the returned list when
16926 // done using it
16927 // RETURNS: a newly allocated
16928 GLib2.List* /*new container*/ get_states()() nothrow {
16929 return clutter_state_get_states(&this);
16932 // VERSION: 1.4
16933 // Gets the timeline driving the #ClutterState
16935 // the state change animations. The returned timeline is owned
16936 // by the #ClutterState and it should not be unreferenced directly
16937 // RETURNS: the #ClutterTimeline that drives
16938 Timeline* get_timeline()() nothrow {
16939 return clutter_state_get_timeline(&this);
16942 // VERSION: 1.4
16943 // Removes all keys matching the search criteria passed in arguments.
16944 // <source_state_name>: the source state name to query, or %NULL for all source states
16945 // <target_state_name>: the target state name to query, or %NULL for all target states
16946 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
16947 // <property_name>: the property name to search for, or %NULL for all properties.
16948 void remove_key(AT0, AT1, AT2, AT3)(AT0 /*char*/ source_state_name=null, AT1 /*char*/ target_state_name=null, AT2 /*GObject2.Object*/ object=null, AT3 /*char*/ property_name=null) nothrow {
16949 clutter_state_remove_key(&this, toCString!(char*)(source_state_name), toCString!(char*)(target_state_name), UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name));
16952 // Unintrospectable method: set() / clutter_state_set()
16953 // VERSION: 1.4
16954 // Adds multiple keys to a named state of a #ClutterState instance, specifying
16955 // the easing mode and value a given property of an object should have at a
16956 // given progress of the animation.
16958 // The mode specified is the easing mode used when going to from the previous
16959 // key to the specified key.
16961 // For instance, the code below:
16963 // |[
16964 // clutter_state_set (state, NULL, "hover",
16965 // button, "opacity", CLUTTER_LINEAR, 255,
16966 // button, "scale-x", CLUTTER_EASE_OUT_CUBIC, 1.2,
16967 // button, "scale-y", CLUTTER_EASE_OUT_CUBIC, 1.2,
16968 // NULL);
16969 // ]|
16971 // will create a transition from any state (a @source_state_name or NULL is
16972 // treated as a wildcard) and a state named "hover"; the
16973 // <emphasis>button</emphasis> object will have the #ClutterActor:opacity
16974 // property animated to a value of 255 using %CLUTTER_LINEAR as the animation
16975 // mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties
16976 // animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation
16977 // mode. To change the state (and start the transition) you can use the
16978 // clutter_state_set_state() function:
16980 // |[
16981 // clutter_state_set_state (state, "hover");
16982 // ]|
16984 // If a given object, state_name, property tuple already exist in the
16985 // #ClutterState instance, then the mode and value will be replaced with
16986 // the new specified values.
16988 // If a property name is prefixed with "delayed::" two additional
16989 // arguments per key are expected: a value relative to the full state time
16990 // to pause before transitioning and a similar value to pause after
16991 // transitioning, e.g.:
16993 // |[
16994 // clutter_state_set (state, "hover", "toggled",
16995 // button, "delayed::scale-x", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
16996 // button, "delayed::scale-y", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
16997 // NULL);
16998 // ]|
17000 // will pause for 20% of the duration of the transition before animating,
17001 // and 20% of the duration after animating.
17002 // <source_state_name>: the name of the source state keys are being added for
17003 // <target_state_name>: the name of the target state keys are being added for
17004 // <first_object>: a #GObject
17005 // <first_property_name>: a property of @first_object to specify a key for
17006 // <first_mode>: the id of the alpha function to use
17007 /+ Not available -- variadic methods unsupported - use the C function directly.
17008 alias clutter_state_set set; // Variadic
17011 // VERSION: 1.4
17012 // Specifies a #ClutterAnimator to be used when transitioning between
17013 // the two named states.
17015 // The @animator allows specifying a transition between the state that is
17016 // more elaborate than the basic transitions allowed by the tweening of
17017 // properties defined in the #ClutterState keys.
17019 // If @animator is %NULL it will unset an existing animator.
17021 // #ClutterState will take a reference on the passed @animator, if any
17022 // <source_state_name>: the name of a source state
17023 // <target_state_name>: the name of a target state
17024 // <animator>: a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator
17025 void set_animator(AT0, AT1, AT2)(AT0 /*char*/ source_state_name, AT1 /*char*/ target_state_name, AT2 /*Animator*/ animator=null) nothrow {
17026 clutter_state_set_animator(&this, toCString!(char*)(source_state_name), toCString!(char*)(target_state_name), UpCast!(Animator*)(animator));
17029 // VERSION: 1.4
17030 // Sets the duration of a transition.
17032 // If both state names are %NULL the default duration for @state is set.
17034 // If only @target_state_name is specified, the passed @duration becomes
17035 // the default duration for transitions to the target state.
17037 // If both states names are specified, the passed @duration only applies
17038 // to the specified transition.
17039 // <source_state_name>: the name of the source state, or %NULL
17040 // <target_state_name>: the name of the target state, or %NULL
17041 // <duration>: the duration of the transition, in milliseconds
17042 void set_duration(AT0, AT1)(AT0 /*char*/ source_state_name, AT1 /*char*/ target_state_name, uint duration) nothrow {
17043 clutter_state_set_duration(&this, toCString!(char*)(source_state_name), toCString!(char*)(target_state_name), duration);
17046 // VERSION: 1.4
17047 // Sets one specific end key for a state name, @object, @property_name
17048 // combination.
17050 // chaining of multiple calls
17051 // RETURNS: the #ClutterState instance, allowing
17052 // <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.
17053 // <target_state_name>: the name of the transition to set a key value for.
17054 // <object>: the #GObject to set a key for
17055 // <property_name>: the property to set a key for
17056 // <mode>: the id of the alpha function to use
17057 // <value>: the value for property_name of object in state_name
17058 // <pre_delay>: relative time of the transition to be idle in the beginning of the transition
17059 // <post_delay>: relative time of the transition to be idle in the end of the transition
17060 State* set_key(AT0, AT1, AT2, AT3, AT4)(AT0 /*char*/ source_state_name, AT1 /*char*/ target_state_name, AT2 /*GObject2.Object*/ object, AT3 /*char*/ property_name, uint mode, AT4 /*GObject2.Value*/ value, double pre_delay, double post_delay) nothrow {
17061 return clutter_state_set_key(&this, toCString!(char*)(source_state_name), toCString!(char*)(target_state_name), UpCast!(GObject2.Object*)(object), toCString!(char*)(property_name), mode, UpCast!(GObject2.Value*)(value), pre_delay, post_delay);
17064 // VERSION: 1.4
17065 // Change the current state of #ClutterState to @target_state_name.
17067 // The state will animate during its transition, see
17068 // #clutter_state_warp_to_state for animation-free state switching.
17070 // Setting a %NULL state will stop the current animation and unset
17071 // the current state, but keys will be left intact.
17073 // state transition. The returned timeline is owned by the #ClutterState
17074 // and it should not be unreferenced
17075 // RETURNS: the #ClutterTimeline that drives the
17076 // <target_state_name>: the state to transition to
17077 Timeline* set_state(AT0)(AT0 /*char*/ target_state_name) nothrow {
17078 return clutter_state_set_state(&this, toCString!(char*)(target_state_name));
17081 // VERSION: 1.4
17082 // Change to the specified target state immediately with no animation.
17084 // See clutter_state_set_state().
17086 // state transition. The returned timeline is owned by the #ClutterState
17087 // and it should not be unreferenced
17088 // RETURNS: the #ClutterTimeline that drives the
17089 // <target_state_name>: the state to transition to
17090 Timeline* warp_to_state(AT0)(AT0 /*char*/ target_state_name) nothrow {
17091 return clutter_state_warp_to_state(&this, toCString!(char*)(target_state_name));
17094 // VERSION: 1.4
17095 // The ::completed signal is emitted when a #ClutterState reaches
17096 // the target state specified by clutter_state_set_state() or
17097 // clutter_state_warp_to_state().
17098 extern (C) alias static void function (State* this_, void* user_data=null) nothrow signal_completed;
17100 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17101 return super_.signal_connect!name(cb, data, cf);
17104 ulong signal_connect(string name:"completed", CB/*:signal_completed*/)
17105 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
17106 if (is(typeof(cb)==signal_completed)||_ttmm!(CB, signal_completed)()) {
17107 return signal_connect_data!()(&this, cast(char*)"completed",
17108 cast(GObject2.Callback)cb, data, null, cf);
17113 // The <structname>ClutterStateClass</structname> structure contains
17114 // only private data
17115 struct StateClass /* Version 1.4 */ {
17116 private GObject2.ObjectClass parent_class;
17117 extern (C) void function (State* state) nothrow completed;
17118 private void*[8] _padding_dummy;
17122 // <structname>ClutterStateKey</structname> is an opaque structure whose
17123 // members cannot be accessed directly
17124 struct StateKey /* Version 1.4 */ {
17126 // VERSION: 1.4
17127 // Retrieves the easing mode used for @state_key.
17128 // RETURNS: the mode of a #ClutterStateKey
17129 c_ulong get_mode()() nothrow {
17130 return clutter_state_key_get_mode(&this);
17133 // VERSION: 1.4
17134 // Retrieves the object instance this #ClutterStateKey applies to.
17135 // RETURNS: the object this state key applies to.
17136 GObject2.Object* get_object()() nothrow {
17137 return clutter_state_key_get_object(&this);
17140 // VERSION: 1.4
17141 // Retrieves the duration of the pause after transitioning is complete
17142 // as a fraction of the total transition time.
17143 // RETURNS: the post delay, used after doing the transition.
17144 double get_post_delay()() nothrow {
17145 return clutter_state_key_get_post_delay(&this);
17148 // VERSION: 1.4
17149 // Retrieves the pause before transitioning starts as a fraction of
17150 // the total transition time.
17151 // RETURNS: the pre delay used before starting the transition.
17152 double get_pre_delay()() nothrow {
17153 return clutter_state_key_get_pre_delay(&this);
17156 // VERSION: 1.4
17157 // Retrieves the name of the property this #ClutterStateKey applies to
17159 // by the #ClutterStateKey and should never be modified or freed
17160 // RETURNS: the name of the property. The returned string is owned
17161 char* get_property_name()() nothrow {
17162 return clutter_state_key_get_property_name(&this);
17165 // VERSION: 1.4
17166 // Retrieves the #GType of the property a key applies to
17168 // You can use this type to initialize the #GValue to pass to
17169 // clutter_state_key_get_value()
17170 // RETURNS: the #GType of the property
17171 Type get_property_type()() nothrow {
17172 return clutter_state_key_get_property_type(&this);
17175 // VERSION: 1.4
17176 // Retrieves the name of the source state of the @state_key
17178 // if this is the generic state key for the given property when
17179 // transitioning to the target state. The returned string is owned
17180 // by the #ClutterStateKey and should never be modified or freed
17181 // RETURNS: the name of the source state for this key, or %NULL
17182 char* get_source_state_name()() nothrow {
17183 return clutter_state_key_get_source_state_name(&this);
17186 // VERSION: 1.4
17187 // Get the name of the source state this #ClutterStateKey contains,
17188 // or NULL if this is the generic state key for the given property
17189 // when transitioning to the target state.
17191 // the key is generic
17192 // RETURNS: the name of the source state for this key, or NULL if
17193 char* get_target_state_name()() nothrow {
17194 return clutter_state_key_get_target_state_name(&this);
17197 // VERSION: 1.4
17198 // Retrieves a copy of the value for a #ClutterStateKey.
17200 // The #GValue needs to be already initialized for the value type
17201 // of the property or to a type that allow transformation from the value
17202 // type of the key.
17204 // Use g_value_unset() when done.
17206 // and %FALSE otherwise
17207 // RETURNS: %TRUE if the value was successfully retrieved,
17208 // <value>: a #GValue initialized with the correct type for the @state_key
17209 int get_value(AT0)(AT0 /*GObject2.Value*/ value) nothrow {
17210 return clutter_state_key_get_value(&this, UpCast!(GObject2.Value*)(value));
17214 struct StatePrivate {
17217 // Named colors, for accessing global colors defined by Clutter
17218 enum StaticColor /* Version 1.6 */ {
17219 WHITE = 0,
17220 BLACK = 1,
17221 RED = 2,
17222 DARK_RED = 3,
17223 GREEN = 4,
17224 DARK_GREEN = 5,
17225 BLUE = 6,
17226 DARK_BLUE = 7,
17227 CYAN = 8,
17228 DARK_CYAN = 9,
17229 MAGENTA = 10,
17230 DARK_MAGENTA = 11,
17231 YELLOW = 12,
17232 DARK_YELLOW = 13,
17233 GRAY = 14,
17234 DARK_GRAY = 15,
17235 LIGHT_GRAY = 16,
17236 BUTTER = 17,
17237 BUTTER_LIGHT = 18,
17238 BUTTER_DARK = 19,
17239 ORANGE = 20,
17240 ORANGE_LIGHT = 21,
17241 ORANGE_DARK = 22,
17242 CHOCOLATE = 23,
17243 CHOCOLATE_LIGHT = 24,
17244 CHOCOLATE_DARK = 25,
17245 CHAMELEON = 26,
17246 CHAMELEON_LIGHT = 27,
17247 CHAMELEON_DARK = 28,
17248 SKY_BLUE = 29,
17249 SKY_BLUE_LIGHT = 30,
17250 SKY_BLUE_DARK = 31,
17251 PLUM = 32,
17252 PLUM_LIGHT = 33,
17253 PLUM_DARK = 34,
17254 SCARLET_RED = 35,
17255 SCARLET_RED_LIGHT = 36,
17256 SCARLET_RED_DARK = 37,
17257 ALUMINIUM_1 = 38,
17258 ALUMINIUM_2 = 39,
17259 ALUMINIUM_3 = 40,
17260 ALUMINIUM_4 = 41,
17261 ALUMINIUM_5 = 42,
17262 ALUMINIUM_6 = 43,
17263 TRANSPARENT = 44
17265 enum int StickyKeys_Enable = 65141;
17266 enum int Stop = 269025064;
17267 enum int Subtitle = 269025178;
17268 enum int Super_L = 65515;
17269 enum int Super_R = 65516;
17270 enum int Support = 269025150;
17271 enum int Suspend = 269025191;
17273 // The <structname>ClutterSwipeAction</structname> structure contains
17274 // only private data and should be accessed using the provided API
17275 struct SwipeAction /* : GestureAction */ /* Version 1.8 */ {
17276 alias parent_instance this;
17277 alias parent_instance super_;
17278 alias parent_instance gestureaction;
17279 GestureAction parent_instance;
17280 private SwipeActionPrivate* priv;
17283 // VERSION: 1.8
17284 // Creates a new #ClutterSwipeAction instance
17285 // RETURNS: the newly created #ClutterSwipeAction
17286 static SwipeAction* new_()() nothrow {
17287 return clutter_swipe_action_new();
17289 static auto opCall()() {
17290 return clutter_swipe_action_new();
17293 // VERSION: 1.8
17294 // The ::swept signal is emitted when a swipe gesture is recognized on the
17295 // attached actor.
17296 // <actor>: the #ClutterActor attached to the @action
17297 // <direction>: the main direction of the swipe gesture
17298 extern (C) alias static void function (SwipeAction* this_, Actor* actor, SwipeDirection* direction, void* user_data=null) nothrow signal_swept;
17300 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
17301 return super_.signal_connect!name(cb, data, cf);
17304 ulong signal_connect(string name:"swept", CB/*:signal_swept*/)
17305 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
17306 if (is(typeof(cb)==signal_swept)||_ttmm!(CB, signal_swept)()) {
17307 return signal_connect_data!()(&this, cast(char*)"swept",
17308 cast(GObject2.Callback)cb, data, null, cf);
17313 // The <structname>ClutterSwipeActionClass</structname> structure contains
17314 // only private data.
17315 struct SwipeActionClass /* Version 1.8 */ {
17316 private GestureActionClass parent_class;
17317 extern (C) void function (SwipeAction* action, Actor* actor, SwipeDirection direction) nothrow swept;
17318 extern (C) void function () nothrow _clutter_swipe_action1;
17319 extern (C) void function () nothrow _clutter_swipe_action2;
17320 extern (C) void function () nothrow _clutter_swipe_action3;
17321 extern (C) void function () nothrow _clutter_swipe_action4;
17322 extern (C) void function () nothrow _clutter_swipe_action5;
17323 extern (C) void function () nothrow _clutter_swipe_action6;
17324 extern (C) void function () nothrow _clutter_swipe_action7;
17327 struct SwipeActionPrivate {
17330 // The main direction of the swipe gesture
17331 enum SwipeDirection /* Version 1.8 */ {
17332 UP = 1,
17333 DOWN = 2,
17334 LEFT = 4,
17335 RIGHT = 8
17337 enum int Switch_VT_1 = 269024769;
17338 enum int Switch_VT_10 = 269024778;
17339 enum int Switch_VT_11 = 269024779;
17340 enum int Switch_VT_12 = 269024780;
17341 enum int Switch_VT_2 = 269024770;
17342 enum int Switch_VT_3 = 269024771;
17343 enum int Switch_VT_4 = 269024772;
17344 enum int Switch_VT_5 = 269024773;
17345 enum int Switch_VT_6 = 269024774;
17346 enum int Switch_VT_7 = 269024775;
17347 enum int Switch_VT_8 = 269024776;
17348 enum int Switch_VT_9 = 269024777;
17349 enum int Sys_Req = 65301;
17350 enum int T = 84;
17351 enum int THORN = 222;
17352 enum int Tab = 65289;
17353 // The alignment policies available on each axis of the #ClutterTableLayout
17354 enum TableAlignment /* Version 1.4 */ {
17355 START = 0,
17356 CENTER = 1,
17357 END = 2
17360 // The #ClutterTableLayout structure contains only private data
17361 // and should be accessed using the provided API
17362 struct TableLayout /* : LayoutManager */ /* Version 1.4 */ {
17363 alias parent_instance this;
17364 alias parent_instance super_;
17365 alias parent_instance layoutmanager;
17366 LayoutManager parent_instance;
17367 private TableLayoutPrivate* priv;
17370 // VERSION: 1.4
17371 // Creates a new #ClutterTableLayout layout manager
17372 // RETURNS: the newly created #ClutterTableLayout
17373 static TableLayout* new_()() nothrow {
17374 return clutter_table_layout_new();
17376 static auto opCall()() {
17377 return clutter_table_layout_new();
17380 // VERSION: 1.4
17381 // Retrieves the horizontal and vertical alignment policies for @actor
17382 // as set using clutter_table_layout_pack() or
17383 // clutter_table_layout_set_alignment().
17384 // <actor>: a #ClutterActor child of @layout
17385 // <x_align>: return location for the horizontal alignment policy
17386 // <y_align>: return location for the vertical alignment policy
17387 void get_alignment(AT0, AT1, AT2)(AT0 /*Actor*/ actor, /*out*/ AT1 /*TableAlignment*/ x_align, /*out*/ AT2 /*TableAlignment*/ y_align) nothrow {
17388 clutter_table_layout_get_alignment(&this, UpCast!(Actor*)(actor), UpCast!(TableAlignment*)(x_align), UpCast!(TableAlignment*)(y_align));
17391 // VERSION: 1.4
17392 // Retrieve the current number of columns in @layout
17393 // RETURNS: the number of columns
17394 int get_column_count()() nothrow {
17395 return clutter_table_layout_get_column_count(&this);
17398 // VERSION: 1.4
17399 // Retrieves the spacing set using clutter_table_layout_set_column_spacing()
17400 // RETURNS: the spacing between columns of the #ClutterTableLayout
17401 uint get_column_spacing()() nothrow {
17402 return clutter_table_layout_get_column_spacing(&this);
17405 // VERSION: 1.4
17406 // Retrieves the duration set using clutter_table_layout_set_easing_duration()
17407 // RETURNS: the duration of the animations, in milliseconds
17408 uint get_easing_duration()() nothrow {
17409 return clutter_table_layout_get_easing_duration(&this);
17412 // VERSION: 1.4
17413 // Retrieves the easing mode set using clutter_table_layout_set_easing_mode()
17414 // RETURNS: an easing mode
17415 c_ulong get_easing_mode()() nothrow {
17416 return clutter_table_layout_get_easing_mode(&this);
17419 // VERSION: 1.4
17420 // Retrieves the horizontal and vertical expand policies for @actor
17421 // as set using clutter_table_layout_pack() or clutter_table_layout_set_expand()
17422 // <actor>: a #ClutterActor child of @layout
17423 // <x_expand>: return location for the horizontal expand policy
17424 // <y_expand>: return location for the vertical expand policy
17425 void get_expand(AT0)(AT0 /*Actor*/ actor, /*out*/ int* x_expand, /*out*/ int* y_expand) nothrow {
17426 clutter_table_layout_get_expand(&this, UpCast!(Actor*)(actor), x_expand, y_expand);
17429 // VERSION: 1.4
17430 // Retrieves the horizontal and vertical fill policies for @actor
17431 // as set using clutter_table_layout_pack() or clutter_table_layout_set_fill()
17432 // <actor>: a #ClutterActor child of @layout
17433 // <x_fill>: return location for the horizontal fill policy
17434 // <y_fill>: return location for the vertical fill policy
17435 void get_fill(AT0)(AT0 /*Actor*/ actor, /*out*/ int* x_fill, /*out*/ int* y_fill) nothrow {
17436 clutter_table_layout_get_fill(&this, UpCast!(Actor*)(actor), x_fill, y_fill);
17439 // VERSION: 1.4
17440 // Retrieve the current number rows in the @layout
17441 // RETURNS: the number of rows
17442 int get_row_count()() nothrow {
17443 return clutter_table_layout_get_row_count(&this);
17446 // VERSION: 1.4
17447 // Retrieves the spacing set using clutter_table_layout_set_row_spacing()
17448 // RETURNS: the spacing between rows of the #ClutterTableLayout
17449 uint get_row_spacing()() nothrow {
17450 return clutter_table_layout_get_row_spacing(&this);
17453 // VERSION: 1.4
17454 // Retrieves the row and column span for @actor as set using
17455 // clutter_table_layout_pack() or clutter_table_layout_set_span()
17456 // <actor>: a #ClutterActor child of @layout
17457 // <column_span>: return location for the col span
17458 // <row_span>: return location for the row span
17459 void get_span(AT0)(AT0 /*Actor*/ actor, /*out*/ int* column_span, /*out*/ int* row_span) nothrow {
17460 clutter_table_layout_get_span(&this, UpCast!(Actor*)(actor), column_span, row_span);
17463 // VERSION: 1.4
17464 // Retrieves whether @layout should animate changes in the layout properties
17466 // Since clutter_table_layout_set_use_animations()
17467 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
17468 int get_use_animations()() nothrow {
17469 return clutter_table_layout_get_use_animations(&this);
17472 // VERSION: 1.4
17473 // Packs @actor inside the #ClutterContainer associated to @layout
17474 // at the given row and column.
17475 // <actor>: a #ClutterActor
17476 // <column>: the column the @actor should be put, or -1 to append
17477 // <row>: the row the @actor should be put, or -1 to append
17478 void pack(AT0)(AT0 /*Actor*/ actor, int column, int row) nothrow {
17479 clutter_table_layout_pack(&this, UpCast!(Actor*)(actor), column, row);
17482 // VERSION: 1.4
17483 // Sets the horizontal and vertical alignment policies for @actor
17484 // inside @layout
17485 // <actor>: a #ClutterActor child of @layout
17486 // <x_align>: Horizontal alignment policy for @actor
17487 // <y_align>: Vertical alignment policy for @actor
17488 void set_alignment(AT0)(AT0 /*Actor*/ actor, TableAlignment x_align, TableAlignment y_align) nothrow {
17489 clutter_table_layout_set_alignment(&this, UpCast!(Actor*)(actor), x_align, y_align);
17492 // VERSION: 1.4
17493 // Sets the spacing between columns of @layout
17494 // <spacing>: the spacing between columns of the layout, in pixels
17495 void set_column_spacing()(uint spacing) nothrow {
17496 clutter_table_layout_set_column_spacing(&this, spacing);
17499 // VERSION: 1.4
17500 // Sets the duration of the animations used by @layout when animating changes
17501 // in the layout properties
17503 // Use clutter_table_layout_set_use_animations() to enable and disable the
17504 // animations
17505 // <msecs>: the duration of the animations, in milliseconds
17506 void set_easing_duration()(uint msecs) nothrow {
17507 clutter_table_layout_set_easing_duration(&this, msecs);
17510 // VERSION: 1.4
17511 // Sets the easing mode to be used by @layout when animating changes in layout
17512 // properties
17514 // Use clutter_table_layout_set_use_animations() to enable and disable the
17515 // animations
17516 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
17517 void set_easing_mode()(c_ulong mode) nothrow {
17518 clutter_table_layout_set_easing_mode(&this, mode);
17521 // VERSION: 1.4
17522 // Sets the horizontal and vertical expand policies for @actor
17523 // inside @layout
17524 // <actor>: a #ClutterActor child of @layout
17525 // <x_expand>: whether @actor should allocate extra space horizontally
17526 // <y_expand>: whether @actor should allocate extra space vertically
17527 void set_expand(AT0)(AT0 /*Actor*/ actor, int x_expand, int y_expand) nothrow {
17528 clutter_table_layout_set_expand(&this, UpCast!(Actor*)(actor), x_expand, y_expand);
17531 // VERSION: 1.4
17532 // Sets the horizontal and vertical fill policies for @actor
17533 // inside @layout
17534 // <actor>: a #ClutterActor child of @layout
17535 // <x_fill>: whether @actor should fill horizontally the allocated space
17536 // <y_fill>: whether @actor should fill vertically the allocated space
17537 void set_fill(AT0)(AT0 /*Actor*/ actor, int x_fill, int y_fill) nothrow {
17538 clutter_table_layout_set_fill(&this, UpCast!(Actor*)(actor), x_fill, y_fill);
17541 // VERSION: 1.4
17542 // Sets the spacing between rows of @layout
17543 // <spacing>: the spacing between rows of the layout, in pixels
17544 void set_row_spacing()(uint spacing) nothrow {
17545 clutter_table_layout_set_row_spacing(&this, spacing);
17548 // VERSION: 1.4
17549 // Sets the row and column span for @actor
17550 // inside @layout
17551 // <actor>: a #ClutterActor child of @layout
17552 // <column_span>: Column span for @actor
17553 // <row_span>: Row span for @actor
17554 void set_span(AT0)(AT0 /*Actor*/ actor, int column_span, int row_span) nothrow {
17555 clutter_table_layout_set_span(&this, UpCast!(Actor*)(actor), column_span, row_span);
17558 // VERSION: 1.4
17559 // Sets whether @layout should animate changes in the layout properties
17561 // The duration of the animations is controlled by
17562 // clutter_table_layout_set_easing_duration(); the easing mode to be used
17563 // by the animations is controlled by clutter_table_layout_set_easing_mode()
17564 // <animate>: %TRUE if the @layout should use animations
17565 void set_use_animations()(int animate) nothrow {
17566 clutter_table_layout_set_use_animations(&this, animate);
17571 // The #ClutterTableLayoutClass structure contains only private
17572 // data and should be accessed using the provided API
17573 struct TableLayoutClass /* Version 1.4 */ {
17574 private LayoutManagerClass parent_class;
17577 struct TableLayoutPrivate {
17580 enum int Tabovedot = 16785002;
17581 enum int TaskPane = 269025151;
17582 enum int Tcaron = 427;
17583 enum int Tcedilla = 478;
17584 enum int Terminal = 269025152;
17585 enum int Terminate_Server = 65237;
17586 // The #ClutterText struct contains only private data.
17587 struct Text /* : Actor */ /* Version 1.0 */ {
17588 mixin Atk.ImplementorIface.__interface__;
17589 mixin Animatable.__interface__;
17590 mixin Container.__interface__;
17591 mixin Scriptable.__interface__;
17592 alias parent_instance this;
17593 alias parent_instance super_;
17594 alias parent_instance actor;
17595 Actor parent_instance;
17596 private TextPrivate* priv;
17599 // VERSION: 1.0
17600 // Creates a new #ClutterText actor. This actor can be used to
17601 // display and edit text.
17602 // RETURNS: the newly created #ClutterText actor
17603 static Text* new_()() nothrow {
17604 return clutter_text_new();
17606 static auto opCall()() {
17607 return clutter_text_new();
17610 // VERSION: 1.0
17611 // Creates a new #ClutterText actor, using @font_name as the font
17612 // description; @text will be used to set the contents of the actor;
17613 // and @color will be used as the color to render @text.
17615 // This function is equivalent to calling clutter_text_new(),
17616 // clutter_text_set_font_name(), clutter_text_set_text() and
17617 // clutter_text_set_color().
17618 // RETURNS: the newly created #ClutterText actor
17619 // <font_name>: a string with a font description
17620 // <text>: the contents of the actor
17621 // <color>: the color to be used to render @text
17622 static Text* new_full(AT0, AT1, AT2)(AT0 /*char*/ font_name, AT1 /*char*/ text, AT2 /*Color*/ color) nothrow {
17623 return clutter_text_new_full(toCString!(char*)(font_name), toCString!(char*)(text), UpCast!(Color*)(color));
17625 static auto opCall(AT0, AT1, AT2)(AT0 /*char*/ font_name, AT1 /*char*/ text, AT2 /*Color*/ color) {
17626 return clutter_text_new_full(toCString!(char*)(font_name), toCString!(char*)(text), UpCast!(Color*)(color));
17629 // VERSION: 1.8
17630 // Creates a new entry with the specified text buffer.
17631 // RETURNS: a new #ClutterText
17632 // <buffer>: The buffer to use for the new #ClutterText.
17633 static Text* new_with_buffer(AT0)(AT0 /*TextBuffer*/ buffer) nothrow {
17634 return clutter_text_new_with_buffer(UpCast!(TextBuffer*)(buffer));
17636 static auto opCall(AT0)(AT0 /*TextBuffer*/ buffer) {
17637 return clutter_text_new_with_buffer(UpCast!(TextBuffer*)(buffer));
17640 // VERSION: 1.0
17641 // Creates a new #ClutterText actor, using @font_name as the font
17642 // description; @text will be used to set the contents of the actor.
17644 // This function is equivalent to calling clutter_text_new(),
17645 // clutter_text_set_font_name(), and clutter_text_set_text().
17646 // RETURNS: the newly created #ClutterText actor
17647 // <font_name>: a string with a font description
17648 // <text>: the contents of the actor
17649 static Text* new_with_text(AT0, AT1)(AT0 /*char*/ font_name, AT1 /*char*/ text) nothrow {
17650 return clutter_text_new_with_text(toCString!(char*)(font_name), toCString!(char*)(text));
17652 static auto opCall(AT0, AT1)(AT0 /*char*/ font_name, AT1 /*char*/ text) {
17653 return clutter_text_new_with_text(toCString!(char*)(font_name), toCString!(char*)(text));
17656 // VERSION: 1.0
17657 // Emits the #ClutterText::activate signal, if @self has been set
17658 // as activatable using clutter_text_set_activatable().
17660 // This function can be used to emit the ::activate signal inside
17661 // a #ClutterActor::captured-event or #ClutterActor::key-press-event
17662 // signal handlers before the default signal handler for the
17663 // #ClutterText is invoked.
17665 // and %FALSE otherwise
17666 // RETURNS: %TRUE if the ::activate signal has been emitted,
17667 int activate()() nothrow {
17668 return clutter_text_activate(&this);
17671 // VERSION: 1.10
17672 // Retrieves the position of the character at the given coordinates.
17673 // RETURNS: the position of the character
17674 // <x>: the X coordinate, relative to the actor
17675 // <y>: the Y coordinate, relative to the actor
17676 int coords_to_position()(float x, float y) nothrow {
17677 return clutter_text_coords_to_position(&this, x, y);
17680 // VERSION: 1.0
17681 // Deletes @n_chars inside a #ClutterText actor, starting from the
17682 // current cursor position.
17684 // Somewhat awkwardly, the cursor position is decremented by the same
17685 // number of characters you've deleted.
17686 // <n_chars>: the number of characters to delete
17687 void delete_chars()(uint n_chars) nothrow {
17688 clutter_text_delete_chars(&this, n_chars);
17691 // VERSION: 1.0
17692 // Deletes the currently selected text
17694 // This function is only useful in subclasses of #ClutterText
17696 // is empty, and %FALSE otherwise
17697 // RETURNS: %TRUE if text was deleted or if the text actor
17698 int delete_selection()() nothrow {
17699 return clutter_text_delete_selection(&this);
17702 // VERSION: 1.0
17703 // Deletes the text inside a #ClutterText actor between @start_pos
17704 // and @end_pos.
17706 // The starting and ending positions are expressed in characters,
17707 // not in bytes.
17708 // <start_pos>: starting position
17709 // <end_pos>: ending position
17710 void delete_text()(ssize_t start_pos, ssize_t end_pos) nothrow {
17711 clutter_text_delete_text(&this, start_pos, end_pos);
17714 // VERSION: 1.0
17715 // Retrieves whether a #ClutterText is activatable or not.
17716 // RETURNS: %TRUE if the actor is activatable
17717 int get_activatable()() nothrow {
17718 return clutter_text_get_activatable(&this);
17721 // VERSION: 1.0
17722 // Gets the attribute list that was set on the #ClutterText actor
17723 // clutter_text_set_attributes(), if any.
17725 // returned value is owned by the #ClutterText and should not be unreferenced.
17726 // RETURNS: the attribute list, or %NULL if none was set. The
17727 Pango.AttrList* get_attributes()() nothrow {
17728 return clutter_text_get_attributes(&this);
17731 // VERSION: 1.8
17732 // Get the #ClutterTextBuffer object which holds the text for
17733 // this widget.
17734 // RETURNS: A #GtkEntryBuffer object.
17735 TextBuffer* get_buffer()() nothrow {
17736 return clutter_text_get_buffer(&this);
17739 // VERSION: 1.0
17740 // Retrieves the contents of the #ClutterText actor between
17741 // @start_pos and @end_pos, but not including @end_pos.
17743 // The positions are specified in characters, not in bytes.
17745 // the text actor between the specified positions. Use g_free()
17746 // to free the resources when done
17747 // RETURNS: a newly allocated string with the contents of
17748 // <start_pos>: start of text, in characters
17749 // <end_pos>: end of text, in characters
17750 char* /*new*/ get_chars()(ssize_t start_pos, ssize_t end_pos) nothrow {
17751 return clutter_text_get_chars(&this, start_pos, end_pos);
17754 // VERSION: 1.0
17755 // Retrieves the text color as set by clutter_text_set_color().
17756 // <color>: return location for a #ClutterColor
17757 void get_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
17758 clutter_text_get_color(&this, UpCast!(Color*)(color));
17761 // VERSION: 1.0
17762 // Retrieves the color of the cursor of a #ClutterText actor.
17763 // <color>: return location for a #ClutterColor
17764 void get_cursor_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
17765 clutter_text_get_cursor_color(&this, UpCast!(Color*)(color));
17768 // VERSION: 1.0
17769 // Retrieves the cursor position.
17770 // RETURNS: the cursor position, in characters
17771 int get_cursor_position()() nothrow {
17772 return clutter_text_get_cursor_position(&this);
17775 // VERSION: 1.0
17776 // Retrieves the size of the cursor of a #ClutterText actor.
17777 // RETURNS: the size of the cursor, in pixels
17778 uint get_cursor_size()() nothrow {
17779 return clutter_text_get_cursor_size(&this);
17782 // VERSION: 1.0
17783 // Retrieves whether the cursor of a #ClutterText actor is visible.
17784 // RETURNS: %TRUE if the cursor is visible
17785 int get_cursor_visible()() nothrow {
17786 return clutter_text_get_cursor_visible(&this);
17789 // VERSION: 1.0
17790 // Retrieves whether a #ClutterText is editable or not.
17791 // RETURNS: %TRUE if the actor is editable
17792 int get_editable()() nothrow {
17793 return clutter_text_get_editable(&this);
17796 // VERSION: 1.0
17797 // Returns the ellipsizing position of a #ClutterText actor, as
17798 // set by clutter_text_set_ellipsize().
17799 // RETURNS: #PangoEllipsizeMode
17800 Pango.EllipsizeMode get_ellipsize()() nothrow {
17801 return clutter_text_get_ellipsize(&this);
17804 // VERSION: 1.2
17805 // Retrieves the #PangoFontDescription used by @self
17807 // by the #ClutterText actor and it should not be modified or freed
17808 // RETURNS: a #PangoFontDescription. The returned value is owned
17809 Pango.FontDescription* /*new*/ get_font_description()() nothrow {
17810 return clutter_text_get_font_description(&this);
17813 // VERSION: 1.0
17814 // Retrieves the font name as set by clutter_text_set_font_name().
17816 // string is owned by the #ClutterText actor and should not be
17817 // modified or freed
17818 // RETURNS: a string containing the font name. The returned
17819 char* get_font_name()() nothrow {
17820 return clutter_text_get_font_name(&this);
17823 // VERSION: 0.6
17824 // Retrieves whether the #ClutterText actor should justify its contents
17825 // on both margins.
17826 // RETURNS: %TRUE if the text should be justified
17827 int get_justify()() nothrow {
17828 return clutter_text_get_justify(&this);
17831 // VERSION: 1.0
17832 // Retrieves the current #PangoLayout used by a #ClutterText actor.
17834 // the #ClutterText actor and should not be modified or freed
17835 // RETURNS: a #PangoLayout. The returned object is owned by
17836 Pango.Layout* get_layout()() nothrow {
17837 return clutter_text_get_layout(&this);
17840 // VERSION: 1.8
17841 // Obtains the coordinates where the #ClutterText will draw the #PangoLayout
17842 // representing the text.
17843 // <x>: location to store X offset of layout, or %NULL
17844 // <y>: location to store Y offset of layout, or %NULL
17845 void get_layout_offsets()(/*out*/ int* x, /*out*/ int* y) nothrow {
17846 clutter_text_get_layout_offsets(&this, x, y);
17849 // VERSION: 1.0
17850 // Retrieves the alignment of a #ClutterText, as set by
17851 // clutter_text_set_line_alignment().
17852 // RETURNS: a #PangoAlignment
17853 Pango.Alignment get_line_alignment()() nothrow {
17854 return clutter_text_get_line_alignment(&this);
17857 // VERSION: 1.0
17858 // Retrieves the value set using clutter_text_set_line_wrap().
17860 // its contents
17861 // RETURNS: %TRUE if the #ClutterText actor should wrap
17862 int get_line_wrap()() nothrow {
17863 return clutter_text_get_line_wrap(&this);
17866 // VERSION: 1.0
17867 // Retrieves the line wrap mode used by the #ClutterText actor.
17869 // See clutter_text_set_line_wrap_mode ().
17870 // RETURNS: the wrap mode used by the #ClutterText
17871 Pango.WrapMode get_line_wrap_mode()() nothrow {
17872 return clutter_text_get_line_wrap_mode(&this);
17875 // VERSION: 1.0
17876 // Gets the maximum length of text that can be set into a text actor.
17878 // See clutter_text_set_max_length().
17879 // RETURNS: the maximum number of characters.
17880 int get_max_length()() nothrow {
17881 return clutter_text_get_max_length(&this);
17884 // VERSION: 1.0
17885 // Retrieves the character to use in place of the actual text
17886 // as set by clutter_text_set_password_char().
17888 // character is not set
17889 // RETURNS: a Unicode character or 0 if the password
17890 dchar get_password_char()() nothrow {
17891 return clutter_text_get_password_char(&this);
17894 // VERSION: 1.0
17895 // Retrieves whether a #ClutterText is selectable or not.
17896 // RETURNS: %TRUE if the actor is selectable
17897 int get_selectable()() nothrow {
17898 return clutter_text_get_selectable(&this);
17901 // VERSION: 1.8
17902 // Retrieves the color of selected text of a #ClutterText actor.
17903 // <color>: return location for a #ClutterColor
17904 void get_selected_text_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
17905 clutter_text_get_selected_text_color(&this, UpCast!(Color*)(color));
17908 // VERSION: 1.0
17909 // Retrieves the currently selected text.
17911 // selected text, or %NULL. Use g_free() to free the returned
17912 // string.
17913 // RETURNS: a newly allocated string containing the currently
17914 char* /*new*/ get_selection()() nothrow {
17915 return clutter_text_get_selection(&this);
17918 // VERSION: 1.0
17919 // Retrieves the other end of the selection of a #ClutterText actor,
17920 // in characters from the current cursor position.
17921 // RETURNS: the position of the other end of the selection
17922 int get_selection_bound()() nothrow {
17923 return clutter_text_get_selection_bound(&this);
17926 // VERSION: 1.0
17927 // Retrieves the color of the selection of a #ClutterText actor.
17928 // <color>: return location for a #ClutterColor
17929 void get_selection_color(AT0)(/*out*/ AT0 /*Color*/ color) nothrow {
17930 clutter_text_get_selection_color(&this, UpCast!(Color*)(color));
17933 // VERSION: 1.0
17934 // Retrieves whether the #ClutterText actor is in single line mode.
17935 // RETURNS: %TRUE if the #ClutterText actor is in single line mode
17936 int get_single_line_mode()() nothrow {
17937 return clutter_text_get_single_line_mode(&this);
17940 // VERSION: 1.0
17941 // Retrieves a pointer to the current contents of a #ClutterText
17942 // actor.
17944 // If you need a copy of the contents for manipulating, either
17945 // use g_strdup() on the returned string, or use:
17947 // |[
17948 // copy = clutter_text_get_chars (text, 0, -1);
17949 // ]|
17951 // Which will return a newly allocated string.
17953 // If the #ClutterText actor is empty, this function will return
17954 // an empty string, and not %NULL.
17956 // string is owned by the #ClutterText actor and should never be modified
17957 // or freed
17958 // RETURNS: the contents of the actor. The returned
17959 char* get_text()() nothrow {
17960 return clutter_text_get_text(&this);
17963 // VERSION: 1.0
17964 // Retrieves whether the contents of the #ClutterText actor should be
17965 // parsed for the Pango text markup.
17966 // RETURNS: %TRUE if the contents will be parsed for markup
17967 int get_use_markup()() nothrow {
17968 return clutter_text_get_use_markup(&this);
17971 // VERSION: 1.0
17972 // Inserts @text into a #ClutterActor at the given position.
17974 // If @position is a negative number, the text will be appended
17975 // at the end of the current contents of the #ClutterText.
17977 // The position is expressed in characters, not in bytes.
17978 // <text>: the text to be inserted
17979 // <position>: the position of the insertion, or -1
17980 void insert_text(AT0)(AT0 /*char*/ text, ssize_t position) nothrow {
17981 clutter_text_insert_text(&this, toCString!(char*)(text), position);
17984 // VERSION: 1.0
17985 // Inserts @wc at the current cursor position of a
17986 // #ClutterText actor.
17987 // <wc>: a Unicode character
17988 void insert_unichar()(dchar wc) nothrow {
17989 clutter_text_insert_unichar(&this, wc);
17992 // VERSION: 1.0
17993 // Retrieves the coordinates of the given @position.
17994 // RETURNS: %TRUE if the conversion was successful
17995 // <position>: position in characters
17996 // <x>: return location for the X coordinate, or %NULL
17997 // <y>: return location for the Y coordinate, or %NULL
17998 // <line_height>: return location for the line height, or %NULL
17999 int position_to_coords(AT0, AT1, AT2)(int position, /*out*/ AT0 /*float*/ x, /*out*/ AT1 /*float*/ y, /*out*/ AT2 /*float*/ line_height) nothrow {
18000 return clutter_text_position_to_coords(&this, position, UpCast!(float*)(x), UpCast!(float*)(y), UpCast!(float*)(line_height));
18003 // VERSION: 1.0
18004 // Sets whether a #ClutterText actor should be activatable.
18006 // An activatable #ClutterText actor will emit the #ClutterText::activate
18007 // signal whenever the 'Enter' (or 'Return') key is pressed; if it is not
18008 // activatable, a new line will be appended to the current content.
18010 // An activatable #ClutterText must also be set as editable using
18011 // clutter_text_set_editable().
18012 // <activatable>: whether the #ClutterText actor should be activatable
18013 void set_activatable()(int activatable) nothrow {
18014 clutter_text_set_activatable(&this, activatable);
18017 // VERSION: 1.0
18018 // Sets the attributes list that are going to be applied to the
18019 // #ClutterText contents.
18021 // The #ClutterText actor will take a reference on the #PangoAttrList
18022 // passed to this function.
18023 // <attrs>: a #PangoAttrList or %NULL to unset the attributes
18024 void set_attributes(AT0)(AT0 /*Pango.AttrList*/ attrs) nothrow {
18025 clutter_text_set_attributes(&this, UpCast!(Pango.AttrList*)(attrs));
18028 // VERSION: 1.8
18029 // Set the #ClutterTextBuffer object which holds the text for
18030 // this widget.
18031 // <buffer>: a #ClutterTextBuffer
18032 void set_buffer(AT0)(AT0 /*TextBuffer*/ buffer) nothrow {
18033 clutter_text_set_buffer(&this, UpCast!(TextBuffer*)(buffer));
18036 // VERSION: 1.0
18037 // Sets the color of the contents of a #ClutterText actor.
18039 // The overall opacity of the #ClutterText actor will be the
18040 // result of the alpha value of @color and the composited
18041 // opacity of the actor itself on the scenegraph, as returned
18042 // by clutter_actor_get_paint_opacity().
18043 // <color>: a #ClutterColor
18044 void set_color(AT0)(AT0 /*Color*/ color) nothrow {
18045 clutter_text_set_color(&this, UpCast!(Color*)(color));
18048 // VERSION: 1.0
18049 // Sets the color of the cursor of a #ClutterText actor.
18051 // If @color is %NULL, the cursor color will be the same as the
18052 // text color.
18053 // <color>: the color of the cursor, or %NULL to unset it
18054 void set_cursor_color(AT0)(AT0 /*Color*/ color) nothrow {
18055 clutter_text_set_cursor_color(&this, UpCast!(Color*)(color));
18058 // VERSION: 1.0
18059 // Sets the cursor of a #ClutterText actor at @position.
18061 // The position is expressed in characters, not in bytes.
18062 // <position>: the new cursor position, in characters
18063 void set_cursor_position()(int position) nothrow {
18064 clutter_text_set_cursor_position(&this, position);
18067 // VERSION: 1.0
18068 // Sets the size of the cursor of a #ClutterText. The cursor
18069 // will only be visible if the #ClutterText:cursor-visible property
18070 // is set to %TRUE.
18071 // <size>: the size of the cursor, in pixels, or -1 to use the default value
18072 void set_cursor_size()(int size) nothrow {
18073 clutter_text_set_cursor_size(&this, size);
18076 // VERSION: 1.0
18077 // Sets whether the cursor of a #ClutterText actor should be
18078 // visible or not.
18080 // The color of the cursor will be the same as the text color
18081 // unless clutter_text_set_cursor_color() has been called.
18083 // The size of the cursor can be set using clutter_text_set_cursor_size().
18085 // The position of the cursor can be changed programmatically using
18086 // clutter_text_set_cursor_position().
18087 // <cursor_visible>: whether the cursor should be visible
18088 void set_cursor_visible()(int cursor_visible) nothrow {
18089 clutter_text_set_cursor_visible(&this, cursor_visible);
18092 // VERSION: 1.0
18093 // Sets whether the #ClutterText actor should be editable.
18095 // An editable #ClutterText with key focus set using
18096 // clutter_actor_grab_key_focus() or clutter_stage_set_key_focus()
18097 // will receive key events and will update its contents accordingly.
18098 // <editable>: whether the #ClutterText should be editable
18099 void set_editable()(int editable) nothrow {
18100 clutter_text_set_editable(&this, editable);
18103 // VERSION: 1.0
18104 // Sets the mode used to ellipsize (add an ellipsis: "...") to the
18105 // text if there is not enough space to render the entire contents
18106 // of a #ClutterText actor
18107 // <mode>: a #PangoEllipsizeMode
18108 void set_ellipsize()(Pango.EllipsizeMode mode) nothrow {
18109 clutter_text_set_ellipsize(&this, mode);
18112 // VERSION: 1.2
18113 // Sets @font_desc as the font description for a #ClutterText
18115 // The #PangoFontDescription is copied by the #ClutterText actor
18116 // so you can safely call pango_font_description_free() on it after
18117 // calling this function.
18118 // <font_desc>: a #PangoFontDescription
18119 void set_font_description(AT0)(AT0 /*Pango.FontDescription*/ font_desc) nothrow {
18120 clutter_text_set_font_description(&this, UpCast!(Pango.FontDescription*)(font_desc));
18123 // VERSION: 1.0
18124 // Sets the font used by a #ClutterText. The @font_name string
18125 // must either be %NULL, which means that the font name from the
18126 // default #ClutterBackend will be used; or be something that can
18127 // be parsed by the pango_font_description_from_string() function,
18128 // like:
18130 // |[
18131 // clutter_text_set_font_name (text, "Sans 10pt");
18132 // clutter_text_set_font_name (text, "Serif 16px");
18133 // clutter_text_set_font_name (text, "Helvetica 10");
18134 // ]|
18135 // <font_name>: a font name, or %NULL to set the default font name
18136 void set_font_name(AT0)(AT0 /*char*/ font_name=null) nothrow {
18137 clutter_text_set_font_name(&this, toCString!(char*)(font_name));
18140 // VERSION: 1.0
18141 // Sets whether the text of the #ClutterText actor should be justified
18142 // on both margins. This setting is ignored if Clutter is compiled
18143 // against Pango &lt; 1.18.
18144 // <justify>: whether the text should be justified
18145 void set_justify()(int justify) nothrow {
18146 clutter_text_set_justify(&this, justify);
18149 // VERSION: 1.0
18150 // Sets the way that the lines of a wrapped label are aligned with
18151 // respect to each other. This does not affect the overall alignment
18152 // of the label within its allocated or specified width.
18154 // To align a #ClutterText actor you should add it to a container
18155 // that supports alignment, or use the anchor point.
18156 // <alignment>: A #PangoAlignment
18157 void set_line_alignment()(Pango.Alignment alignment) nothrow {
18158 clutter_text_set_line_alignment(&this, alignment);
18161 // VERSION: 1.0
18162 // Sets whether the contents of a #ClutterText actor should wrap,
18163 // if they don't fit the size assigned to the actor.
18164 // <line_wrap>: whether the contents should wrap
18165 void set_line_wrap()(int line_wrap) nothrow {
18166 clutter_text_set_line_wrap(&this, line_wrap);
18169 // VERSION: 1.0
18170 // If line wrapping is enabled (see clutter_text_set_line_wrap()) this
18171 // function controls how the line wrapping is performed. The default is
18172 // %PANGO_WRAP_WORD which means wrap on word boundaries.
18173 // <wrap_mode>: the line wrapping mode
18174 void set_line_wrap_mode()(Pango.WrapMode wrap_mode) nothrow {
18175 clutter_text_set_line_wrap_mode(&this, wrap_mode);
18178 // VERSION: 1.0
18179 // Sets @markup as the contents of a #ClutterText.
18181 // This is a convenience function for setting a string containing
18182 // Pango markup, and it is logically equivalent to:
18184 // |[
18185 // /&ast; the order is important &ast;/
18186 // clutter_text_set_text (CLUTTER_TEXT (actor), markup);
18187 // clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
18188 // ]|
18189 // <markup>: a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string)
18190 void set_markup(AT0)(AT0 /*char*/ markup) nothrow {
18191 clutter_text_set_markup(&this, toCString!(char*)(markup));
18194 // VERSION: 1.0
18195 // Sets the maximum allowed length of the contents of the actor. If the
18196 // current contents are longer than the given length, then they will be
18197 // truncated to fit.
18198 // <max>: the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string
18199 void set_max_length()(int max) nothrow {
18200 clutter_text_set_max_length(&this, max);
18203 // VERSION: 1.0
18204 // Sets the character to use in place of the actual text in a
18205 // password text actor.
18207 // If @wc is 0 the text will be displayed as it is entered in the
18208 // #ClutterText actor.
18209 // <wc>: a Unicode character, or 0 to unset the password character
18210 void set_password_char()(dchar wc) nothrow {
18211 clutter_text_set_password_char(&this, wc);
18214 // VERSION: 1.2
18215 // Sets, or unsets, the pre-edit string. This function is useful
18216 // for input methods to display a string (with eventual specific
18217 // Pango attributes) before it is entered inside the #ClutterText
18218 // buffer.
18220 // The preedit string and attributes are ignored if the #ClutterText
18221 // actor is not editable.
18223 // This function should not be used by applications
18224 // <preedit_str>: the pre-edit string, or %NULL to unset it
18225 // <preedit_attrs>: the pre-edit string attributes
18226 // <cursor_pos>: the cursor position for the pre-edit string
18227 void set_preedit_string(AT0, AT1)(AT0 /*char*/ preedit_str, AT1 /*Pango.AttrList*/ preedit_attrs, uint cursor_pos) nothrow {
18228 clutter_text_set_preedit_string(&this, toCString!(char*)(preedit_str), UpCast!(Pango.AttrList*)(preedit_attrs), cursor_pos);
18231 // VERSION: 1.0
18232 // Sets whether a #ClutterText actor should be selectable.
18234 // A selectable #ClutterText will allow selecting its contents using
18235 // the pointer or the keyboard.
18236 // <selectable>: whether the #ClutterText actor should be selectable
18237 void set_selectable()(int selectable) nothrow {
18238 clutter_text_set_selectable(&this, selectable);
18241 // VERSION: 1.8
18242 // Sets the selected text color of a #ClutterText actor.
18244 // If @color is %NULL, the selected text color will be the same as the
18245 // selection color, which then falls back to cursor, and then text color.
18246 // <color>: the selected text color, or %NULL to unset it
18247 void set_selected_text_color(AT0)(AT0 /*Color*/ color) nothrow {
18248 clutter_text_set_selected_text_color(&this, UpCast!(Color*)(color));
18251 // VERSION: 1.0
18252 // Selects the region of text between @start_pos and @end_pos.
18254 // This function changes the position of the cursor to match
18255 // @start_pos and the selection bound to match @end_pos.
18256 // <start_pos>: start of the selection, in characters
18257 // <end_pos>: end of the selection, in characters
18258 void set_selection()(ssize_t start_pos, ssize_t end_pos) nothrow {
18259 clutter_text_set_selection(&this, start_pos, end_pos);
18262 // VERSION: 1.0
18263 // Sets the other end of the selection, starting from the current
18264 // cursor position.
18266 // If @selection_bound is -1, the selection unset.
18267 // <selection_bound>: the position of the end of the selection, in characters
18268 void set_selection_bound()(int selection_bound) nothrow {
18269 clutter_text_set_selection_bound(&this, selection_bound);
18272 // VERSION: 1.0
18273 // Sets the color of the selection of a #ClutterText actor.
18275 // If @color is %NULL, the selection color will be the same as the
18276 // cursor color, or if no cursor color is set either then it will be
18277 // the same as the text color.
18278 // <color>: the color of the selection, or %NULL to unset it
18279 void set_selection_color(AT0)(AT0 /*Color*/ color) nothrow {
18280 clutter_text_set_selection_color(&this, UpCast!(Color*)(color));
18283 // VERSION: 1.0
18284 // Sets whether a #ClutterText actor should be in single line mode
18285 // or not. Only editable #ClutterText<!-- -->s can be in single line
18286 // mode.
18288 // A text actor in single line mode will not wrap text and will clip
18289 // the visible area to the predefined size. The contents of the
18290 // text actor will scroll to display the end of the text if its length
18291 // is bigger than the allocated width.
18293 // When setting the single line mode the #ClutterText:activatable
18294 // property is also set as a side effect. Instead of entering a new
18295 // line character, the text actor will emit the #ClutterText::activate
18296 // signal.
18297 // <single_line>: whether to enable single line mode
18298 void set_single_line_mode()(int single_line) nothrow {
18299 clutter_text_set_single_line_mode(&this, single_line);
18302 // VERSION: 1.0
18303 // Sets the contents of a #ClutterText actor.
18305 // If the #ClutterText:use-markup property was set to %TRUE it
18306 // will be reset to %FALSE as a side effect. If you want to
18307 // maintain the #ClutterText:use-markup you should use the
18308 // clutter_text_set_markup() function instead
18309 // <text>: the text to set. Passing %NULL is the same as passing "" (the empty string)
18310 void set_text(AT0)(AT0 /*char*/ text) nothrow {
18311 clutter_text_set_text(&this, toCString!(char*)(text));
18314 // VERSION: 1.0
18315 // Sets whether the contents of the #ClutterText actor contains markup
18316 // in <link linkend="PangoMarkupFormat">Pango's text markup language</link>.
18318 // Setting #ClutterText:use-markup on an editable #ClutterText will
18319 // not have any effect except hiding the markup.
18321 // See also #ClutterText:use-markup.
18322 // <setting>: %TRUE if the text should be parsed for markup.
18323 void set_use_markup()(int setting) nothrow {
18324 clutter_text_set_use_markup(&this, setting);
18327 // VERSION: 1.0
18328 // The ::activate signal is emitted each time the actor is 'activated'
18329 // by the user, normally by pressing the 'Enter' key. The signal is
18330 // emitted only if #ClutterText:activatable is set to %TRUE.
18331 extern (C) alias static void function (Text* this_, void* user_data=null) nothrow signal_activate;
18333 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18334 return super_.signal_connect!name(cb, data, cf);
18337 ulong signal_connect(string name:"activate", CB/*:signal_activate*/)
18338 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
18339 if (is(typeof(cb)==signal_activate)||_ttmm!(CB, signal_activate)()) {
18340 return signal_connect_data!()(&this, cast(char*)"activate",
18341 cast(GObject2.Callback)cb, data, null, cf);
18344 // VERSION: 1.0
18345 // The ::cursor-event signal is emitted whenever the cursor position
18346 // changes inside a #ClutterText actor. Inside @geometry it is stored
18347 // the current position and size of the cursor, relative to the actor
18348 // itself.
18349 // <geometry>: the coordinates of the cursor
18350 extern (C) alias static void function (Text* this_, Geometry* geometry, void* user_data=null) nothrow signal_cursor_event;
18351 ulong signal_connect(string name:"cursor-event", CB/*:signal_cursor_event*/)
18352 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
18353 if (is(typeof(cb)==signal_cursor_event)||_ttmm!(CB, signal_cursor_event)()) {
18354 return signal_connect_data!()(&this, cast(char*)"cursor-event",
18355 cast(GObject2.Callback)cb, data, null, cf);
18358 // VERSION: 1.2
18359 // This signal is emitted when text is deleted from the actor by
18360 // the user. It is emitted before @self text changes.
18361 // <start_pos>: the starting position
18362 // <end_pos>: the end position
18363 extern (C) alias static void function (Text* this_, int start_pos, int end_pos, void* user_data=null) nothrow signal_delete_text;
18364 ulong signal_connect(string name:"delete-text", CB/*:signal_delete_text*/)
18365 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
18366 if (is(typeof(cb)==signal_delete_text)||_ttmm!(CB, signal_delete_text)()) {
18367 return signal_connect_data!()(&this, cast(char*)"delete-text",
18368 cast(GObject2.Callback)cb, data, null, cf);
18371 // VERSION: 1.2
18372 // This signal is emitted when text is inserted into the actor by
18373 // the user. It is emitted before @self text changes.
18374 // <new_text>: the new text to insert
18375 // <new_text_length>: the length of the new text, in bytes, or -1 if new_text is nul-terminated
18376 // <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.
18377 extern (C) alias static void function (Text* this_, char* new_text, int new_text_length, void* position, void* user_data=null) nothrow signal_insert_text;
18378 ulong signal_connect(string name:"insert-text", CB/*:signal_insert_text*/)
18379 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
18380 if (is(typeof(cb)==signal_insert_text)||_ttmm!(CB, signal_insert_text)()) {
18381 return signal_connect_data!()(&this, cast(char*)"insert-text",
18382 cast(GObject2.Callback)cb, data, null, cf);
18385 // VERSION: 1.0
18386 // The ::text-changed signal is emitted after @actor's text changes
18387 extern (C) alias static void function (Text* this_, void* user_data=null) nothrow signal_text_changed;
18388 ulong signal_connect(string name:"text-changed", CB/*:signal_text_changed*/)
18389 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
18390 if (is(typeof(cb)==signal_text_changed)||_ttmm!(CB, signal_text_changed)()) {
18391 return signal_connect_data!()(&this, cast(char*)"text-changed",
18392 cast(GObject2.Callback)cb, data, null, cf);
18396 struct TextBuffer /* : GObject.Object */ {
18397 alias parent_instance this;
18398 alias parent_instance super_;
18399 alias parent_instance object;
18400 GObject2.Object parent_instance;
18401 private TextBufferPrivate* priv;
18404 // VERSION: 1.10
18405 // Create a new ClutterTextBuffer object.
18406 // RETURNS: A new ClutterTextBuffer object.
18407 static TextBuffer* /*new*/ new_()() nothrow {
18408 return clutter_text_buffer_new();
18410 static auto opCall()() {
18411 return clutter_text_buffer_new();
18414 // VERSION: 1.10
18415 // Create a new ClutterTextBuffer object with some text.
18416 // RETURNS: A new ClutterTextBuffer object.
18417 // <text>: initial buffer text
18418 // <text_len>: initial buffer text length, or -1 for null-terminated.
18419 static TextBuffer* /*new*/ new_with_text(AT0)(AT0 /*char*/ text, ssize_t text_len) nothrow {
18420 return clutter_text_buffer_new_with_text(toCString!(char*)(text), text_len);
18422 static auto opCall(AT0)(AT0 /*char*/ text, ssize_t text_len) {
18423 return clutter_text_buffer_new_with_text(toCString!(char*)(text), text_len);
18426 // VERSION: 1.10
18427 // Deletes a sequence of characters from the buffer. @n_chars characters are
18428 // deleted starting at @position. If @n_chars is negative, then all characters
18429 // until the end of the text are deleted.
18431 // If @position or @n_chars are out of bounds, then they are coerced to sane
18432 // values.
18434 // Note that the positions are specified in characters, not bytes.
18435 // RETURNS: The number of characters deleted.
18436 // <position>: position at which to delete text
18437 // <n_chars>: number of characters to delete
18438 uint delete_text()(uint position, int n_chars) nothrow {
18439 return clutter_text_buffer_delete_text(&this, position, n_chars);
18442 // VERSION: 1.10
18443 // Emits the #ClutterTextBuffer::deleted-text signal on @buffer.
18445 // Used when subclassing #ClutterTextBuffer
18446 // <position>: position at which text was deleted
18447 // <n_chars>: number of characters deleted
18448 void emit_deleted_text()(uint position, uint n_chars) nothrow {
18449 clutter_text_buffer_emit_deleted_text(&this, position, n_chars);
18452 // VERSION: 1.10
18453 // Emits the #ClutterTextBuffer::inserted-text signal on @buffer.
18455 // Used when subclassing #ClutterTextBuffer
18456 // <position>: position at which text was inserted
18457 // <chars>: text that was inserted
18458 // <n_chars>: number of characters inserted
18459 void emit_inserted_text(AT0)(uint position, AT0 /*char*/ chars, uint n_chars) nothrow {
18460 clutter_text_buffer_emit_inserted_text(&this, position, toCString!(char*)(chars), n_chars);
18463 // VERSION: 1.10
18464 // Retrieves the length in bytes of the buffer.
18465 // See clutter_text_buffer_get_length().
18466 // RETURNS: The byte length of the buffer.
18467 size_t get_bytes()() nothrow {
18468 return clutter_text_buffer_get_bytes(&this);
18471 // VERSION: 1.10
18472 // Retrieves the length in characters of the buffer.
18473 // RETURNS: The number of characters in the buffer.
18474 uint get_length()() nothrow {
18475 return clutter_text_buffer_get_length(&this);
18478 // VERSION: 1.10
18479 // Retrieves the maximum allowed length of the text in
18480 // @buffer. See clutter_text_buffer_set_max_length().
18482 // in #ClutterTextBuffer, or 0 if there is no maximum.
18483 // RETURNS: the maximum allowed number of characters
18484 int get_max_length()() nothrow {
18485 return clutter_text_buffer_get_max_length(&this);
18488 // VERSION: 1.10
18489 // Retrieves the contents of the buffer.
18491 // The memory pointer returned by this call will not change
18492 // unless this object emits a signal, or is finalized.
18494 // string. This string points to internally allocated
18495 // storage in the buffer and must not be freed, modified or
18496 // stored.
18497 // RETURNS: a pointer to the contents of the widget as a
18498 char* get_text()() nothrow {
18499 return clutter_text_buffer_get_text(&this);
18502 // VERSION: 1.10
18503 // Inserts @n_chars characters of @chars into the contents of the
18504 // buffer, at position @position.
18506 // If @n_chars is negative, then characters from chars will be inserted
18507 // until a null-terminator is found. If @position or @n_chars are out of
18508 // bounds, or the maximum buffer text length is exceeded, then they are
18509 // coerced to sane values.
18511 // Note that the position and length are in characters, not in bytes.
18512 // RETURNS: The number of characters actually inserted.
18513 // <position>: the position at which to insert text.
18514 // <chars>: the text to insert into the buffer.
18515 // <n_chars>: the length of the text in characters, or -1
18516 uint insert_text(AT0)(uint position, AT0 /*char*/ chars, int n_chars) nothrow {
18517 return clutter_text_buffer_insert_text(&this, position, toCString!(char*)(chars), n_chars);
18520 // VERSION: 1.10
18521 // Sets the maximum allowed length of the contents of the buffer. If
18522 // the current contents are longer than the given length, then they
18523 // will be truncated to fit.
18524 // <max_length>: the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range [ 0, %CLUTTER_TEXT_BUFFER_MAX_SIZE ].
18525 void set_max_length()(int max_length) nothrow {
18526 clutter_text_buffer_set_max_length(&this, max_length);
18529 // VERSION: 1.10
18530 // Sets the text in the buffer.
18532 // This is roughly equivalent to calling clutter_text_buffer_delete_text()
18533 // and clutter_text_buffer_insert_text().
18535 // Note that @n_chars is in characters, not in bytes.
18536 // <chars>: the new text
18537 // <n_chars>: the number of characters in @text, or -1
18538 void set_text(AT0)(AT0 /*char*/ chars, int n_chars) nothrow {
18539 clutter_text_buffer_set_text(&this, toCString!(char*)(chars), n_chars);
18542 // VERSION: 1.10
18543 // This signal is emitted after text is deleted from the buffer.
18544 // <position>: the position the text was deleted at.
18545 // <n_chars>: The number of characters that were deleted.
18546 extern (C) alias static void function (TextBuffer* this_, c_uint position, c_uint n_chars, void* user_data=null) nothrow signal_deleted_text;
18548 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
18549 return super_.signal_connect!name(cb, data, cf);
18552 ulong signal_connect(string name:"deleted-text", CB/*:signal_deleted_text*/)
18553 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
18554 if (is(typeof(cb)==signal_deleted_text)||_ttmm!(CB, signal_deleted_text)()) {
18555 return signal_connect_data!()(&this, cast(char*)"deleted-text",
18556 cast(GObject2.Callback)cb, data, null, cf);
18559 // VERSION: 1.10
18560 // This signal is emitted after text is inserted into the buffer.
18561 // <position>: the position the text was inserted at.
18562 // <chars>: The text that was inserted.
18563 // <n_chars>: The number of characters that were inserted.
18564 extern (C) alias static void function (TextBuffer* this_, c_uint position, char* chars, c_uint n_chars, void* user_data=null) nothrow signal_inserted_text;
18565 ulong signal_connect(string name:"inserted-text", CB/*:signal_inserted_text*/)
18566 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
18567 if (is(typeof(cb)==signal_inserted_text)||_ttmm!(CB, signal_inserted_text)()) {
18568 return signal_connect_data!()(&this, cast(char*)"inserted-text",
18569 cast(GObject2.Callback)cb, data, null, cf);
18573 struct TextBufferClass {
18574 GObject2.ObjectClass parent_class;
18575 extern (C) void function (TextBuffer* buffer, uint position, char* chars, uint n_chars) nothrow inserted_text;
18576 extern (C) void function (TextBuffer* buffer, uint position, uint n_chars) nothrow deleted_text;
18577 extern (C) char* function (TextBuffer* buffer, size_t* n_bytes) nothrow get_text;
18578 // RETURNS: The number of characters in the buffer.
18579 extern (C) uint function (TextBuffer* buffer) nothrow get_length;
18581 // RETURNS: The number of characters actually inserted.
18582 // <position>: the position at which to insert text.
18583 // <chars>: the text to insert into the buffer.
18584 // <n_chars>: the length of the text in characters, or -1
18585 extern (C) uint function (TextBuffer* buffer, uint position, char* chars, uint n_chars) nothrow insert_text;
18587 // RETURNS: The number of characters deleted.
18588 // <position>: position at which to delete text
18589 // <n_chars>: number of characters to delete
18590 extern (C) uint function (TextBuffer* buffer, uint position, uint n_chars) nothrow delete_text;
18591 extern (C) void function () nothrow _clutter_reserved1;
18592 extern (C) void function () nothrow _clutter_reserved2;
18593 extern (C) void function () nothrow _clutter_reserved3;
18594 extern (C) void function () nothrow _clutter_reserved4;
18595 extern (C) void function () nothrow _clutter_reserved5;
18596 extern (C) void function () nothrow _clutter_reserved6;
18597 extern (C) void function () nothrow _clutter_reserved7;
18598 extern (C) void function () nothrow _clutter_reserved8;
18601 struct TextBufferPrivate {
18604 // The #ClutterTextClass struct contains only private data.
18605 struct TextClass /* Version 1.0 */ {
18606 private ActorClass parent_class;
18607 extern (C) void function (Text* self) nothrow text_changed;
18608 extern (C) void function (Text* self) nothrow activate;
18609 extern (C) void function (Text* self, Geometry* geometry) nothrow cursor_event;
18610 extern (C) void function () nothrow _clutter_reserved1;
18611 extern (C) void function () nothrow _clutter_reserved2;
18612 extern (C) void function () nothrow _clutter_reserved3;
18613 extern (C) void function () nothrow _clutter_reserved4;
18614 extern (C) void function () nothrow _clutter_reserved5;
18615 extern (C) void function () nothrow _clutter_reserved6;
18616 extern (C) void function () nothrow _clutter_reserved7;
18617 extern (C) void function () nothrow _clutter_reserved8;
18620 // The text direction to be used by #ClutterActor<!-- -->s
18621 enum TextDirection /* Version 1.2 */ {
18622 DEFAULT = 0,
18623 LTR = 1,
18624 RTL = 2
18626 struct TextPrivate {
18630 // The #ClutterTexture structure contains only private data
18631 // and should be accessed using the provided API
18632 struct Texture /* : Actor */ /* Version 0.1 */ {
18633 mixin Atk.ImplementorIface.__interface__;
18634 mixin Animatable.__interface__;
18635 mixin Container.__interface__;
18636 mixin Scriptable.__interface__;
18637 alias parent this;
18638 alias parent super_;
18639 alias parent actor;
18640 Actor parent;
18641 private TexturePrivate* priv;
18644 // Creates a new empty #ClutterTexture object.
18645 // RETURNS: A newly created #ClutterTexture object.
18646 static Texture* new_()() nothrow {
18647 return clutter_texture_new();
18649 static auto opCall()() {
18650 return clutter_texture_new();
18653 // VERSION: 0.6
18654 // DEPRECATED (v1.8) constructor: new_from_actor - Use the #ClutterOffscreenEffect and #ClutterShaderEffect
18655 // Creates a new #ClutterTexture object with its source a prexisting
18656 // actor (and associated children). The textures content will contain
18657 // 'live' redirected output of the actors scene.
18659 // Note this function is intented as a utility call for uniformly applying
18660 // shaders to groups and other potential visual effects. It requires that
18661 // the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend
18662 // and the target system.
18664 // Some tips on usage:
18666 // <itemizedlist>
18667 // <listitem>
18668 // <para>The source actor must be made visible (i.e by calling
18669 // #clutter_actor_show).</para>
18670 // </listitem>
18671 // <listitem>
18672 // <para>The source actor must have a parent in order for it to be
18673 // allocated a size from the layouting mechanism. If the source
18674 // actor does not have a parent when this function is called then
18675 // the ClutterTexture will adopt it and allocate it at its
18676 // preferred size. Using this you can clone an actor that is
18677 // otherwise not displayed. Because of this feature if you do
18678 // intend to display the source actor then you must make sure that
18679 // the actor is parented before calling
18680 // clutter_texture_new_from_actor() or that you unparent it before
18681 // adding it to a container.</para>
18682 // </listitem>
18683 // <listitem>
18684 // <para>When getting the image for the clone texture, Clutter
18685 // will attempt to render the source actor exactly as it would
18686 // appear if it was rendered on screen. The source actor's parent
18687 // transformations are taken into account. Therefore if your
18688 // source actor is rotated along the X or Y axes so that it has
18689 // some depth, the texture will appear differently depending on
18690 // the on-screen location of the source actor. While painting the
18691 // source actor, Clutter will set up a temporary asymmetric
18692 // perspective matrix as the projection matrix so that the source
18693 // actor will be projected as if a small section of the screen was
18694 // being viewed. Before version 0.8.2, an orthogonal identity
18695 // projection was used which meant that the source actor would be
18696 // clipped if any part of it was not on the zero Z-plane.</para>
18697 // </listitem>
18698 // <listitem>
18699 // <para>Avoid reparenting the source with the created texture.</para>
18700 // </listitem>
18701 // <listitem>
18702 // <para>A group can be padded with a transparent rectangle as to
18703 // provide a border to contents for shader output (blurring text
18704 // for example).</para>
18705 // </listitem>
18706 // <listitem>
18707 // <para>The texture will automatically resize to contain a further
18708 // transformed source. However, this involves overhead and can be
18709 // avoided by placing the source actor in a bounding group
18710 // sized large enough to contain any child tranformations.</para>
18711 // </listitem>
18712 // <listitem>
18713 // <para>Uploading pixel data to the texture (e.g by using
18714 // clutter_texture_set_from_file()) will destroy the offscreen texture
18715 // data and end redirection.</para>
18716 // </listitem>
18717 // <listitem>
18718 // <para>cogl_texture_get_data() with the handle returned by
18719 // clutter_texture_get_cogl_texture() can be used to read the
18720 // offscreen texture pixels into a pixbuf.</para>
18721 // </listitem>
18722 // </itemizedlist>
18725 // directly on the intended #ClutterActor to replace the functionality of
18726 // this function.
18727 // RETURNS: A newly created #ClutterTexture object, or %NULL on failure.
18728 // <actor>: A source #ClutterActor
18729 static Texture* new_from_actor(AT0)(AT0 /*Actor*/ actor) nothrow {
18730 return clutter_texture_new_from_actor(UpCast!(Actor*)(actor));
18732 static auto opCall(AT0)(AT0 /*Actor*/ actor) {
18733 return clutter_texture_new_from_actor(UpCast!(Actor*)(actor));
18736 // VERSION: 0.8
18737 // Creates a new ClutterTexture actor to display the image contained a
18738 // file. If the image failed to load then NULL is returned and @error
18739 // is set.
18741 // error.
18742 // RETURNS: A newly created #ClutterTexture object or NULL on
18743 // <filename>: The name of an image file to load.
18744 static Texture* new_from_file(AT0, AT1)(AT0 /*char*/ filename, AT1 /*GLib2.Error**/ error=null) nothrow {
18745 return clutter_texture_new_from_file(toCString!(char*)(filename), UpCast!(GLib2.Error**)(error));
18747 static auto opCall(AT0, AT1)(AT0 /*char*/ filename, AT1 /*GLib2.Error**/ error=null) {
18748 return clutter_texture_new_from_file(toCString!(char*)(filename), UpCast!(GLib2.Error**)(error));
18751 // Gets the size in pixels of the untransformed underlying image
18752 // <width>: return location for the width, or %NULL
18753 // <height>: return location for the height, or %NULL
18754 void get_base_size()(/*out*/ int* width, /*out*/ int* height) nothrow {
18755 clutter_texture_get_base_size(&this, width, height);
18758 // VERSION: 1.0
18759 // Returns a handle to the underlying COGL material used for drawing
18760 // the actor.
18762 // material is owned by the #ClutterTexture and it should not be
18763 // unreferenced
18764 // RETURNS: a handle for a #CoglMaterial. The
18765 Cogl.Handle get_cogl_material()() nothrow {
18766 return clutter_texture_get_cogl_material(&this);
18769 // VERSION: 0.8
18770 // Retrieves the handle to the underlying COGL texture used for drawing
18771 // the actor. No extra reference is taken so if you need to keep the
18772 // handle then you should call cogl_handle_ref() on it.
18774 // The texture handle returned is the first layer of the material
18775 // handle used by the #ClutterTexture. If you need to access the other
18776 // layers you should use clutter_texture_get_cogl_material() instead
18777 // and use the #CoglMaterial API.
18779 // handle is owned by the #ClutterTexture and it should not be unreferenced
18780 // RETURNS: a #CoglHandle for the texture. The returned
18781 Cogl.Handle get_cogl_texture()() nothrow {
18782 return clutter_texture_get_cogl_texture(&this);
18785 // VERSION: 0.8
18786 // Gets the filter quality used when scaling a texture.
18787 // RETURNS: The filter quality value.
18788 TextureQuality get_filter_quality()() nothrow {
18789 return clutter_texture_get_filter_quality(&this);
18792 // VERSION: 1.0
18793 // Retrieves the value set using clutter_texture_set_keep_aspect_ratio()
18795 // aspect ratio of the underlying image
18796 // RETURNS: %TRUE if the #ClutterTexture should maintain the
18797 int get_keep_aspect_ratio()() nothrow {
18798 return clutter_texture_get_keep_aspect_ratio(&this);
18801 // VERSION: 1.0
18802 // Retrieves the value set using clutter_texture_set_load_async()
18804 // disk asynchronously
18805 // RETURNS: %TRUE if the #ClutterTexture should load the data from
18806 int get_load_async()() nothrow {
18807 return clutter_texture_get_load_async(&this);
18810 // VERSION: 1.0
18811 // Retrieves the value set by clutter_texture_set_load_data_async()
18813 // data from a file asynchronously
18814 // RETURNS: %TRUE if the #ClutterTexture should load the image
18815 int get_load_data_async()() nothrow {
18816 return clutter_texture_get_load_data_async(&this);
18819 // VERSION: 0.8
18820 // Gets the maximum waste that will be used when creating a texture or
18821 // -1 if slicing is disabled.
18823 // unlimited.
18824 // RETURNS: The maximum waste or -1 if the texture waste is
18825 int get_max_tile_waste()() nothrow {
18826 return clutter_texture_get_max_tile_waste(&this);
18829 // VERSION: 1.4
18830 // Retrieves the value set by clutter_texture_set_load_data_async()
18832 // using the alpha channel when picking.
18833 // RETURNS: %TRUE if the #ClutterTexture should define its shape
18834 int get_pick_with_alpha()() nothrow {
18835 return clutter_texture_get_pick_with_alpha(&this);
18838 // VERSION: 1.0
18839 // Retrieves the pixel format used by @texture. This is
18840 // equivalent to:
18842 // |[
18843 // handle = clutter_texture_get_pixel_format (texture);
18845 // if (handle != COGL_INVALID_HANDLE)
18846 // format = cogl_texture_get_format (handle);
18847 // ]|
18848 // RETURNS: a #CoglPixelFormat value
18849 Cogl.PixelFormat get_pixel_format()() nothrow {
18850 return clutter_texture_get_pixel_format(&this);
18853 // VERSION: 1.0
18854 // Retrieves the horizontal and vertical repeat values set
18855 // using clutter_texture_set_repeat()
18856 // <repeat_x>: return location for the horizontal repeat
18857 // <repeat_y>: return location for the vertical repeat
18858 void get_repeat()(/*out*/ int* repeat_x, /*out*/ int* repeat_y) nothrow {
18859 clutter_texture_get_repeat(&this, repeat_x, repeat_y);
18862 // VERSION: 1.0
18863 // Retrieves the value set with clutter_texture_set_sync_size()
18865 // preferred size of the underlying image data
18866 // RETURNS: %TRUE if the #ClutterTexture should have the same
18867 int get_sync_size()() nothrow {
18868 return clutter_texture_get_sync_size(&this);
18871 // VERSION: 0.6
18872 // Updates a sub-region of the pixel data in a #ClutterTexture.
18873 // RETURNS: %TRUE on success, %FALSE on failure.
18874 // <data>: Image data in RGB type colorspace.
18875 // <has_alpha>: Set to TRUE if image data has an alpha channel.
18876 // <x>: X coordinate of upper left corner of region to update.
18877 // <y>: Y coordinate of upper left corner of region to update.
18878 // <width>: Width in pixels of region to update.
18879 // <height>: Height in pixels of region to update.
18880 // <rowstride>: Distance in bytes between row starts on source buffer.
18881 // <bpp>: bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
18882 // <flags>: #ClutterTextureFlags
18883 int set_area_from_rgb_data(AT0, AT1)(AT0 /*ubyte*/ data, int has_alpha, int x, int y, int width, int height, int rowstride, int bpp, TextureFlags flags, AT1 /*GLib2.Error**/ error=null) nothrow {
18884 return clutter_texture_set_area_from_rgb_data(&this, UpCast!(ubyte*)(data), has_alpha, x, y, width, height, rowstride, bpp, flags, UpCast!(GLib2.Error**)(error));
18887 // VERSION: 0.8
18888 // Replaces the underlying Cogl material drawn by this actor with
18889 // @cogl_material. A reference to the material is taken so if the
18890 // handle is no longer needed it should be deref'd with
18891 // cogl_handle_unref. Texture data is attached to the material so
18892 // calling this function also replaces the Cogl
18893 // texture. #ClutterTexture requires that the material have a texture
18894 // layer so you should set one on the material before calling this
18895 // function.
18896 // <cogl_material>: A CoglHandle for a material
18897 void set_cogl_material()(Cogl.Handle cogl_material) nothrow {
18898 clutter_texture_set_cogl_material(&this, cogl_material);
18901 // VERSION: 0.8
18902 // Replaces the underlying COGL texture drawn by this actor with
18903 // @cogl_tex. A reference to the texture is taken so if the handle is
18904 // no longer needed it should be deref'd with cogl_handle_unref.
18905 // <cogl_tex>: A CoglHandle for a texture
18906 void set_cogl_texture()(Cogl.Handle cogl_tex) nothrow {
18907 clutter_texture_set_cogl_texture(&this, cogl_tex);
18910 // VERSION: 0.8
18911 // Sets the filter quality when scaling a texture. The quality is an
18912 // enumeration currently the following values are supported:
18913 // %CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour
18914 // interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a
18915 // bit more expensive (bilinear interpolation), and
18916 // %CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to
18917 // improve scaled down rendering as well (by using mipmaps). The default value
18918 // is %CLUTTER_TEXTURE_QUALITY_MEDIUM.
18919 // <filter_quality>: new filter quality value
18920 void set_filter_quality()(TextureQuality filter_quality) nothrow {
18921 clutter_texture_set_filter_quality(&this, filter_quality);
18924 // VERSION: 0.8
18925 // Sets the #ClutterTexture image data from an image file. In case of
18926 // failure, %FALSE is returned and @error is set.
18928 // If #ClutterTexture:load-async is set to %TRUE, this function
18929 // will return as soon as possible, and the actual image loading
18930 // from disk will be performed asynchronously. #ClutterTexture::size-change
18931 // will be emitten when the size of the texture is available and
18932 // #ClutterTexture::load-finished will be emitted when the image has been
18933 // loaded or if an error occurred.
18934 // RETURNS: %TRUE if the image was successfully loaded and set
18935 // <filename>: The filename of the image in GLib file name encoding
18936 int set_from_file(AT0, AT1)(AT0 /*char*/ filename, AT1 /*GLib2.Error**/ error=null) nothrow {
18937 return clutter_texture_set_from_file(&this, toCString!(char*)(filename), UpCast!(GLib2.Error**)(error));
18940 // VERSION: 0.4.
18941 // Sets #ClutterTexture image data.
18942 // RETURNS: %TRUE on success, %FALSE on failure.
18943 // <data>: image data in RGBA type colorspace.
18944 // <has_alpha>: set to %TRUE if image data has an alpha channel.
18945 // <width>: width in pixels of image data.
18946 // <height>: height in pixels of image data
18947 // <rowstride>: distance in bytes between row starts.
18948 // <bpp>: bytes per pixel (currently only 3 and 4 supported, depending on the value of @has_alpha)
18949 // <flags>: #ClutterTextureFlags
18950 int set_from_rgb_data(AT0, AT1)(AT0 /*ubyte*/ data, int has_alpha, int width, int height, int rowstride, int bpp, TextureFlags flags, AT1 /*GLib2.Error**/ error=null) nothrow {
18951 return clutter_texture_set_from_rgb_data(&this, UpCast!(ubyte*)(data), has_alpha, width, height, rowstride, bpp, flags, UpCast!(GLib2.Error**)(error));
18954 // VERSION: 0.4
18955 // DEPRECATED (v1.10) method: set_from_yuv_data - Use clutter_texture_get_cogl_material() and
18956 // Sets a #ClutterTexture from YUV image data. If an error occurred,
18957 // %FALSE is returned and @error is set.
18959 // The YUV support depends on the driver; the format supported by the
18960 // few drivers exposing this capability are not really useful.
18962 // The proper way to convert image data in any YUV colorspace to any
18963 // RGB colorspace is to use a fragment shader associated with the
18964 // #ClutterTexture material.
18968 // the Cogl API to install a fragment shader for decoding YUV
18969 // formats on the GPU
18970 // RETURNS: %TRUE if the texture was successfully updated
18971 // <data>: Image data in YUV type colorspace.
18972 // <width>: Width in pixels of image data.
18973 // <height>: Height in pixels of image data
18974 // <flags>: #ClutterTextureFlags
18975 int set_from_yuv_data(AT0, AT1)(AT0 /*ubyte*/ data, int width, int height, TextureFlags flags, AT1 /*GLib2.Error**/ error=null) nothrow {
18976 return clutter_texture_set_from_yuv_data(&this, UpCast!(ubyte*)(data), width, height, flags, UpCast!(GLib2.Error**)(error));
18979 // VERSION: 1.0
18980 // Sets whether @texture should have a preferred size maintaining
18981 // the aspect ratio of the underlying image
18982 // <keep_aspect>: %TRUE to maintain aspect ratio
18983 void set_keep_aspect_ratio()(int keep_aspect) nothrow {
18984 clutter_texture_set_keep_aspect_ratio(&this, keep_aspect);
18987 // VERSION: 1.0
18988 // Sets whether @texture should use a worker thread to load the data
18989 // from disk asynchronously. Setting @load_async to %TRUE will make
18990 // clutter_texture_set_from_file() return immediately.
18992 // See the #ClutterTexture:load-async property documentation, and
18993 // clutter_texture_set_load_data_async().
18994 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
18995 void set_load_async()(int load_async) nothrow {
18996 clutter_texture_set_load_async(&this, load_async);
18999 // VERSION: 1.0
19000 // Sets whether @texture should use a worker thread to load the data
19001 // from disk asynchronously. Setting @load_async to %TRUE will make
19002 // clutter_texture_set_from_file() block until the #ClutterTexture has
19003 // determined the width and height of the image data.
19005 // See the #ClutterTexture:load-async property documentation, and
19006 // clutter_texture_set_load_async().
19007 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
19008 void set_load_data_async()(int load_async) nothrow {
19009 clutter_texture_set_load_data_async(&this, load_async);
19012 // VERSION: 1.4
19013 // Sets whether @texture should have it's shape defined by the alpha
19014 // channel when picking.
19016 // Be aware that this is a bit more costly than the default picking
19017 // due to the texture lookup, extra test against the alpha value and
19018 // the fact that it will also interrupt the batching of geometry done
19019 // internally.
19021 // Also there is currently no control over the threshold used to
19022 // determine what value of alpha is considered pickable, and so only
19023 // fully opaque parts of the texture will react to picking.
19024 // <pick_with_alpha>: %TRUE if the alpha channel should affect the picking shape
19025 void set_pick_with_alpha()(int pick_with_alpha) nothrow {
19026 clutter_texture_set_pick_with_alpha(&this, pick_with_alpha);
19029 // VERSION: 1.0
19030 // Sets whether the @texture should repeat horizontally or
19031 // vertically when the actor size is bigger than the image size
19032 // <repeat_x>: %TRUE if the texture should repeat horizontally
19033 // <repeat_y>: %TRUE if the texture should repeat vertically
19034 void set_repeat()(int repeat_x, int repeat_y) nothrow {
19035 clutter_texture_set_repeat(&this, repeat_x, repeat_y);
19038 // VERSION: 1.0
19039 // Sets whether @texture should have the same preferred size as the
19040 // underlying image data.
19041 // <sync_size>: %TRUE if the texture should have the same size of the underlying image data
19042 void set_sync_size()(int sync_size) nothrow {
19043 clutter_texture_set_sync_size(&this, sync_size);
19046 // VERSION: 1.0
19047 // The ::load-finished signal is emitted when a texture load has
19048 // completed. If there was an error during loading, @error will
19049 // be set, otherwise it will be %NULL
19050 // <error>: A set error, or %NULL
19051 extern (C) alias static void function (Texture* this_, GLib2.Error* error, void* user_data=null) nothrow signal_load_finished;
19053 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
19054 return super_.signal_connect!name(cb, data, cf);
19057 ulong signal_connect(string name:"load-finished", CB/*:signal_load_finished*/)
19058 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19059 if (is(typeof(cb)==signal_load_finished)||_ttmm!(CB, signal_load_finished)()) {
19060 return signal_connect_data!()(&this, cast(char*)"load-finished",
19061 cast(GObject2.Callback)cb, data, null, cf);
19064 // The ::pixbuf-change signal is emitted each time the pixbuf
19065 // used by @texture changes.
19066 extern (C) alias static void function (Texture* this_, void* user_data=null) nothrow signal_pixbuf_change;
19067 ulong signal_connect(string name:"pixbuf-change", CB/*:signal_pixbuf_change*/)
19068 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19069 if (is(typeof(cb)==signal_pixbuf_change)||_ttmm!(CB, signal_pixbuf_change)()) {
19070 return signal_connect_data!()(&this, cast(char*)"pixbuf-change",
19071 cast(GObject2.Callback)cb, data, null, cf);
19074 // The ::size-change signal is emitted each time the size of the
19075 // pixbuf used by @texture changes. The new size is given as
19076 // argument to the callback.
19077 // <width>: the width of the new texture
19078 // <height>: the height of the new texture
19079 extern (C) alias static void function (Texture* this_, int width, int height, void* user_data=null) nothrow signal_size_change;
19080 ulong signal_connect(string name:"size-change", CB/*:signal_size_change*/)
19081 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19082 if (is(typeof(cb)==signal_size_change)||_ttmm!(CB, signal_size_change)()) {
19083 return signal_connect_data!()(&this, cast(char*)"size-change",
19084 cast(GObject2.Callback)cb, data, null, cf);
19088 // The #ClutterTextureClass structure contains only private data
19089 struct TextureClass /* Version 0.1 */ {
19090 private ActorClass parent_class;
19091 extern (C) void function (Texture* texture, int width, int height) nothrow size_change;
19092 extern (C) void function (Texture* texture) nothrow pixbuf_change;
19093 extern (C) void function (Texture* texture, GLib2.Error* error) nothrow load_finished;
19094 extern (C) void function () nothrow _clutter_texture1;
19095 extern (C) void function () nothrow _clutter_texture2;
19096 extern (C) void function () nothrow _clutter_texture3;
19097 extern (C) void function () nothrow _clutter_texture4;
19098 extern (C) void function () nothrow _clutter_texture5;
19101 // Error enumeration for #ClutterTexture
19102 enum TextureError /* Version 0.4 */ {
19103 OUT_OF_MEMORY = 0,
19104 NO_YUV = 1,
19105 BAD_FORMAT = 2
19108 // Flags for clutter_texture_set_from_rgb_data() and
19109 // clutter_texture_set_from_yuv_data().
19110 enum TextureFlags /* Version 0.4 */ {
19111 NONE = 0,
19112 RGB_FLAG_BGR = 2,
19113 RGB_FLAG_PREMULT = 4,
19114 YUV_FLAG_YUV2 = 8
19116 struct TexturePrivate {
19119 // Enumaration controlling the texture quality.
19120 enum TextureQuality /* Version 0.8 */ {
19121 LOW = 0,
19122 MEDIUM = 1,
19123 HIGH = 2
19125 enum int Thai_baht = 3551;
19126 enum int Thai_bobaimai = 3514;
19127 enum int Thai_chochan = 3496;
19128 enum int Thai_chochang = 3498;
19129 enum int Thai_choching = 3497;
19130 enum int Thai_chochoe = 3500;
19131 enum int Thai_dochada = 3502;
19132 enum int Thai_dodek = 3508;
19133 enum int Thai_fofa = 3517;
19134 enum int Thai_fofan = 3519;
19135 enum int Thai_hohip = 3531;
19136 enum int Thai_honokhuk = 3534;
19137 enum int Thai_khokhai = 3490;
19138 enum int Thai_khokhon = 3493;
19139 enum int Thai_khokhuat = 3491;
19140 enum int Thai_khokhwai = 3492;
19141 enum int Thai_khorakhang = 3494;
19142 enum int Thai_kokai = 3489;
19143 enum int Thai_lakkhangyao = 3557;
19144 enum int Thai_lekchet = 3575;
19145 enum int Thai_lekha = 3573;
19146 enum int Thai_lekhok = 3574;
19147 enum int Thai_lekkao = 3577;
19148 enum int Thai_leknung = 3569;
19149 enum int Thai_lekpaet = 3576;
19150 enum int Thai_leksam = 3571;
19151 enum int Thai_leksi = 3572;
19152 enum int Thai_leksong = 3570;
19153 enum int Thai_leksun = 3568;
19154 enum int Thai_lochula = 3532;
19155 enum int Thai_loling = 3525;
19156 enum int Thai_lu = 3526;
19157 enum int Thai_maichattawa = 3563;
19158 enum int Thai_maiek = 3560;
19159 enum int Thai_maihanakat = 3537;
19160 enum int Thai_maihanakat_maitho = 3550;
19161 enum int Thai_maitaikhu = 3559;
19162 enum int Thai_maitho = 3561;
19163 enum int Thai_maitri = 3562;
19164 enum int Thai_maiyamok = 3558;
19165 enum int Thai_moma = 3521;
19166 enum int Thai_ngongu = 3495;
19167 enum int Thai_nikhahit = 3565;
19168 enum int Thai_nonen = 3507;
19169 enum int Thai_nonu = 3513;
19170 enum int Thai_oang = 3533;
19171 enum int Thai_paiyannoi = 3535;
19172 enum int Thai_phinthu = 3546;
19173 enum int Thai_phophan = 3518;
19174 enum int Thai_phophung = 3516;
19175 enum int Thai_phosamphao = 3520;
19176 enum int Thai_popla = 3515;
19177 enum int Thai_rorua = 3523;
19178 enum int Thai_ru = 3524;
19179 enum int Thai_saraa = 3536;
19180 enum int Thai_saraaa = 3538;
19181 enum int Thai_saraae = 3553;
19182 enum int Thai_saraaimaimalai = 3556;
19183 enum int Thai_saraaimaimuan = 3555;
19184 enum int Thai_saraam = 3539;
19185 enum int Thai_sarae = 3552;
19186 enum int Thai_sarai = 3540;
19187 enum int Thai_saraii = 3541;
19188 enum int Thai_sarao = 3554;
19189 enum int Thai_sarau = 3544;
19190 enum int Thai_saraue = 3542;
19191 enum int Thai_sarauee = 3543;
19192 enum int Thai_sarauu = 3545;
19193 enum int Thai_sorusi = 3529;
19194 enum int Thai_sosala = 3528;
19195 enum int Thai_soso = 3499;
19196 enum int Thai_sosua = 3530;
19197 enum int Thai_thanthakhat = 3564;
19198 enum int Thai_thonangmontho = 3505;
19199 enum int Thai_thophuthao = 3506;
19200 enum int Thai_thothahan = 3511;
19201 enum int Thai_thothan = 3504;
19202 enum int Thai_thothong = 3512;
19203 enum int Thai_thothung = 3510;
19204 enum int Thai_topatak = 3503;
19205 enum int Thai_totao = 3509;
19206 enum int Thai_wowaen = 3527;
19207 enum int Thai_yoyak = 3522;
19208 enum int Thai_yoying = 3501;
19209 enum int Thorn = 222;
19210 enum int Time = 269025183;
19212 // The #ClutterTimeline structure contains only private data
19213 // and should be accessed using the provided API
19214 struct Timeline /* : GObject.Object */ /* Version 0.2 */ {
19215 mixin Scriptable.__interface__;
19216 alias parent this;
19217 alias parent super_;
19218 alias parent object;
19219 GObject2.Object parent;
19220 private TimelinePrivate* priv;
19223 // VERSION: 0.6
19224 // Creates a new #ClutterTimeline with a duration of @msecs.
19226 // g_object_unref() when done using it
19227 // RETURNS: the newly created #ClutterTimeline instance. Use
19228 // <msecs>: Duration of the timeline in milliseconds
19229 static Timeline* /*new*/ new_()(uint msecs) nothrow {
19230 return clutter_timeline_new(msecs);
19232 static auto opCall()(uint msecs) {
19233 return clutter_timeline_new(msecs);
19236 // VERSION: 0.8
19237 // Adds a named marker that will be hit when the timeline has been
19238 // running for @msecs milliseconds. Markers are unique string
19239 // identifiers for a given time. Once @timeline reaches
19240 // @msecs, it will emit a ::marker-reached signal for each marker
19241 // attached to that time.
19243 // A marker can be removed with clutter_timeline_remove_marker(). The
19244 // timeline can be advanced to a marker using
19245 // clutter_timeline_advance_to_marker().
19246 // <marker_name>: the unique name for this marker
19247 // <msecs>: position of the marker in milliseconds
19248 void add_marker_at_time(AT0)(AT0 /*char*/ marker_name, uint msecs) nothrow {
19249 clutter_timeline_add_marker_at_time(&this, toCString!(char*)(marker_name), msecs);
19252 // Advance timeline to the requested point. The point is given as a
19253 // time in milliseconds since the timeline started.
19255 // <note><para>The @timeline will not emit the #ClutterTimeline::new-frame
19256 // signal for the given time. The first ::new-frame signal after the call to
19257 // clutter_timeline_advance() will be emit the skipped markers.
19258 // </para></note>
19259 // <msecs>: Time to advance to
19260 void advance()(uint msecs) nothrow {
19261 clutter_timeline_advance(&this, msecs);
19264 // VERSION: 0.8
19265 // Advances @timeline to the time of the given @marker_name.
19267 // <note><para>Like clutter_timeline_advance(), this function will not
19268 // emit the #ClutterTimeline::new-frame for the time where @marker_name
19269 // is set, nor it will emit #ClutterTimeline::marker-reached for
19270 // @marker_name.</para></note>
19271 // <marker_name>: the name of the marker
19272 void advance_to_marker(AT0)(AT0 /*char*/ marker_name) nothrow {
19273 clutter_timeline_advance_to_marker(&this, toCString!(char*)(marker_name));
19276 // VERSION: 0.4
19277 // Create a new #ClutterTimeline instance which has property values
19278 // matching that of supplied timeline. The cloned timeline will not
19279 // be started and will not be positioned to the current position of
19281 // from @timeline
19282 // RETURNS: a new #ClutterTimeline, cloned
19283 Timeline* /*new*/ clone()() nothrow {
19284 return clutter_timeline_clone(&this);
19287 // VERSION: 1.6
19288 // Retrieves the value set by clutter_timeline_set_auto_reverse().
19290 // %FALSE otherwise
19291 // RETURNS: %TRUE if the timeline should automatically reverse, and
19292 int get_auto_reverse()() nothrow {
19293 return clutter_timeline_get_auto_reverse(&this);
19296 // VERSION: 0.4
19297 // Retrieves the delay set using clutter_timeline_set_delay().
19298 // RETURNS: the delay in milliseconds.
19299 uint get_delay()() nothrow {
19300 return clutter_timeline_get_delay(&this);
19303 // VERSION: 0.6
19304 // Retrieves the amount of time elapsed since the last
19305 // ClutterTimeline::new-frame signal.
19307 // This function is only useful inside handlers for the ::new-frame
19308 // signal, and its behaviour is undefined if the timeline is not
19309 // playing.
19311 // last frame
19312 // RETURNS: the amount of time in milliseconds elapsed since the
19313 uint get_delta()() nothrow {
19314 return clutter_timeline_get_delta(&this);
19317 // VERSION: 0.6
19318 // Retrieves the direction of the timeline set with
19319 // clutter_timeline_set_direction().
19320 // RETURNS: the direction of the timeline
19321 TimelineDirection get_direction()() nothrow {
19322 return clutter_timeline_get_direction(&this);
19325 // VERSION: 0.6
19326 // Retrieves the duration of a #ClutterTimeline in milliseconds.
19327 // See clutter_timeline_set_duration().
19328 // RETURNS: the duration of the timeline, in milliseconds.
19329 uint get_duration()() nothrow {
19330 return clutter_timeline_get_duration(&this);
19333 // Request the current time position of the timeline.
19334 // RETURNS: current elapsed time in milliseconds.
19335 uint get_elapsed_time()() nothrow {
19336 return clutter_timeline_get_elapsed_time(&this);
19339 // Gets whether @timeline is looping
19340 // RETURNS: %TRUE if the timeline is looping
19341 int get_loop()() nothrow {
19342 return clutter_timeline_get_loop(&this);
19345 // VERSION: 0.6
19346 // The position of the timeline in a [0, 1] interval.
19347 // RETURNS: the position of the timeline.
19348 double get_progress()() nothrow {
19349 return clutter_timeline_get_progress(&this);
19352 // VERSION: 0.8
19353 // Checks whether @timeline has a marker set with the given name.
19354 // RETURNS: %TRUE if the marker was found
19355 // <marker_name>: the name of the marker
19356 int has_marker(AT0)(AT0 /*char*/ marker_name) nothrow {
19357 return clutter_timeline_has_marker(&this, toCString!(char*)(marker_name));
19360 // Queries state of a #ClutterTimeline.
19361 // RETURNS: %TRUE if timeline is currently playing
19362 int is_playing()() nothrow {
19363 return clutter_timeline_is_playing(&this);
19366 // VERSION: 0.8
19367 // Retrieves the list of markers at time @msecs. If @msecs is a
19368 // negative integer, all the markers attached to @timeline will be
19369 // returned.
19371 // a newly allocated, %NULL terminated string array containing the names
19372 // of the markers. Use g_strfreev() when done.
19373 // <msecs>: the time to check, or -1
19374 // <n_markers>: the number of markers returned
19375 char** /*new*/ list_markers(AT0)(int msecs, /*out*/ AT0 /*size_t*/ n_markers) nothrow {
19376 return clutter_timeline_list_markers(&this, msecs, UpCast!(size_t*)(n_markers));
19378 // Pauses the #ClutterTimeline on current frame
19379 void pause()() nothrow {
19380 clutter_timeline_pause(&this);
19383 // VERSION: 0.8
19384 // Removes @marker_name, if found, from @timeline.
19385 // <marker_name>: the name of the marker to remove
19386 void remove_marker(AT0)(AT0 /*char*/ marker_name) nothrow {
19387 clutter_timeline_remove_marker(&this, toCString!(char*)(marker_name));
19390 // Rewinds #ClutterTimeline to the first frame if its direction is
19391 // %CLUTTER_TIMELINE_FORWARD and the last frame if it is
19392 // %CLUTTER_TIMELINE_BACKWARD.
19393 void rewind()() nothrow {
19394 clutter_timeline_rewind(&this);
19397 // VERSION: 1.6
19398 // Sets whether @timeline should reverse the direction after the
19399 // emission of the #ClutterTimeline::completed signal.
19401 // Setting the #ClutterTimeline:auto-reverse property to %TRUE is the
19402 // equivalent of connecting a callback to the #ClutterTimeline::completed
19403 // signal and changing the direction of the timeline from that callback;
19404 // for instance, this code:
19406 // |[
19407 // static void
19408 // reverse_timeline (ClutterTimeline *timeline)
19409 // {
19410 // ClutterTimelineDirection dir = clutter_timeline_get_direction (timeline);
19412 // if (dir == CLUTTER_TIMELINE_FORWARD)
19413 // dir = CLUTTER_TIMELINE_BACKWARD;
19414 // else
19415 // dir = CLUTTER_TIMELINE_FORWARD;
19417 // clutter_timeline_set_direction (timeline, dir);
19418 // }
19419 // ...
19420 // timeline = clutter_timeline_new (1000);
19421 // clutter_timeline_set_loop (timeline);
19422 // g_signal_connect (timeline, "completed",
19423 // G_CALLBACK (reverse_timeline),
19424 // NULL);
19425 // ]|
19427 // can be effectively replaced by:
19429 // |[
19430 // timeline = clutter_timeline_new (1000);
19431 // clutter_timeline_set_loop (timeline);
19432 // clutter_timeline_set_auto_reverse (timeline);
19433 // ]|
19434 // <reverse>: %TRUE if the @timeline should reverse the direction
19435 void set_auto_reverse()(int reverse) nothrow {
19436 clutter_timeline_set_auto_reverse(&this, reverse);
19439 // VERSION: 0.4
19440 // Sets the delay, in milliseconds, before @timeline should start.
19441 // <msecs>: delay in milliseconds
19442 void set_delay()(uint msecs) nothrow {
19443 clutter_timeline_set_delay(&this, msecs);
19446 // VERSION: 0.6
19447 // Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
19448 // %CLUTTER_TIMELINE_BACKWARD.
19449 // <direction>: the direction of the timeline
19450 void set_direction()(TimelineDirection direction) nothrow {
19451 clutter_timeline_set_direction(&this, direction);
19454 // VERSION: 0.6
19455 // Sets the duration of the timeline, in milliseconds. The speed
19456 // of the timeline depends on the ClutterTimeline:fps setting.
19457 // <msecs>: duration of the timeline in milliseconds
19458 void set_duration()(uint msecs) nothrow {
19459 clutter_timeline_set_duration(&this, msecs);
19462 // Sets whether @timeline should loop.
19463 // <loop>: %TRUE for enable looping
19464 void set_loop()(int loop) nothrow {
19465 clutter_timeline_set_loop(&this, loop);
19468 // Advance timeline by the requested time in milliseconds
19469 // <msecs>: Amount of time to skip
19470 void skip()(uint msecs) nothrow {
19471 clutter_timeline_skip(&this, msecs);
19473 // Starts the #ClutterTimeline playing.
19474 void start()() nothrow {
19475 clutter_timeline_start(&this);
19477 // Stops the #ClutterTimeline and moves to frame 0
19478 void stop()() nothrow {
19479 clutter_timeline_stop(&this);
19482 // The ::completed signal is emitted when the timeline reaches the
19483 // number of frames specified by the ClutterTimeline:num-frames property.
19484 extern (C) alias static void function (Timeline* this_, void* user_data=null) nothrow signal_completed;
19486 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
19487 return super_.signal_connect!name(cb, data, cf);
19490 ulong signal_connect(string name:"completed", CB/*:signal_completed*/)
19491 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19492 if (is(typeof(cb)==signal_completed)||_ttmm!(CB, signal_completed)()) {
19493 return signal_connect_data!()(&this, cast(char*)"completed",
19494 cast(GObject2.Callback)cb, data, null, cf);
19497 // VERSION: 0.8
19498 // The ::marker-reached signal is emitted each time a timeline
19499 // reaches a marker set with
19500 // clutter_timeline_add_marker_at_time(). This signal is detailed
19501 // with the name of the marker as well, so it is possible to connect
19502 // a callback to the ::marker-reached signal for a specific marker
19503 // with:
19505 // <informalexample><programlisting>
19506 // clutter_timeline_add_marker_at_time (timeline, "foo", 500);
19507 // clutter_timeline_add_marker_at_time (timeline, "bar", 750);
19509 // g_signal_connect (timeline, "marker-reached",
19510 // G_CALLBACK (each_marker_reached), NULL);
19511 // g_signal_connect (timeline, "marker-reached::foo",
19512 // G_CALLBACK (foo_marker_reached), NULL);
19513 // g_signal_connect (timeline, "marker-reached::bar",
19514 // G_CALLBACK (bar_marker_reached), NULL);
19515 // </programlisting></informalexample>
19517 // In the example, the first callback will be invoked for both
19518 // the "foo" and "bar" marker, while the second and third callbacks
19519 // will be invoked for the "foo" or "bar" markers, respectively.
19520 // <marker_name>: the name of the marker reached
19521 // <msecs>: the elapsed time
19522 extern (C) alias static void function (Timeline* this_, char* marker_name, int msecs, void* user_data=null) nothrow signal_marker_reached;
19523 ulong signal_connect(string name:"marker-reached", CB/*:signal_marker_reached*/)
19524 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19525 if (is(typeof(cb)==signal_marker_reached)||_ttmm!(CB, signal_marker_reached)()) {
19526 return signal_connect_data!()(&this, cast(char*)"marker-reached",
19527 cast(GObject2.Callback)cb, data, null, cf);
19530 // The ::new-frame signal is emitted for each timeline running
19531 // timeline before a new frame is drawn to give animations a chance
19532 // to update the scene.
19533 // <msecs>: the elapsed time between 0 and duration
19534 extern (C) alias static void function (Timeline* this_, int msecs, void* user_data=null) nothrow signal_new_frame;
19535 ulong signal_connect(string name:"new-frame", CB/*:signal_new_frame*/)
19536 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19537 if (is(typeof(cb)==signal_new_frame)||_ttmm!(CB, signal_new_frame)()) {
19538 return signal_connect_data!()(&this, cast(char*)"new-frame",
19539 cast(GObject2.Callback)cb, data, null, cf);
19541 // The ::paused signal is emitted when clutter_timeline_pause() is invoked.
19542 extern (C) alias static void function (Timeline* this_, void* user_data=null) nothrow signal_paused;
19543 ulong signal_connect(string name:"paused", CB/*:signal_paused*/)
19544 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19545 if (is(typeof(cb)==signal_paused)||_ttmm!(CB, signal_paused)()) {
19546 return signal_connect_data!()(&this, cast(char*)"paused",
19547 cast(GObject2.Callback)cb, data, null, cf);
19550 // The ::started signal is emitted when the timeline starts its run.
19551 // This might be as soon as clutter_timeline_start() is invoked or
19552 // after the delay set in the ClutterTimeline:delay property has
19553 // expired.
19554 extern (C) alias static void function (Timeline* this_, void* user_data=null) nothrow signal_started;
19555 ulong signal_connect(string name:"started", CB/*:signal_started*/)
19556 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
19557 if (is(typeof(cb)==signal_started)||_ttmm!(CB, signal_started)()) {
19558 return signal_connect_data!()(&this, cast(char*)"started",
19559 cast(GObject2.Callback)cb, data, null, cf);
19563 // The #ClutterTimelineClass structure contains only private data
19564 struct TimelineClass /* Version 0.2 */ {
19565 private GObject2.ObjectClass parent_class;
19566 extern (C) void function (Timeline* timeline) nothrow started;
19567 extern (C) void function (Timeline* timeline) nothrow completed;
19568 extern (C) void function (Timeline* timeline) nothrow paused;
19569 extern (C) void function (Timeline* timeline, int msecs) nothrow new_frame;
19570 extern (C) void function (Timeline* timeline, char* marker_name, int msecs) nothrow marker_reached;
19571 extern (C) void function () nothrow _clutter_timeline_1;
19572 extern (C) void function () nothrow _clutter_timeline_2;
19573 extern (C) void function () nothrow _clutter_timeline_3;
19574 extern (C) void function () nothrow _clutter_timeline_4;
19575 extern (C) void function () nothrow _clutter_timeline_5;
19578 // The direction of a #ClutterTimeline
19579 enum TimelineDirection /* Version 0.6 */ {
19580 FORWARD = 0,
19581 BACKWARD = 1
19583 struct TimelinePrivate {
19587 // <structname>ClutterTimeoutPool</structname> is an opaque structure
19588 // whose members cannot be directly accessed.
19589 struct TimeoutPool /* Version 0.6 */ {
19591 // VERSION: 0.4
19592 // DEPRECATED method: add - 1.6
19593 // Sets a function to be called at regular intervals, and puts it inside
19594 // the @pool. The function is repeatedly called until it returns %FALSE,
19595 // at which point the timeout is automatically destroyed and the function
19596 // won't be called again. If @notify is not %NULL, the @notify function
19597 // will be called. The first call to @func will be at the end of @interval.
19599 // Since Clutter 0.8 this will try to compensate for delays. For
19600 // example, if @func takes half the interval time to execute then the
19601 // function will be called again half the interval time after it
19602 // finished. Before version 0.8 it would not fire until a full
19603 // interval after the function completes so the delay between calls
19604 // would be @interval * 1.5. This function does not however try to
19605 // invoke the function multiple times to catch up missing frames if
19606 // @func takes more than @interval ms to execute.
19608 // Use clutter_timeout_pool_remove() to stop the timeout.
19609 // RETURNS: the ID (greater than 0) of the timeout inside the pool.
19610 // <fps>: the time between calls to the function, in frames per second
19611 // <func>: function to call
19612 // <data>: data to pass to the function, or %NULL
19613 // <notify>: function to call when the timeout is removed, or %NULL
19614 uint add(AT0)(uint fps, GLib2.SourceFunc func, AT0 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
19615 return clutter_timeout_pool_add(&this, fps, func, UpCast!(void*)(data), notify);
19618 // VERSION: 0.4
19619 // DEPRECATED method: remove - 1.6
19620 // Removes a timeout function with @id_ from the timeout pool. The id
19621 // is the same returned when adding a function to the timeout pool with
19622 // clutter_timeout_pool_add().
19623 // <id_>: the id of the timeout to remove
19624 void remove()(uint id_) nothrow {
19625 clutter_timeout_pool_remove(&this, id_);
19628 // Unintrospectable function: new() / clutter_timeout_pool_new()
19629 // VERSION: 0.4
19630 // DEPRECATED function: new - 1.6
19631 // Creates a new timeout pool source. A timeout pool should be used when
19632 // multiple timeout functions, running at the same priority, are needed and
19633 // the g_timeout_add() API might lead to starvation of the time slice of
19634 // the main loop. A timeout pool allocates a single time slice of the main
19635 // loop and runs every timeout function inside it. The timeout pool is
19636 // always sorted, so that the extraction of the next timeout function is
19637 // a constant time operation.
19639 // is owned by the GLib default context and will be automatically
19640 // destroyed when the context is destroyed. It is possible to force
19641 // the destruction of the timeout pool using g_source_destroy()
19642 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
19643 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
19644 static TimeoutPool* new_()(int priority) nothrow {
19645 return clutter_timeout_pool_new(priority);
19649 enum int ToDoList = 269025055;
19650 enum int Tools = 269025153;
19651 enum int TopMenu = 269025186;
19652 enum int TouchpadOff = 269025201;
19653 enum int TouchpadOn = 269025200;
19654 enum int TouchpadToggle = 269025193;
19655 enum int Touroku = 65323;
19656 enum int Travel = 269025154;
19657 enum int Tslash = 940;
19658 enum int U = 85;
19659 enum int UWB = 269025174;
19660 enum int Uacute = 218;
19661 enum int Ubelowdot = 16785124;
19662 enum int Ubreve = 733;
19663 enum int Ucircumflex = 219;
19664 enum int Udiaeresis = 220;
19665 enum int Udoubleacute = 475;
19666 enum int Ugrave = 217;
19667 enum int Uhook = 16785126;
19668 enum int Uhorn = 16777647;
19669 enum int Uhornacute = 16785128;
19670 enum int Uhornbelowdot = 16785136;
19671 enum int Uhorngrave = 16785130;
19672 enum int Uhornhook = 16785132;
19673 enum int Uhorntilde = 16785134;
19674 enum int Ukrainian_GHE_WITH_UPTURN = 1725;
19675 enum int Ukrainian_I = 1718;
19676 enum int Ukrainian_IE = 1716;
19677 enum int Ukrainian_YI = 1719;
19678 enum int Ukrainian_ghe_with_upturn = 1709;
19679 enum int Ukrainian_i = 1702;
19680 enum int Ukrainian_ie = 1700;
19681 enum int Ukrainian_yi = 1703;
19682 enum int Ukranian_I = 1718;
19683 enum int Ukranian_JE = 1716;
19684 enum int Ukranian_YI = 1719;
19685 enum int Ukranian_i = 1702;
19686 enum int Ukranian_je = 1700;
19687 enum int Ukranian_yi = 1703;
19688 enum int Umacron = 990;
19689 enum int Undo = 65381;
19690 enum int Ungrab = 269024800;
19692 // The type of unit in which a value is expressed
19694 // This enumeration might be expanded at later date
19695 enum UnitType /* Version 1.0 */ {
19696 PIXEL = 0,
19697 EM = 1,
19698 MM = 2,
19699 POINT = 3,
19700 CM = 4
19703 // An opaque structure, to be used to store sizing and positioning
19704 // values along with their unit.
19705 struct Units /* Version 1.0 */ {
19706 private UnitType unit_type;
19707 private float value, pixels;
19708 private uint pixels_set;
19709 private int serial, __padding_1;
19710 private long __padding_2;
19713 // VERSION: 1.0
19714 // Copies @units
19716 // #ClutterUnits structure. Use clutter_units_free() to free
19717 // the allocated resources
19718 // RETURNS: the newly created copy of a
19719 Units* /*new*/ copy()() nothrow {
19720 return clutter_units_copy(&this);
19723 // VERSION: 1.0
19724 // Frees the resources allocated by @units
19726 // You should only call this function on a #ClutterUnits
19727 // created using clutter_units_copy()
19728 void free()() nothrow {
19729 clutter_units_free(&this);
19732 // VERSION: 1.2
19733 // Stores a value in centimeters inside @units
19734 // <cm>: centimeters
19735 void from_cm()(float cm) nothrow {
19736 clutter_units_from_cm(&this, cm);
19739 // VERSION: 1.0
19740 // Stores a value in em inside @units, using the default font
19741 // name as returned by clutter_backend_get_font_name()
19742 // <em>: em
19743 void from_em()(float em) nothrow {
19744 clutter_units_from_em(&this, em);
19747 // VERSION: 1.0
19748 // Stores a value in em inside @units using @font_name
19749 // <font_name>: the font name and size
19750 // <em>: em
19751 void from_em_for_font(AT0)(AT0 /*char*/ font_name, float em) nothrow {
19752 clutter_units_from_em_for_font(&this, toCString!(char*)(font_name), em);
19755 // VERSION: 1.0
19756 // Stores a value in millimiters inside @units
19757 // <mm>: millimeters
19758 void from_mm()(float mm) nothrow {
19759 clutter_units_from_mm(&this, mm);
19762 // VERSION: 1.0
19763 // Stores a value in pixels inside @units
19764 // <px>: pixels
19765 void from_pixels()(int px) nothrow {
19766 clutter_units_from_pixels(&this, px);
19769 // VERSION: 1.0
19770 // Stores a value in typographic points inside @units
19771 // <pt>: typographic points
19772 void from_pt()(float pt) nothrow {
19773 clutter_units_from_pt(&this, pt);
19776 // VERSION: 1.0
19777 // Parses a value and updates @units with it
19779 // A #ClutterUnits expressed in string should match:
19781 // |[
19782 // units: wsp* unit-value wsp* unit-name? wsp*
19783 // unit-value: number
19784 // unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm'
19785 // number: digit+
19786 // | digit* sep digit+
19787 // sep: '.' | ','
19788 // digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
19789 // wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+
19790 // ]|
19792 // For instance, these are valid strings:
19794 // |[
19795 // 10 px
19796 // 5.1 em
19797 // 24 pt
19798 // 12.6 mm
19799 // .3 cm
19800 // ]|
19802 // While these are not:
19804 // |[
19805 // 42 cats
19806 // omg!1!ponies
19807 // ]|
19809 // <note><para>If no unit is specified, pixels are assumed.</para></note>
19811 // and %FALSE otherwise
19812 // RETURNS: %TRUE if the string was successfully parsed,
19813 // <str>: the string to convert
19814 int from_string(AT0)(AT0 /*char*/ str) nothrow {
19815 return clutter_units_from_string(&this, toCString!(char*)(str));
19818 // VERSION: 1.0
19819 // Retrieves the unit type of the value stored inside @units
19820 // RETURNS: a unit type
19821 UnitType get_unit_type()() nothrow {
19822 return clutter_units_get_unit_type(&this);
19825 // VERSION: 1.0
19826 // Retrieves the value stored inside @units
19827 // RETURNS: the value stored inside a #ClutterUnits
19828 float get_unit_value()() nothrow {
19829 return clutter_units_get_unit_value(&this);
19832 // VERSION: 1.0
19833 // Converts a value in #ClutterUnits to pixels
19834 // RETURNS: the value in pixels
19835 float to_pixels()() nothrow {
19836 return clutter_units_to_pixels(&this);
19839 // VERSION: 1.0
19840 // Converts @units into a string
19842 // See clutter_units_from_string() for the units syntax and for
19843 // examples of output
19845 // <note>Fractional values are truncated to the second decimal
19846 // position for em, mm and cm, and to the first decimal position for
19847 // typographic points. Pixels are integers.</note>
19849 // #ClutterUnits value. Use g_free() to free the string
19850 // RETURNS: a newly allocated string containing the encoded
19851 char* /*new*/ to_string()() nothrow {
19852 return clutter_units_to_string(&this);
19856 enum int Uogonek = 985;
19857 enum int Up = 65362;
19858 enum int Uring = 473;
19859 enum int User1KB = 269025157;
19860 enum int User2KB = 269025158;
19861 enum int UserPB = 269025156;
19862 enum int Utilde = 989;
19863 enum int V = 86;
19864 enum double VERSION = 1.900000;
19865 enum int VERSION_HEX = 0;
19866 enum VERSION_S = "1.9.11";
19867 enum int VendorHome = 269025076;
19868 // Vertex of an actor in 3D space, expressed in pixels
19869 struct Vertex /* Version 0.4 */ {
19870 float x, y, z;
19873 // VERSION: 1.0
19874 // Creates a new #ClutterVertex for the point in 3D space
19875 // identified by the 3 coordinates @x, @y, @z
19877 // clutter_vertex_free() to free the resources
19878 // RETURNS: the newly allocate #ClutterVertex. Use
19879 // <x>: X coordinate
19880 // <y>: Y coordinate
19881 // <z>: Z coordinate
19882 static Vertex* /*new*/ new_()(float x, float y, float z) nothrow {
19883 return clutter_vertex_new(x, y, z);
19885 static auto opCall()(float x, float y, float z) {
19886 return clutter_vertex_new(x, y, z);
19889 // VERSION: 1.0
19890 // Copies @vertex
19892 // clutter_vertex_free() to free the allocated resources
19893 // RETURNS: a newly allocated copy of #ClutterVertex. Use
19894 Vertex* /*new*/ copy()() nothrow {
19895 return clutter_vertex_copy(&this);
19898 // VERSION: 1.0
19899 // Compares @vertex_a and @vertex_b for equality
19900 // RETURNS: %TRUE if the passed #ClutterVertex are equal
19901 // <vertex_b>: a #ClutterVertex
19902 int equal(AT0)(AT0 /*Vertex*/ vertex_b) nothrow {
19903 return clutter_vertex_equal(&this, UpCast!(Vertex*)(vertex_b));
19906 // VERSION: 1.0
19907 // Frees a #ClutterVertex allocated using clutter_vertex_copy()
19908 void free()() nothrow {
19909 clutter_vertex_free(&this);
19913 enum int Video = 269025159;
19914 enum int View = 269025185;
19915 enum int VoidSymbol = 16777215;
19916 enum int W = 87;
19917 enum WINDOWING_GLX = "glx";
19918 enum WINDOWING_X11 = "x11";
19919 enum int WLAN = 269025173;
19920 enum int WWW = 269025070;
19921 enum int Wacute = 16785026;
19922 enum int WakeUp = 269025067;
19923 enum int Wcircumflex = 16777588;
19924 enum int Wdiaeresis = 16785028;
19925 enum int WebCam = 269025167;
19926 enum int Wgrave = 16785024;
19927 enum int WheelButton = 269025160;
19928 enum int WindowClear = 269025109;
19929 enum int WonSign = 16785577;
19930 enum int Word = 269025161;
19931 enum int X = 88;
19932 enum X11FilterReturn {
19933 CONTINUE = 0,
19934 TRANSLATE = 1,
19935 REMOVE = 2
19937 enum X11XInputEventTypes {
19938 KEY_PRESS_EVENT = 0,
19939 KEY_RELEASE_EVENT = 1,
19940 BUTTON_PRESS_EVENT = 2,
19941 BUTTON_RELEASE_EVENT = 3,
19942 MOTION_NOTIFY_EVENT = 4,
19943 LAST_EVENT = 5
19945 enum int Xabovedot = 16785034;
19946 enum int Xfer = 269025162;
19947 enum int Y = 89;
19948 enum int Yacute = 221;
19949 enum int Ybelowdot = 16785140;
19950 enum int Ycircumflex = 16777590;
19951 enum int Ydiaeresis = 5054;
19952 enum int Yellow = 269025189;
19953 enum int Ygrave = 16785138;
19954 enum int Yhook = 16785142;
19955 enum int Ytilde = 16785144;
19956 enum int Z = 90;
19957 enum int Zabovedot = 431;
19958 enum int Zacute = 428;
19959 enum int Zcaron = 430;
19960 enum int Zen_Koho = 65341;
19961 enum int Zenkaku = 65320;
19962 enum int Zenkaku_Hankaku = 65322;
19963 enum int ZoomIn = 269025163;
19964 enum int ZoomOut = 269025164;
19965 enum int Zstroke = 16777653;
19966 enum int a = 97;
19967 enum int aacute = 225;
19968 enum int abelowdot = 16785057;
19969 enum int abovedot = 511;
19970 enum int abreve = 483;
19971 enum int abreveacute = 16785071;
19972 enum int abrevebelowdot = 16785079;
19973 enum int abrevegrave = 16785073;
19974 enum int abrevehook = 16785075;
19975 enum int abrevetilde = 16785077;
19976 enum int acircumflex = 226;
19977 enum int acircumflexacute = 16785061;
19978 enum int acircumflexbelowdot = 16785069;
19979 enum int acircumflexgrave = 16785063;
19980 enum int acircumflexhook = 16785065;
19981 enum int acircumflextilde = 16785067;
19982 enum int acute = 180;
19983 enum int adiaeresis = 228;
19984 enum int ae = 230;
19985 enum int agrave = 224;
19986 enum int ahook = 16785059;
19987 enum int amacron = 992;
19988 enum int ampersand = 38;
19989 enum int aogonek = 433;
19990 enum int apostrophe = 39;
19991 enum int approxeq = 16785992;
19992 enum int approximate = 2248;
19993 enum int aring = 229;
19994 enum int asciicircum = 94;
19995 enum int asciitilde = 126;
19996 enum int asterisk = 42;
19997 enum int at = 64;
19998 enum int atilde = 227;
19999 enum int b = 98;
20000 enum int babovedot = 16784899;
20001 enum int backslash = 92;
20002 enum int ballotcross = 2804;
20003 enum int bar = 124;
20004 static void base_init()() nothrow {
20005 clutter_base_init();
20008 enum int because = 16785973;
20009 enum int blank = 2527;
20010 enum int botintegral = 2213;
20011 enum int botleftparens = 2220;
20012 enum int botleftsqbracket = 2216;
20013 enum int botleftsummation = 2226;
20014 enum int botrightparens = 2222;
20015 enum int botrightsqbracket = 2218;
20016 enum int botrightsummation = 2230;
20017 enum int bott = 2550;
20018 enum int botvertsummationconnector = 2228;
20019 enum int braceleft = 123;
20020 enum int braceright = 125;
20021 enum int bracketleft = 91;
20022 enum int bracketright = 93;
20023 enum int braille_blank = 16787456;
20024 enum int braille_dot_1 = 65521;
20025 enum int braille_dot_10 = 65530;
20026 enum int braille_dot_2 = 65522;
20027 enum int braille_dot_3 = 65523;
20028 enum int braille_dot_4 = 65524;
20029 enum int braille_dot_5 = 65525;
20030 enum int braille_dot_6 = 65526;
20031 enum int braille_dot_7 = 65527;
20032 enum int braille_dot_8 = 65528;
20033 enum int braille_dot_9 = 65529;
20034 enum int braille_dots_1 = 16787457;
20035 enum int braille_dots_12 = 16787459;
20036 enum int braille_dots_123 = 16787463;
20037 enum int braille_dots_1234 = 16787471;
20038 enum int braille_dots_12345 = 16787487;
20039 enum int braille_dots_123456 = 16787519;
20040 enum int braille_dots_1234567 = 16787583;
20041 enum int braille_dots_12345678 = 16787711;
20042 enum int braille_dots_1234568 = 16787647;
20043 enum int braille_dots_123457 = 16787551;
20044 enum int braille_dots_1234578 = 16787679;
20045 enum int braille_dots_123458 = 16787615;
20046 enum int braille_dots_12346 = 16787503;
20047 enum int braille_dots_123467 = 16787567;
20048 enum int braille_dots_1234678 = 16787695;
20049 enum int braille_dots_123468 = 16787631;
20050 enum int braille_dots_12347 = 16787535;
20051 enum int braille_dots_123478 = 16787663;
20052 enum int braille_dots_12348 = 16787599;
20053 enum int braille_dots_1235 = 16787479;
20054 enum int braille_dots_12356 = 16787511;
20055 enum int braille_dots_123567 = 16787575;
20056 enum int braille_dots_1235678 = 16787703;
20057 enum int braille_dots_123568 = 16787639;
20058 enum int braille_dots_12357 = 16787543;
20059 enum int braille_dots_123578 = 16787671;
20060 enum int braille_dots_12358 = 16787607;
20061 enum int braille_dots_1236 = 16787495;
20062 enum int braille_dots_12367 = 16787559;
20063 enum int braille_dots_123678 = 16787687;
20064 enum int braille_dots_12368 = 16787623;
20065 enum int braille_dots_1237 = 16787527;
20066 enum int braille_dots_12378 = 16787655;
20067 enum int braille_dots_1238 = 16787591;
20068 enum int braille_dots_124 = 16787467;
20069 enum int braille_dots_1245 = 16787483;
20070 enum int braille_dots_12456 = 16787515;
20071 enum int braille_dots_124567 = 16787579;
20072 enum int braille_dots_1245678 = 16787707;
20073 enum int braille_dots_124568 = 16787643;
20074 enum int braille_dots_12457 = 16787547;
20075 enum int braille_dots_124578 = 16787675;
20076 enum int braille_dots_12458 = 16787611;
20077 enum int braille_dots_1246 = 16787499;
20078 enum int braille_dots_12467 = 16787563;
20079 enum int braille_dots_124678 = 16787691;
20080 enum int braille_dots_12468 = 16787627;
20081 enum int braille_dots_1247 = 16787531;
20082 enum int braille_dots_12478 = 16787659;
20083 enum int braille_dots_1248 = 16787595;
20084 enum int braille_dots_125 = 16787475;
20085 enum int braille_dots_1256 = 16787507;
20086 enum int braille_dots_12567 = 16787571;
20087 enum int braille_dots_125678 = 16787699;
20088 enum int braille_dots_12568 = 16787635;
20089 enum int braille_dots_1257 = 16787539;
20090 enum int braille_dots_12578 = 16787667;
20091 enum int braille_dots_1258 = 16787603;
20092 enum int braille_dots_126 = 16787491;
20093 enum int braille_dots_1267 = 16787555;
20094 enum int braille_dots_12678 = 16787683;
20095 enum int braille_dots_1268 = 16787619;
20096 enum int braille_dots_127 = 16787523;
20097 enum int braille_dots_1278 = 16787651;
20098 enum int braille_dots_128 = 16787587;
20099 enum int braille_dots_13 = 16787461;
20100 enum int braille_dots_134 = 16787469;
20101 enum int braille_dots_1345 = 16787485;
20102 enum int braille_dots_13456 = 16787517;
20103 enum int braille_dots_134567 = 16787581;
20104 enum int braille_dots_1345678 = 16787709;
20105 enum int braille_dots_134568 = 16787645;
20106 enum int braille_dots_13457 = 16787549;
20107 enum int braille_dots_134578 = 16787677;
20108 enum int braille_dots_13458 = 16787613;
20109 enum int braille_dots_1346 = 16787501;
20110 enum int braille_dots_13467 = 16787565;
20111 enum int braille_dots_134678 = 16787693;
20112 enum int braille_dots_13468 = 16787629;
20113 enum int braille_dots_1347 = 16787533;
20114 enum int braille_dots_13478 = 16787661;
20115 enum int braille_dots_1348 = 16787597;
20116 enum int braille_dots_135 = 16787477;
20117 enum int braille_dots_1356 = 16787509;
20118 enum int braille_dots_13567 = 16787573;
20119 enum int braille_dots_135678 = 16787701;
20120 enum int braille_dots_13568 = 16787637;
20121 enum int braille_dots_1357 = 16787541;
20122 enum int braille_dots_13578 = 16787669;
20123 enum int braille_dots_1358 = 16787605;
20124 enum int braille_dots_136 = 16787493;
20125 enum int braille_dots_1367 = 16787557;
20126 enum int braille_dots_13678 = 16787685;
20127 enum int braille_dots_1368 = 16787621;
20128 enum int braille_dots_137 = 16787525;
20129 enum int braille_dots_1378 = 16787653;
20130 enum int braille_dots_138 = 16787589;
20131 enum int braille_dots_14 = 16787465;
20132 enum int braille_dots_145 = 16787481;
20133 enum int braille_dots_1456 = 16787513;
20134 enum int braille_dots_14567 = 16787577;
20135 enum int braille_dots_145678 = 16787705;
20136 enum int braille_dots_14568 = 16787641;
20137 enum int braille_dots_1457 = 16787545;
20138 enum int braille_dots_14578 = 16787673;
20139 enum int braille_dots_1458 = 16787609;
20140 enum int braille_dots_146 = 16787497;
20141 enum int braille_dots_1467 = 16787561;
20142 enum int braille_dots_14678 = 16787689;
20143 enum int braille_dots_1468 = 16787625;
20144 enum int braille_dots_147 = 16787529;
20145 enum int braille_dots_1478 = 16787657;
20146 enum int braille_dots_148 = 16787593;
20147 enum int braille_dots_15 = 16787473;
20148 enum int braille_dots_156 = 16787505;
20149 enum int braille_dots_1567 = 16787569;
20150 enum int braille_dots_15678 = 16787697;
20151 enum int braille_dots_1568 = 16787633;
20152 enum int braille_dots_157 = 16787537;
20153 enum int braille_dots_1578 = 16787665;
20154 enum int braille_dots_158 = 16787601;
20155 enum int braille_dots_16 = 16787489;
20156 enum int braille_dots_167 = 16787553;
20157 enum int braille_dots_1678 = 16787681;
20158 enum int braille_dots_168 = 16787617;
20159 enum int braille_dots_17 = 16787521;
20160 enum int braille_dots_178 = 16787649;
20161 enum int braille_dots_18 = 16787585;
20162 enum int braille_dots_2 = 16787458;
20163 enum int braille_dots_23 = 16787462;
20164 enum int braille_dots_234 = 16787470;
20165 enum int braille_dots_2345 = 16787486;
20166 enum int braille_dots_23456 = 16787518;
20167 enum int braille_dots_234567 = 16787582;
20168 enum int braille_dots_2345678 = 16787710;
20169 enum int braille_dots_234568 = 16787646;
20170 enum int braille_dots_23457 = 16787550;
20171 enum int braille_dots_234578 = 16787678;
20172 enum int braille_dots_23458 = 16787614;
20173 enum int braille_dots_2346 = 16787502;
20174 enum int braille_dots_23467 = 16787566;
20175 enum int braille_dots_234678 = 16787694;
20176 enum int braille_dots_23468 = 16787630;
20177 enum int braille_dots_2347 = 16787534;
20178 enum int braille_dots_23478 = 16787662;
20179 enum int braille_dots_2348 = 16787598;
20180 enum int braille_dots_235 = 16787478;
20181 enum int braille_dots_2356 = 16787510;
20182 enum int braille_dots_23567 = 16787574;
20183 enum int braille_dots_235678 = 16787702;
20184 enum int braille_dots_23568 = 16787638;
20185 enum int braille_dots_2357 = 16787542;
20186 enum int braille_dots_23578 = 16787670;
20187 enum int braille_dots_2358 = 16787606;
20188 enum int braille_dots_236 = 16787494;
20189 enum int braille_dots_2367 = 16787558;
20190 enum int braille_dots_23678 = 16787686;
20191 enum int braille_dots_2368 = 16787622;
20192 enum int braille_dots_237 = 16787526;
20193 enum int braille_dots_2378 = 16787654;
20194 enum int braille_dots_238 = 16787590;
20195 enum int braille_dots_24 = 16787466;
20196 enum int braille_dots_245 = 16787482;
20197 enum int braille_dots_2456 = 16787514;
20198 enum int braille_dots_24567 = 16787578;
20199 enum int braille_dots_245678 = 16787706;
20200 enum int braille_dots_24568 = 16787642;
20201 enum int braille_dots_2457 = 16787546;
20202 enum int braille_dots_24578 = 16787674;
20203 enum int braille_dots_2458 = 16787610;
20204 enum int braille_dots_246 = 16787498;
20205 enum int braille_dots_2467 = 16787562;
20206 enum int braille_dots_24678 = 16787690;
20207 enum int braille_dots_2468 = 16787626;
20208 enum int braille_dots_247 = 16787530;
20209 enum int braille_dots_2478 = 16787658;
20210 enum int braille_dots_248 = 16787594;
20211 enum int braille_dots_25 = 16787474;
20212 enum int braille_dots_256 = 16787506;
20213 enum int braille_dots_2567 = 16787570;
20214 enum int braille_dots_25678 = 16787698;
20215 enum int braille_dots_2568 = 16787634;
20216 enum int braille_dots_257 = 16787538;
20217 enum int braille_dots_2578 = 16787666;
20218 enum int braille_dots_258 = 16787602;
20219 enum int braille_dots_26 = 16787490;
20220 enum int braille_dots_267 = 16787554;
20221 enum int braille_dots_2678 = 16787682;
20222 enum int braille_dots_268 = 16787618;
20223 enum int braille_dots_27 = 16787522;
20224 enum int braille_dots_278 = 16787650;
20225 enum int braille_dots_28 = 16787586;
20226 enum int braille_dots_3 = 16787460;
20227 enum int braille_dots_34 = 16787468;
20228 enum int braille_dots_345 = 16787484;
20229 enum int braille_dots_3456 = 16787516;
20230 enum int braille_dots_34567 = 16787580;
20231 enum int braille_dots_345678 = 16787708;
20232 enum int braille_dots_34568 = 16787644;
20233 enum int braille_dots_3457 = 16787548;
20234 enum int braille_dots_34578 = 16787676;
20235 enum int braille_dots_3458 = 16787612;
20236 enum int braille_dots_346 = 16787500;
20237 enum int braille_dots_3467 = 16787564;
20238 enum int braille_dots_34678 = 16787692;
20239 enum int braille_dots_3468 = 16787628;
20240 enum int braille_dots_347 = 16787532;
20241 enum int braille_dots_3478 = 16787660;
20242 enum int braille_dots_348 = 16787596;
20243 enum int braille_dots_35 = 16787476;
20244 enum int braille_dots_356 = 16787508;
20245 enum int braille_dots_3567 = 16787572;
20246 enum int braille_dots_35678 = 16787700;
20247 enum int braille_dots_3568 = 16787636;
20248 enum int braille_dots_357 = 16787540;
20249 enum int braille_dots_3578 = 16787668;
20250 enum int braille_dots_358 = 16787604;
20251 enum int braille_dots_36 = 16787492;
20252 enum int braille_dots_367 = 16787556;
20253 enum int braille_dots_3678 = 16787684;
20254 enum int braille_dots_368 = 16787620;
20255 enum int braille_dots_37 = 16787524;
20256 enum int braille_dots_378 = 16787652;
20257 enum int braille_dots_38 = 16787588;
20258 enum int braille_dots_4 = 16787464;
20259 enum int braille_dots_45 = 16787480;
20260 enum int braille_dots_456 = 16787512;
20261 enum int braille_dots_4567 = 16787576;
20262 enum int braille_dots_45678 = 16787704;
20263 enum int braille_dots_4568 = 16787640;
20264 enum int braille_dots_457 = 16787544;
20265 enum int braille_dots_4578 = 16787672;
20266 enum int braille_dots_458 = 16787608;
20267 enum int braille_dots_46 = 16787496;
20268 enum int braille_dots_467 = 16787560;
20269 enum int braille_dots_4678 = 16787688;
20270 enum int braille_dots_468 = 16787624;
20271 enum int braille_dots_47 = 16787528;
20272 enum int braille_dots_478 = 16787656;
20273 enum int braille_dots_48 = 16787592;
20274 enum int braille_dots_5 = 16787472;
20275 enum int braille_dots_56 = 16787504;
20276 enum int braille_dots_567 = 16787568;
20277 enum int braille_dots_5678 = 16787696;
20278 enum int braille_dots_568 = 16787632;
20279 enum int braille_dots_57 = 16787536;
20280 enum int braille_dots_578 = 16787664;
20281 enum int braille_dots_58 = 16787600;
20282 enum int braille_dots_6 = 16787488;
20283 enum int braille_dots_67 = 16787552;
20284 enum int braille_dots_678 = 16787680;
20285 enum int braille_dots_68 = 16787616;
20286 enum int braille_dots_7 = 16787520;
20287 enum int braille_dots_78 = 16787648;
20288 enum int braille_dots_8 = 16787584;
20289 enum int breve = 418;
20290 enum int brokenbar = 166;
20291 enum int c = 99;
20292 enum int c_h = 65187;
20293 enum int cabovedot = 741;
20294 enum int cacute = 486;
20296 // VERSION: 1.0
20297 // Utility function for setting the source color of @cr using
20298 // a #ClutterColor. This function is the equivalent of:
20300 // |[
20301 // cairo_set_source_rgba (cr,
20302 // color->red / 255.0,
20303 // color->green / 255.0,
20304 // color->blue / 255.0,
20305 // color->alpha / 255.0);
20306 // ]|
20307 // <cr>: a Cairo context
20308 // <color>: a #ClutterColor
20309 static void cairo_set_source_color(AT0, AT1)(AT0 /*cairo.Context*/ cr, AT1 /*Color*/ color) nothrow {
20310 clutter_cairo_set_source_color(UpCast!(cairo.Context*)(cr), UpCast!(Color*)(color));
20313 enum int careof = 2744;
20314 enum int caret = 2812;
20315 enum int caron = 439;
20316 enum int ccaron = 488;
20317 enum int ccedilla = 231;
20318 enum int ccircumflex = 742;
20319 enum int cedilla = 184;
20320 enum int cent_ = 162;
20321 enum int ch = 65184;
20323 // VERSION: 1.2
20324 // Run-time version check, to check the version the Clutter library
20325 // that an application is currently linked against
20327 // This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION
20328 // pre-processor macro
20330 // greater than (@major, @minor, @micro), and %FALSE otherwise
20331 // RETURNS: %TRUE if the version of the Clutter library is
20332 // <major>: major version, like 1 in 1.2.3
20333 // <minor>: minor version, like 2 in 1.2.3
20334 // <micro>: micro version, like 3 in 1.2.3
20335 static int check_version()(uint major, uint minor, uint micro) nothrow {
20336 return clutter_check_version(major, minor, micro);
20340 // VERSION: 1.10
20341 // Checks the run-time name of the Clutter windowing system backend, using
20342 // the symbolic macros like %CLUTTER_WINDOWING_WIN32 or
20343 // %CLUTTER_WINDOWING_X11.
20345 // This function should be used in conjuction with the compile-time macros
20346 // inside applications and libraries that are using the platform-specific
20347 // windowing system API, to ensure that they are running on the correct
20348 // windowing system; for instance:
20350 // |[
20351 // &num;ifdef CLUTTER_WINDOWING_X11
20352 // if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
20353 // {
20354 // /&ast; it is safe to use the clutter_x11_* API &ast;/
20355 // }
20356 // else
20357 // &num;endif
20358 // &num;ifdef CLUTTER_WINDOWING_WIN32
20359 // if (clutter_check_windowing_backend (CLUTTER_WINDOWING_WIN32))
20360 // {
20361 // /&ast; it is safe to use the clutter_win32_* API &ast;/
20362 // }
20363 // else
20364 // &num;endif
20365 // g_error ("Unknown Clutter backend.");
20366 // ]|
20368 // the one checked, and %FALSE otherwise
20369 // RETURNS: %TRUE if the current Clutter windowing system backend is
20370 // <backend_type>: the name of the backend to check
20371 static int check_windowing_backend(AT0)(AT0 /*char*/ backend_type) nothrow {
20372 return clutter_check_windowing_backend(toCString!(char*)(backend_type));
20375 enum int checkerboard = 2529;
20376 enum int checkmark = 2803;
20377 enum int circle = 3023;
20379 // VERSION: 0.8
20380 // DEPRECATED (v1.10) function: clear_glyph_cache - Use clutter_get_font_map() and
20381 // Clears the internal cache of glyphs used by the Pango
20382 // renderer. This will free up some memory and GL texture
20383 // resources. The cache will be automatically refilled as more text is
20384 // drawn.
20387 // cogl_pango_font_map_clear_glyph_cache() instead.
20388 static void clear_glyph_cache()() nothrow {
20389 clutter_clear_glyph_cache();
20392 enum int club = 2796;
20393 enum int colon = 58;
20395 // VERSION: 0.2
20396 // MOVED TO: Color.equal
20397 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
20399 // This function can be passed to g_hash_table_new() as the @key_equal_func
20400 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
20401 // RETURNS: %TRUE if the two colors are the same.
20402 // <v1>: a #ClutterColor
20403 // <v2>: a #ClutterColor
20404 static int color_equal(AT0, AT1)(AT0 /*const(void)*/ v1, AT1 /*const(void)*/ v2) nothrow {
20405 return clutter_color_equal(UpCast!(const(void)*)(v1), UpCast!(const(void)*)(v2));
20409 // VERSION: 1.6
20410 // MOVED TO: Color.get_static
20411 // Retrieves a static color for the given @color name
20413 // Static colors are created by Clutter and are guaranteed to always be
20414 // available and valid
20416 // is owned by Clutter and it should never be modified or freed
20417 // RETURNS: a pointer to a static color; the returned pointer
20418 // <color>: the named global color
20419 static Color* color_get_static()(StaticColor color) nothrow {
20420 return clutter_color_get_static(color);
20424 // VERSION: 1.0
20425 // MOVED TO: Color.hash
20426 // Converts a #ClutterColor to a hash value.
20428 // This function can be passed to g_hash_table_new() as the @hash_func
20429 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
20430 // RETURNS: a hash value corresponding to the color
20431 // <v>: a #ClutterColor
20432 static uint color_hash(AT0)(AT0 /*const(void)*/ v) nothrow {
20433 return clutter_color_hash(UpCast!(const(void)*)(v));
20436 enum int comma = 44;
20438 // VERSION: 0.8
20439 // MOVED TO: Container.class_find_child_property
20440 // Looks up the #GParamSpec for a child property of @klass.
20442 // if no such property exist.
20443 // RETURNS: The #GParamSpec for the property or %NULL
20444 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
20445 // <property_name>: a property name.
20446 static GObject2.ParamSpec* container_class_find_child_property(AT0, AT1)(AT0 /*GObject2.ObjectClass*/ klass, AT1 /*char*/ property_name) nothrow {
20447 return clutter_container_class_find_child_property(UpCast!(GObject2.ObjectClass*)(klass), toCString!(char*)(property_name));
20451 // VERSION: 0.8
20452 // MOVED TO: Container.class_list_child_properties
20453 // Returns an array of #GParamSpec for all child properties.
20455 // of #GParamSpec<!-- -->s which should be freed after use.
20456 // RETURNS: an array
20457 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
20458 // <n_properties>: return location for length of returned array.
20459 static GObject2.ParamSpec** /*new*/ container_class_list_child_properties(AT0, AT1)(AT0 /*GObject2.ObjectClass*/ klass, /*out*/ AT1 /*uint*/ n_properties) nothrow {
20460 return clutter_container_class_list_child_properties(UpCast!(GObject2.ObjectClass*)(klass), UpCast!(uint*)(n_properties));
20463 enum int containsas = 16785931;
20464 enum int copyright = 169;
20465 enum int cr = 2532;
20466 enum int crossinglines = 2542;
20467 enum int cuberoot = 16785947;
20468 enum int currency = 164;
20469 enum int cursor = 2815;
20470 enum int d = 100;
20471 enum int dabovedot = 16784907;
20472 enum int dagger = 2801;
20473 enum int dcaron = 495;
20474 enum int dead_A = 65153;
20475 enum int dead_E = 65155;
20476 enum int dead_I = 65157;
20477 enum int dead_O = 65159;
20478 enum int dead_U = 65161;
20479 enum int dead_a = 65152;
20480 enum int dead_abovecomma = 65124;
20481 enum int dead_abovedot = 65110;
20482 enum int dead_abovereversedcomma = 65125;
20483 enum int dead_abovering = 65112;
20484 enum int dead_acute = 65105;
20485 enum int dead_belowbreve = 65131;
20486 enum int dead_belowcircumflex = 65129;
20487 enum int dead_belowcomma = 65134;
20488 enum int dead_belowdiaeresis = 65132;
20489 enum int dead_belowdot = 65120;
20490 enum int dead_belowmacron = 65128;
20491 enum int dead_belowring = 65127;
20492 enum int dead_belowtilde = 65130;
20493 enum int dead_breve = 65109;
20494 enum int dead_capital_schwa = 65163;
20495 enum int dead_caron = 65114;
20496 enum int dead_cedilla = 65115;
20497 enum int dead_circumflex = 65106;
20498 enum int dead_currency = 65135;
20499 enum int dead_dasia = 65125;
20500 enum int dead_diaeresis = 65111;
20501 enum int dead_doubleacute = 65113;
20502 enum int dead_doublegrave = 65126;
20503 enum int dead_e = 65154;
20504 enum int dead_grave = 65104;
20505 enum int dead_hook = 65121;
20506 enum int dead_horn = 65122;
20507 enum int dead_i = 65156;
20508 enum int dead_invertedbreve = 65133;
20509 enum int dead_iota = 65117;
20510 enum int dead_macron = 65108;
20511 enum int dead_o = 65158;
20512 enum int dead_ogonek = 65116;
20513 enum int dead_perispomeni = 65107;
20514 enum int dead_psili = 65124;
20515 enum int dead_semivoiced_sound = 65119;
20516 enum int dead_small_schwa = 65162;
20517 enum int dead_stroke = 65123;
20518 enum int dead_tilde = 65107;
20519 enum int dead_u = 65160;
20520 enum int dead_voiced_sound = 65118;
20521 enum int decimalpoint = 2749;
20522 enum int degree = 176;
20523 enum int diaeresis = 168;
20524 enum int diamond = 2797;
20525 enum int digitspace = 2725;
20526 enum int dintegral = 16785964;
20527 enum int division = 247;
20529 // VERSION: 0.4
20530 // Processes an event.
20532 // The @event must be a valid #ClutterEvent and have a #ClutterStage
20533 // associated to it.
20535 // This function is only useful when embedding Clutter inside another
20536 // toolkit, and it should never be called by applications.
20537 // <event>: a #ClutterEvent.
20538 static void do_event(AT0)(AT0 /*Event*/ event) nothrow {
20539 clutter_do_event(UpCast!(Event*)(event));
20542 enum int dollar = 36;
20543 enum int doubbaselinedot = 2735;
20544 enum int doubleacute = 445;
20545 enum int doubledagger = 2802;
20546 enum int doublelowquotemark = 2814;
20547 enum int downarrow = 2302;
20548 enum int downcaret = 2984;
20549 enum int downshoe = 3030;
20550 enum int downstile = 3012;
20551 enum int downtack = 3010;
20552 enum int dstroke = 496;
20553 enum int e = 101;
20554 enum int eabovedot = 1004;
20555 enum int eacute = 233;
20556 enum int ebelowdot = 16785081;
20557 enum int ecaron = 492;
20558 enum int ecircumflex = 234;
20559 enum int ecircumflexacute = 16785087;
20560 enum int ecircumflexbelowdot = 16785095;
20561 enum int ecircumflexgrave = 16785089;
20562 enum int ecircumflexhook = 16785091;
20563 enum int ecircumflextilde = 16785093;
20564 enum int ediaeresis = 235;
20565 enum int egrave = 232;
20566 enum int ehook = 16785083;
20567 enum int eightsubscript = 16785544;
20568 enum int eightsuperior = 16785528;
20569 enum int elementof = 16785928;
20570 enum int ellipsis = 2734;
20571 enum int em3space = 2723;
20572 enum int em4space = 2724;
20573 enum int emacron = 954;
20574 enum int emdash = 2729;
20575 enum int emfilledcircle = 2782;
20576 enum int emfilledrect = 2783;
20577 enum int emopencircle = 2766;
20578 enum int emopenrectangle = 2767;
20579 enum int emptyset = 16785925;
20580 enum int emspace = 2721;
20581 enum int endash = 2730;
20582 enum int enfilledcircbullet = 2790;
20583 enum int enfilledsqbullet = 2791;
20584 enum int eng = 959;
20585 enum int enopencircbullet = 2784;
20586 enum int enopensquarebullet = 2785;
20587 enum int enspace = 2722;
20588 enum int eogonek = 490;
20589 enum int equal = 61;
20590 enum int eth = 240;
20591 enum int etilde = 16785085;
20593 // VERSION: 0.4
20594 // MOVED TO: Event.get
20595 // Pops an event off the event queue. Applications should not need to call
20596 // this.
20597 // RETURNS: A #ClutterEvent or NULL if queue empty
20598 static Event* /*new*/ event_get()() nothrow {
20599 return clutter_event_get();
20603 // VERSION: 0.4
20604 // MOVED TO: Event.peek
20605 // Returns a pointer to the first event from the event queue but
20606 // does not remove it.
20607 // RETURNS: A #ClutterEvent or NULL if queue empty.
20608 static Event* event_peek()() nothrow {
20609 return clutter_event_peek();
20613 // VERSION: 0.4
20614 // Checks if events are pending in the event queue.
20615 // RETURNS: TRUE if there are pending events, FALSE otherwise.
20616 static int events_pending()() nothrow {
20617 return clutter_events_pending();
20620 enum int exclam = 33;
20621 enum int exclamdown = 161;
20622 enum int f = 102;
20623 enum int fabovedot = 16784927;
20625 // VERSION: 0.1.1
20626 // Checks whether @feature is available. @feature can be a logical
20627 // OR of #ClutterFeatureFlags.
20628 // RETURNS: %TRUE if a feature is available
20629 // <feature>: a #ClutterFeatureFlags
20630 static int feature_available()(FeatureFlags feature) nothrow {
20631 return clutter_feature_available(feature);
20635 // VERSION: 0.1.1
20636 // Returns all the supported features.
20637 // RETURNS: a logical OR of all the supported features.
20638 static FeatureFlags feature_get_all()() nothrow {
20639 return clutter_feature_get_all();
20642 enum int femalesymbol = 2808;
20643 enum int ff = 2531;
20644 enum int figdash = 2747;
20645 enum int filledlefttribullet = 2780;
20646 enum int filledrectbullet = 2779;
20647 enum int filledrighttribullet = 2781;
20648 enum int filledtribulletdown = 2793;
20649 enum int filledtribulletup = 2792;
20650 enum int fiveeighths = 2757;
20651 enum int fivesixths = 2743;
20652 enum int fivesubscript = 16785541;
20653 enum int fivesuperior = 16785525;
20654 enum int fourfifths = 2741;
20655 enum int foursubscript = 16785540;
20656 enum int foursuperior = 16785524;
20657 enum int fourthroot = 16785948;
20659 // Unintrospectable function: frame_source_add() / clutter_frame_source_add()
20660 // VERSION: 0.8
20661 // DEPRECATED function: frame_source_add - 1.6
20662 // Simple wrapper around clutter_frame_source_add_full().
20663 // RETURNS: the ID (greater than 0) of the event source.
20664 // <fps>: the number of times per second to call the function
20665 // <func>: function to call
20666 // <data>: data to pass to the function
20667 static uint frame_source_add(AT0)(uint fps, GLib2.SourceFunc func, AT0 /*void*/ data) nothrow {
20668 return clutter_frame_source_add(fps, func, UpCast!(void*)(data));
20672 // VERSION: 0.8
20673 // DEPRECATED function: frame_source_add_full - 1.6
20674 // Sets a function to be called at regular intervals with the given
20675 // priority. The function is called repeatedly until it returns
20676 // %FALSE, at which point the timeout is automatically destroyed and
20677 // the function will not be called again. The @notify function is
20678 // called when the timeout is destroyed. The first call to the
20679 // function will be at the end of the first @interval.
20681 // This function is similar to g_timeout_add_full() except that it
20682 // will try to compensate for delays. For example, if @func takes half
20683 // the interval time to execute then the function will be called again
20684 // half the interval time after it finished. In contrast
20685 // g_timeout_add_full() would not fire until a full interval after the
20686 // function completes so the delay between calls would be 1.0 / @fps *
20687 // 1.5. This function does not however try to invoke the function
20688 // multiple times to catch up missing frames if @func takes more than
20689 // @interval ms to execute.
20690 // RETURNS: the ID (greater than 0) of the event source.
20691 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
20692 // <fps>: the number of times per second to call the function
20693 // <func>: function to call
20694 // <data>: data to pass to the function
20695 // <notify>: function to call when the timeout source is removed
20696 static uint frame_source_add_full(AT0)(int priority, uint fps, GLib2.SourceFunc func, AT0 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
20697 return clutter_frame_source_add_full(priority, fps, func, UpCast!(void*)(data), notify);
20700 enum int function_ = 2294;
20701 enum int g = 103;
20702 enum int gabovedot = 757;
20703 enum int gbreve = 699;
20704 enum int gcaron = 16777703;
20705 enum int gcedilla = 955;
20706 enum int gcircumflex = 760;
20708 // VERSION: 1.4
20709 // Returns whether Clutter has accessibility support enabled. As
20710 // least, a value of TRUE means that there are a proper AtkUtil
20711 // implementation available
20712 // RETURNS: %TRUE if Clutter has accessibility support enabled
20713 static int get_accessibility_enabled()() nothrow {
20714 return clutter_get_accessibility_enabled();
20718 // VERSION: 0.6
20719 // DEPRECATED (v1.8) function: get_actor_by_gid - The id is not used any longer.
20720 // Retrieves the #ClutterActor with @id_.
20722 // The returned actor does not have its reference count increased.
20723 // RETURNS: the actor with the passed id or %NULL.
20724 // <id_>: a #ClutterActor unique id.
20725 static Actor* get_actor_by_gid()(uint id_) nothrow {
20726 return clutter_get_actor_by_gid(id_);
20730 // VERSION: 1.2
20731 // If an event is currently being processed, return that event.
20732 // This function is intended to be used to access event state
20733 // that might not be exposed by higher-level widgets. For
20734 // example, to get the key modifier state from a Button 'clicked'
20735 // event.
20736 // RETURNS: The current ClutterEvent, or %NULL if none
20737 static Event* get_current_event()() nothrow {
20738 return clutter_get_current_event();
20742 // VERSION: 1.0
20743 // Retrieves the timestamp of the last event, if there is an
20744 // event or if the event has a timestamp.
20745 // RETURNS: the event timestamp, or %CLUTTER_CURRENT_TIME
20746 static uint get_current_event_time()() nothrow {
20747 return clutter_get_current_event_time();
20751 // DEPRECATED (v1.10) function: get_debug_enabled - This function does not do anything.
20752 // Check if Clutter has debugging enabled.
20753 // RETURNS: %FALSE
20754 static int get_debug_enabled()() nothrow {
20755 return clutter_get_debug_enabled();
20759 // VERSION: 0.4
20760 // Retrieves the default #ClutterBackend used by Clutter. The
20761 // #ClutterBackend holds backend-specific configuration options.
20763 // not ref or unref the returned object. Applications should rarely
20764 // need to use this.
20765 // RETURNS: the default backend. You should
20766 static Backend* get_default_backend()() nothrow {
20767 return clutter_get_default_backend();
20771 // VERSION: 0.6
20772 // Retrieves the default frame rate. See clutter_set_default_frame_rate().
20773 // RETURNS: the default frame rate
20774 static uint get_default_frame_rate()() nothrow {
20775 return clutter_get_default_frame_rate();
20779 // VERSION: 1.2
20780 // Retrieves the default direction for the text. The text direction is
20781 // determined by the locale and/or by the <varname>CLUTTER_TEXT_DIRECTION</varname>
20782 // environment variable.
20784 // The default text direction can be overridden on a per-actor basis by using
20785 // clutter_actor_set_text_direction().
20786 // RETURNS: the default text direction
20787 static TextDirection get_default_text_direction()() nothrow {
20788 return clutter_get_default_text_direction();
20792 // VERSION: 1.0
20793 // DEPRECATED (v1.10) function: get_font_flags - Use clutter_backend_get_font_options() and the
20794 // Gets the current font flags for rendering text. See
20795 // clutter_set_font_flags().
20799 // #cairo_font_options_t API.
20800 // RETURNS: The font flags
20801 static FontFlags get_font_flags()() nothrow {
20802 return clutter_get_font_flags();
20806 // VERSION: 1.0
20807 // Retrieves the #PangoFontMap instance used by Clutter.
20808 // You can use the global font map object with the COGL
20809 // Pango API.
20811 // value is owned by Clutter and it should never be unreferenced.
20812 // RETURNS: the #PangoFontMap instance. The returned
20813 static Pango.FontMap* get_font_map()() nothrow {
20814 return clutter_get_font_map();
20818 // VERSION: 0.8
20819 // DEPRECATED (v1.10) function: get_input_device_for_id - Use clutter_device_manager_get_device() instead.
20820 // Retrieves the #ClutterInputDevice from its @id_. This is a convenience
20821 // wrapper for clutter_device_manager_get_device() and it is functionally
20822 // equivalent to:
20824 // |[
20825 // ClutterDeviceManager *manager;
20826 // ClutterInputDevice *device;
20828 // manager = clutter_device_manager_get_default ();
20829 // device = clutter_device_manager_get_device (manager, id);
20830 // ]|
20831 // RETURNS: a #ClutterInputDevice, or %NULL
20832 // <id_>: the unique id for a device
20833 static InputDevice* get_input_device_for_id()(int id_) nothrow {
20834 return clutter_get_input_device_for_id(id_);
20838 // VERSION: 0.6
20839 // Queries the current keyboard grab of clutter.
20840 // RETURNS: the actor currently holding the keyboard grab, or NULL if there is no grab.
20841 static Actor* get_keyboard_grab()() nothrow {
20842 return clutter_get_keyboard_grab();
20846 // VERSION: 0.6
20847 // DEPRECATED (v1.8) function: get_motion_events_enabled - Use clutter_stage_get_motion_events_enabled() instead.
20848 // Gets whether the per-actor motion events are enabled.
20849 // RETURNS: %TRUE if the motion events are enabled
20850 static int get_motion_events_enabled()() nothrow {
20851 return clutter_get_motion_events_enabled();
20855 // Unintrospectable function: get_option_group() / clutter_get_option_group()
20856 // VERSION: 0.2
20857 // Returns a #GOptionGroup for the command line arguments recognized
20858 // by Clutter. You should add this group to your #GOptionContext with
20859 // g_option_context_add_group(), if you are using g_option_context_parse()
20860 // to parse your commandline arguments.
20862 // Calling g_option_context_parse() with Clutter's #GOptionGroup will result
20863 // in Clutter's initialization. That is, the following code:
20865 // |[
20866 // g_option_context_set_main_group (context, clutter_get_option_group ());
20867 // res = g_option_context_parse (context, &amp;argc, &amp;argc, NULL);
20868 // ]|
20870 // is functionally equivalent to:
20872 // |[
20873 // clutter_init (&amp;argc, &amp;argv);
20874 // ]|
20876 // After g_option_context_parse() on a #GOptionContext containing the
20877 // Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be
20878 // initialized.
20880 // recognized by Clutter
20881 // RETURNS: a #GOptionGroup for the commandline arguments
20882 static GLib2.OptionGroup* /*new*/ get_option_group()() nothrow {
20883 return clutter_get_option_group();
20887 // Unintrospectable function: get_option_group_without_init() / clutter_get_option_group_without_init()
20888 // VERSION: 0.8.2
20889 // Returns a #GOptionGroup for the command line arguments recognized
20890 // by Clutter. You should add this group to your #GOptionContext with
20891 // g_option_context_add_group(), if you are using g_option_context_parse()
20892 // to parse your commandline arguments.
20894 // Unlike clutter_get_option_group(), calling g_option_context_parse() with
20895 // the #GOptionGroup returned by this function requires a subsequent explicit
20896 // call to clutter_init(); use this function when needing to set foreign
20897 // display connection with clutter_x11_set_display(), or with
20898 // <function>gtk_clutter_init()</function>.
20900 // recognized by Clutter
20901 // RETURNS: a #GOptionGroup for the commandline arguments
20902 static GLib2.OptionGroup* /*new*/ get_option_group_without_init()() nothrow {
20903 return clutter_get_option_group_without_init();
20907 // VERSION: 0.6
20908 // Queries the current pointer grab of clutter.
20909 // RETURNS: the actor currently holding the pointer grab, or NULL if there is no grab.
20910 static Actor* get_pointer_grab()() nothrow {
20911 return clutter_get_pointer_grab();
20915 // VERSION: 0.6
20916 // Retrieves the Clutter script id, if any.
20918 // a UI definition file. The returned string is owned by the object and
20919 // should never be modified or freed.
20920 // RETURNS: the script id, or %NULL if @object was not defined inside
20921 // <gobject>: a #GObject
20922 static char* get_script_id(AT0)(AT0 /*GObject2.Object*/ gobject) nothrow {
20923 return clutter_get_script_id(UpCast!(GObject2.Object*)(gobject));
20927 // VERSION: 0.4
20928 // DEPRECATED (v1.10) function: get_show_fps - This function does not do anything. Use the environment
20929 // Returns whether Clutter should print out the frames per second on the
20930 // console. You can enable this setting either using the
20931 // <literal>CLUTTER_SHOW_FPS</literal> environment variable or passing
20932 // the <literal>--clutter-show-fps</literal> command line argument. *
20936 // variable or the configuration file to determine whether Clutter should
20937 // print out the FPS counter on the console.
20938 // RETURNS: %TRUE if Clutter should show the FPS.
20939 static int get_show_fps()() nothrow {
20940 return clutter_get_show_fps();
20944 // DEPRECATED (v1.10) function: get_timestamp - Use #GTimer or g_get_monotonic_time() for a proper
20945 // Returns the approximate number of microseconds passed since Clutter was
20946 // intialised.
20948 // This function shdould not be used by application code.
20950 // The output of this function depends on whether Clutter was configured to
20951 // enable its debugging code paths, so it's less useful than intended.
20953 // Since Clutter 1.10, this function is an alias to g_get_monotonic_time()
20954 // if Clutter was configured to enable the debugging code paths.
20956 // zero if Clutter was not configured with debugging code paths.
20958 // timing source
20959 // RETURNS: Number of microseconds since clutter_init() was called, or
20960 static c_ulong get_timestamp()() nothrow {
20961 return clutter_get_timestamp();
20965 // VERSION: 0.6
20966 // Grabs keyboard events, after the grab is done keyboard
20967 // events (#ClutterActor::key-press-event and #ClutterActor::key-release-event)
20968 // are delivered to this actor directly. The source set in the event will be
20969 // the actor that would have received the event if the keyboard grab was not
20970 // in effect.
20972 // Like pointer grabs, keyboard grabs should only be used as a last
20973 // resource.
20975 // See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus()
20976 // to perform a "soft" key grab and assign key focus to a specific actor.
20977 // <actor>: a #ClutterActor
20978 static void grab_keyboard(AT0)(AT0 /*Actor*/ actor) nothrow {
20979 clutter_grab_keyboard(UpCast!(Actor*)(actor));
20983 // VERSION: 0.6
20984 // Grabs pointer events, after the grab is done all pointer related events
20985 // (press, motion, release, enter, leave and scroll) are delivered to this
20986 // actor directly without passing through both capture and bubble phases of
20987 // the event delivery chain. The source set in the event will be the actor
20988 // that would have received the event if the pointer grab was not in effect.
20990 // <note><para>Grabs completely override the entire event delivery chain
20991 // done by Clutter. Pointer grabs should only be used as a last resource;
20992 // using the #ClutterActor::captured-event signal should always be the
20993 // preferred way to intercept event delivery to reactive actors.</para></note>
20995 // This function should rarely be used.
20997 // If a grab is required, you are strongly encouraged to use a specific
20998 // input device by calling clutter_input_device_grab().
20999 // <actor>: a #ClutterActor
21000 static void grab_pointer(AT0)(AT0 /*Actor*/ actor) nothrow {
21001 clutter_grab_pointer(UpCast!(Actor*)(actor));
21005 // VERSION: 0.8
21006 // DEPRECATED (v1.10) function: grab_pointer_for_device - Use clutter_input_device_grab() instead.
21007 // Grabs all the pointer events coming from the device @id for @actor.
21009 // If @id is -1 then this function is equivalent to clutter_grab_pointer().
21010 // <actor>: a #ClutterActor
21011 // <id_>: a device id, or -1
21012 static void grab_pointer_for_device(AT0)(AT0 /*Actor*/ actor, int id_) nothrow {
21013 clutter_grab_pointer_for_device(UpCast!(Actor*)(actor), id_);
21016 enum int grave = 96;
21017 enum int greater = 62;
21018 enum int greaterthanequal = 2238;
21019 enum int guillemotleft = 171;
21020 enum int guillemotright = 187;
21021 enum int h = 104;
21022 enum int hairspace = 2728;
21023 enum int hcircumflex = 694;
21024 enum int heart = 2798;
21025 enum int hebrew_aleph = 3296;
21026 enum int hebrew_ayin = 3314;
21027 enum int hebrew_bet = 3297;
21028 enum int hebrew_beth = 3297;
21029 enum int hebrew_chet = 3303;
21030 enum int hebrew_dalet = 3299;
21031 enum int hebrew_daleth = 3299;
21032 enum int hebrew_doublelowline = 3295;
21033 enum int hebrew_finalkaph = 3306;
21034 enum int hebrew_finalmem = 3309;
21035 enum int hebrew_finalnun = 3311;
21036 enum int hebrew_finalpe = 3315;
21037 enum int hebrew_finalzade = 3317;
21038 enum int hebrew_finalzadi = 3317;
21039 enum int hebrew_gimel = 3298;
21040 enum int hebrew_gimmel = 3298;
21041 enum int hebrew_he = 3300;
21042 enum int hebrew_het = 3303;
21043 enum int hebrew_kaph = 3307;
21044 enum int hebrew_kuf = 3319;
21045 enum int hebrew_lamed = 3308;
21046 enum int hebrew_mem = 3310;
21047 enum int hebrew_nun = 3312;
21048 enum int hebrew_pe = 3316;
21049 enum int hebrew_qoph = 3319;
21050 enum int hebrew_resh = 3320;
21051 enum int hebrew_samech = 3313;
21052 enum int hebrew_samekh = 3313;
21053 enum int hebrew_shin = 3321;
21054 enum int hebrew_taf = 3322;
21055 enum int hebrew_taw = 3322;
21056 enum int hebrew_tet = 3304;
21057 enum int hebrew_teth = 3304;
21058 enum int hebrew_waw = 3301;
21059 enum int hebrew_yod = 3305;
21060 enum int hebrew_zade = 3318;
21061 enum int hebrew_zadi = 3318;
21062 enum int hebrew_zain = 3302;
21063 enum int hebrew_zayin = 3302;
21064 enum int hexagram = 2778;
21065 enum int horizconnector = 2211;
21066 enum int horizlinescan1 = 2543;
21067 enum int horizlinescan3 = 2544;
21068 enum int horizlinescan5 = 2545;
21069 enum int horizlinescan7 = 2546;
21070 enum int horizlinescan9 = 2547;
21071 enum int hstroke = 689;
21072 enum int ht = 2530;
21073 enum int hyphen = 173;
21074 enum int i = 105;
21075 enum int iTouch = 269025120;
21076 enum int iacute = 237;
21077 enum int ibelowdot = 16785099;
21078 enum int ibreve = 16777517;
21079 enum int icircumflex = 238;
21080 enum int identical = 2255;
21081 enum int idiaeresis = 239;
21082 enum int idotless = 697;
21083 enum int ifonlyif = 2253;
21084 enum int igrave = 236;
21085 enum int ihook = 16785097;
21086 enum int imacron = 1007;
21087 enum int implies = 2254;
21088 enum int includedin = 2266;
21089 enum int includes = 2267;
21090 enum int infinity = 2242;
21092 // Initialises everything needed to operate with Clutter and parses some
21093 // standard command line options; @argc and @argv are adjusted accordingly
21094 // so your own code will never see those standard arguments.
21096 // It is safe to call this function multiple times.
21098 // <note>This function will not abort in case of errors during
21099 // initialization; clutter_init() will print out the error message on
21100 // stderr, and will return an error code. It is up to the application
21101 // code to handle this case. If you need to display the error message
21102 // yourself, you can use clutter_init_with_args(), which takes a #GError
21103 // pointer.</note>
21105 // If this function fails, and returns an error code, any subsequent
21106 // Clutter API will have undefined behaviour - including segmentation
21107 // faults and assertion failures. Make sure to handle the returned
21108 // #ClutterInitError enumeration value.
21109 // RETURNS: a #ClutterInitError value
21110 // <argc>: The number of arguments in @argv
21111 // <argv>: A pointer to an array of arguments.
21112 static InitError init(AT0)(/*inout*/ int* argc, /*inout*/ AT0 /*char***/ argv=null) nothrow {
21113 return clutter_init(argc, toCString!(char***)(argv));
21116 // MOVED TO: InitError.quark
21117 static GLib2.Quark init_error_quark()() nothrow {
21118 return clutter_init_error_quark();
21122 // VERSION: 0.2
21123 // This function does the same work as clutter_init(). Additionally,
21124 // it allows you to add your own command line options, and it
21125 // automatically generates nicely formatted <option>--help</option>
21126 // output. Note that your program will be terminated after writing
21127 // out the help output. Also note that, in case of error, the
21128 // error message will be placed inside @error instead of being
21129 // printed on the display.
21131 // Just like clutter_init(), if this function returns an error code then
21132 // any subsequent call to any other Clutter API will result in undefined
21133 // behaviour - including segmentation faults.
21135 // initialised, or other values or #ClutterInitError in case of
21136 // error.
21137 // RETURNS: %CLUTTER_INIT_SUCCESS if Clutter has been successfully
21138 // <argc>: a pointer to the number of command line arguments
21139 // <argv>: a pointer to the array of command line arguments
21140 // <parameter_string>: a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal>
21141 // <entries>: a %NULL terminated array of #GOptionEntry<!-- -->s describing the options of your program
21142 // <translation_domain>: a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL
21143 static InitError init_with_args(AT0, AT1, AT2, AT3, AT4)(/*inout*/ int* argc, /*inout*/ AT0 /*char***/ argv, AT1 /*char*/ parameter_string, AT2 /*GLib2.OptionEntry*/ entries, AT3 /*char*/ translation_domain, AT4 /*GLib2.Error**/ error=null) nothrow {
21144 return clutter_init_with_args(argc, toCString!(char***)(argv), toCString!(char*)(parameter_string), UpCast!(GLib2.OptionEntry*)(entries), toCString!(char*)(translation_domain), UpCast!(GLib2.Error**)(error));
21147 enum int integral = 2239;
21148 enum int intersection = 2268;
21149 enum int iogonek = 999;
21150 enum int itilde = 949;
21151 enum int j = 106;
21152 enum int jcircumflex = 700;
21153 enum int jot = 3018;
21154 enum int k = 107;
21155 enum int kana_A = 1201;
21156 enum int kana_CHI = 1217;
21157 enum int kana_E = 1204;
21158 enum int kana_FU = 1228;
21159 enum int kana_HA = 1226;
21160 enum int kana_HE = 1229;
21161 enum int kana_HI = 1227;
21162 enum int kana_HO = 1230;
21163 enum int kana_HU = 1228;
21164 enum int kana_I = 1202;
21165 enum int kana_KA = 1206;
21166 enum int kana_KE = 1209;
21167 enum int kana_KI = 1207;
21168 enum int kana_KO = 1210;
21169 enum int kana_KU = 1208;
21170 enum int kana_MA = 1231;
21171 enum int kana_ME = 1234;
21172 enum int kana_MI = 1232;
21173 enum int kana_MO = 1235;
21174 enum int kana_MU = 1233;
21175 enum int kana_N = 1245;
21176 enum int kana_NA = 1221;
21177 enum int kana_NE = 1224;
21178 enum int kana_NI = 1222;
21179 enum int kana_NO = 1225;
21180 enum int kana_NU = 1223;
21181 enum int kana_O = 1205;
21182 enum int kana_RA = 1239;
21183 enum int kana_RE = 1242;
21184 enum int kana_RI = 1240;
21185 enum int kana_RO = 1243;
21186 enum int kana_RU = 1241;
21187 enum int kana_SA = 1211;
21188 enum int kana_SE = 1214;
21189 enum int kana_SHI = 1212;
21190 enum int kana_SO = 1215;
21191 enum int kana_SU = 1213;
21192 enum int kana_TA = 1216;
21193 enum int kana_TE = 1219;
21194 enum int kana_TI = 1217;
21195 enum int kana_TO = 1220;
21196 enum int kana_TSU = 1218;
21197 enum int kana_TU = 1218;
21198 enum int kana_U = 1203;
21199 enum int kana_WA = 1244;
21200 enum int kana_WO = 1190;
21201 enum int kana_YA = 1236;
21202 enum int kana_YO = 1238;
21203 enum int kana_YU = 1237;
21204 enum int kana_a = 1191;
21205 enum int kana_closingbracket = 1187;
21206 enum int kana_comma = 1188;
21207 enum int kana_conjunctive = 1189;
21208 enum int kana_e = 1194;
21209 enum int kana_fullstop = 1185;
21210 enum int kana_i = 1192;
21211 enum int kana_middledot = 1189;
21212 enum int kana_o = 1195;
21213 enum int kana_openingbracket = 1186;
21214 enum int kana_switch = 65406;
21215 enum int kana_tsu = 1199;
21216 enum int kana_tu = 1199;
21217 enum int kana_u = 1193;
21218 enum int kana_ya = 1196;
21219 enum int kana_yo = 1198;
21220 enum int kana_yu = 1197;
21221 enum int kappa = 930;
21222 enum int kcedilla = 1011;
21224 // Converts @keyval from a Clutter key symbol to the corresponding
21225 // ISO10646 (Unicode) character.
21227 // character.
21228 // RETURNS: a Unicode character, or 0 if there is no corresponding
21229 // <keyval>: a key symbol
21230 static uint keysym_to_unicode()(uint keyval) nothrow {
21231 return clutter_keysym_to_unicode(keyval);
21234 enum int kra = 930;
21235 enum int l = 108;
21236 enum int lacute = 485;
21237 enum int latincross = 2777;
21238 enum int lbelowdot = 16784951;
21239 enum int lcaron = 437;
21240 enum int lcedilla = 950;
21241 enum int leftanglebracket = 2748;
21242 enum int leftarrow = 2299;
21243 enum int leftcaret = 2979;
21244 enum int leftdoublequotemark = 2770;
21245 enum int leftmiddlecurlybrace = 2223;
21246 enum int leftopentriangle = 2764;
21247 enum int leftpointer = 2794;
21248 enum int leftradical = 2209;
21249 enum int leftshoe = 3034;
21250 enum int leftsinglequotemark = 2768;
21251 enum int leftt = 2548;
21252 enum int lefttack = 3036;
21253 enum int less = 60;
21254 enum int lessthanequal = 2236;
21255 enum int lf = 2533;
21256 enum int logicaland = 2270;
21257 enum int logicalor = 2271;
21258 enum int lowleftcorner = 2541;
21259 enum int lowrightcorner = 2538;
21260 enum int lstroke = 435;
21261 enum int m = 109;
21262 enum int mabovedot = 16784961;
21263 enum int macron = 175;
21264 // Starts the Clutter mainloop.
21265 static void main_()() nothrow {
21266 clutter_main();
21270 // Retrieves the depth of the Clutter mainloop.
21271 // RETURNS: The level of the mainloop.
21272 static int main_level()() nothrow {
21273 return clutter_main_level();
21276 // Terminates the Clutter mainloop.
21277 static void main_quit()() nothrow {
21278 clutter_main_quit();
21281 enum int malesymbol = 2807;
21282 enum int maltesecross = 2800;
21283 enum int marker = 2751;
21284 enum int masculine = 186;
21285 enum int minus = 45;
21286 enum int minutes = 2774;
21287 enum int mu = 181;
21288 enum int multiply = 215;
21289 enum int musicalflat = 2806;
21290 enum int musicalsharp = 2805;
21291 enum int n = 110;
21292 enum int nabla = 2245;
21293 enum int nacute = 497;
21294 enum int ncaron = 498;
21295 enum int ncedilla = 1009;
21296 enum int ninesubscript = 16785545;
21297 enum int ninesuperior = 16785529;
21298 enum int nl = 2536;
21299 enum int nobreakspace = 160;
21300 enum int notapproxeq = 16785991;
21301 enum int notelementof = 16785929;
21302 enum int notequal = 2237;
21303 enum int notidentical = 16786018;
21304 enum int notsign = 172;
21305 enum int ntilde = 241;
21306 enum int numbersign = 35;
21307 enum int numerosign = 1712;
21308 enum int o = 111;
21309 enum int oacute = 243;
21310 enum int obarred = 16777845;
21311 enum int obelowdot = 16785101;
21312 enum int ocaron = 16777682;
21313 enum int ocircumflex = 244;
21314 enum int ocircumflexacute = 16785105;
21315 enum int ocircumflexbelowdot = 16785113;
21316 enum int ocircumflexgrave = 16785107;
21317 enum int ocircumflexhook = 16785109;
21318 enum int ocircumflextilde = 16785111;
21319 enum int odiaeresis = 246;
21320 enum int odoubleacute = 501;
21321 enum int oe = 5053;
21322 enum int ogonek = 434;
21323 enum int ograve = 242;
21324 enum int ohook = 16785103;
21325 enum int ohorn = 16777633;
21326 enum int ohornacute = 16785115;
21327 enum int ohornbelowdot = 16785123;
21328 enum int ohorngrave = 16785117;
21329 enum int ohornhook = 16785119;
21330 enum int ohorntilde = 16785121;
21331 enum int omacron = 1010;
21332 enum int oneeighth = 2755;
21333 enum int onefifth = 2738;
21334 enum int onehalf = 189;
21335 enum int onequarter = 188;
21336 enum int onesixth = 2742;
21337 enum int onesubscript = 16785537;
21338 enum int onesuperior = 185;
21339 enum int onethird = 2736;
21340 enum int ooblique = 248;
21341 enum int openrectbullet = 2786;
21342 enum int openstar = 2789;
21343 enum int opentribulletdown = 2788;
21344 enum int opentribulletup = 2787;
21345 enum int ordfeminine = 170;
21346 enum int oslash = 248;
21347 enum int otilde = 245;
21348 enum int overbar = 3008;
21349 enum int overline = 1150;
21350 enum int p = 112;
21351 enum int pabovedot = 16784983;
21352 enum int paragraph = 182;
21354 // Unintrospectable function: param_spec_color() / clutter_param_spec_color()
21355 // VERSION: 0.8.4
21356 // Creates a #GParamSpec for properties using #ClutterColor.
21357 // RETURNS: the newly created #GParamSpec
21358 // <name>: name of the property
21359 // <nick>: short name
21360 // <blurb>: description (can be translatable)
21361 // <default_value>: default value
21362 // <flags>: flags for the param spec
21363 static GObject2.ParamSpec* param_spec_color(AT0, AT1, AT2, AT3)(AT0 /*char*/ name, AT1 /*char*/ nick, AT2 /*char*/ blurb, AT3 /*Color*/ default_value, GObject2.ParamFlags flags) nothrow {
21364 return clutter_param_spec_color(toCString!(char*)(name), toCString!(char*)(nick), toCString!(char*)(blurb), UpCast!(Color*)(default_value), flags);
21368 // Unintrospectable function: param_spec_fixed() / clutter_param_spec_fixed()
21369 // VERSION: 0.8
21370 // DEPRECATED (v1.10) function: param_spec_fixed - Use #GParamSpecInt instead.
21371 // Creates a #GParamSpec for properties using #CoglFixed values
21372 // RETURNS: the newly created #GParamSpec
21373 // <name>: name of the property
21374 // <nick>: short name
21375 // <blurb>: description (can be translatable)
21376 // <minimum>: lower boundary
21377 // <maximum>: higher boundary
21378 // <default_value>: default value
21379 // <flags>: flags for the param spec
21380 static GObject2.ParamSpec* /*new*/ param_spec_fixed(AT0, AT1, AT2)(AT0 /*char*/ name, AT1 /*char*/ nick, AT2 /*char*/ blurb, Cogl.Fixed minimum, Cogl.Fixed maximum, Cogl.Fixed default_value, GObject2.ParamFlags flags) nothrow {
21381 return clutter_param_spec_fixed(toCString!(char*)(name), toCString!(char*)(nick), toCString!(char*)(blurb), minimum, maximum, default_value, flags);
21385 // Unintrospectable function: param_spec_units() / clutter_param_spec_units()
21386 // VERSION: 1.0
21387 // Creates a #GParamSpec for properties using #ClutterUnits.
21388 // RETURNS: the newly created #GParamSpec
21389 // <name>: name of the property
21390 // <nick>: short name
21391 // <blurb>: description (can be translatable)
21392 // <default_type>: the default type for the #ClutterUnits
21393 // <minimum>: lower boundary
21394 // <maximum>: higher boundary
21395 // <default_value>: default value
21396 // <flags>: flags for the param spec
21397 static GObject2.ParamSpec* param_spec_units(AT0, AT1, AT2)(AT0 /*char*/ name, AT1 /*char*/ nick, AT2 /*char*/ blurb, UnitType default_type, float minimum, float maximum, float default_value, GObject2.ParamFlags flags) nothrow {
21398 return clutter_param_spec_units(toCString!(char*)(name), toCString!(char*)(nick), toCString!(char*)(blurb), default_type, minimum, maximum, default_value, flags);
21401 enum int parenleft = 40;
21402 enum int parenright = 41;
21403 enum int partdifferential = 16785922;
21404 enum int partialderivative = 2287;
21405 enum int percent = 37;
21406 enum int period = 46;
21407 enum int periodcentered = 183;
21408 enum int phonographcopyright = 2811;
21409 enum int plus = 43;
21410 enum int plusminus = 177;
21411 enum int prescription = 2772;
21412 enum int prolongedsound = 1200;
21413 enum int punctspace = 2726;
21414 enum int q = 113;
21415 enum int quad = 3020;
21416 enum int question = 63;
21417 enum int questiondown = 191;
21418 enum int quotedbl = 34;
21419 enum int quoteleft = 96;
21420 enum int quoteright = 39;
21421 enum int r = 114;
21422 enum int racute = 480;
21423 enum int radical = 2262;
21424 enum int rcaron = 504;
21425 enum int rcedilla = 947;
21427 // DEPRECATED (v1.10) function: redraw - Use clutter_stage_ensure_redraw() instead.
21428 // Forces a redraw of the entire stage. Applications should never use this
21429 // function, but queue a redraw using clutter_actor_queue_redraw().
21431 // This function should only be used by libraries integrating Clutter from
21432 // within another toolkit.
21433 static void redraw(AT0)(AT0 /*Stage*/ stage) nothrow {
21434 clutter_redraw(UpCast!(Stage*)(stage));
21437 enum int registered = 174;
21438 enum int rightanglebracket = 2750;
21439 enum int rightarrow = 2301;
21440 enum int rightcaret = 2982;
21441 enum int rightdoublequotemark = 2771;
21442 enum int rightmiddlecurlybrace = 2224;
21443 enum int rightmiddlesummation = 2231;
21444 enum int rightopentriangle = 2765;
21445 enum int rightpointer = 2795;
21446 enum int rightshoe = 3032;
21447 enum int rightsinglequotemark = 2769;
21448 enum int rightt = 2549;
21449 enum int righttack = 3068;
21450 enum int s = 115;
21451 enum int sabovedot = 16784993;
21452 enum int sacute = 438;
21453 enum int scaron = 441;
21454 enum int scedilla = 442;
21455 enum int schwa = 16777817;
21456 enum int scircumflex = 766;
21457 // MOVED TO: ScriptError.quark
21458 static GLib2.Quark script_error_quark()() nothrow {
21459 return clutter_script_error_quark();
21462 enum int script_switch = 65406;
21463 enum int seconds = 2775;
21464 enum int section = 167;
21465 enum int semicolon = 59;
21466 enum int semivoicedsound = 1247;
21468 // VERSION: 0.6
21469 // DEPRECATED (v1.10) function: set_default_frame_rate - This function does not do anything any more.
21470 // Sets the default frame rate. This frame rate will be used to limit
21471 // the number of frames drawn if Clutter is not able to synchronize
21472 // with the vertical refresh rate of the display. When synchronization
21473 // is possible, this value is ignored.
21474 // <frames_per_sec>: the new default frame rate
21475 static void set_default_frame_rate()(uint frames_per_sec) nothrow {
21476 clutter_set_default_frame_rate(frames_per_sec);
21480 // VERSION: 1.0
21481 // DEPRECATED (v1.10) function: set_font_flags - Use clutter_backend_set_font_options() and the
21482 // Sets the font quality options for subsequent text rendering
21483 // operations.
21485 // Using mipmapped textures will improve the quality for scaled down
21486 // text but will use more texture memory.
21488 // Enabling hinting improves text quality for static text but may
21489 // introduce some artifacts if the text is animated.
21492 // #cairo_font_option_t API.
21493 // <flags>: The new flags
21494 static void set_font_flags()(FontFlags flags) nothrow {
21495 clutter_set_font_flags(flags);
21499 // VERSION: 0.6
21500 // DEPRECATED (v1.8) function: set_motion_events_enabled - Use clutter_stage_set_motion_events_enabled() instead.
21501 // Sets whether per-actor motion events should be enabled or not on
21502 // all #ClutterStage<!-- -->s managed by Clutter.
21504 // If @enable is %FALSE the following events will not work:
21505 // <itemizedlist>
21506 // <listitem><para>ClutterActor::motion-event, unless on the
21507 // #ClutterStage</para></listitem>
21508 // <listitem><para>ClutterActor::enter-event</para></listitem>
21509 // <listitem><para>ClutterActor::leave-event</para></listitem>
21510 // </itemizedlist>
21511 // <enable>: %TRUE to enable per-actor motion events
21512 static void set_motion_events_enabled()(int enable) nothrow {
21513 clutter_set_motion_events_enabled(enable);
21516 enum int seveneighths = 2758;
21517 enum int sevensubscript = 16785543;
21518 enum int sevensuperior = 16785527;
21519 enum int signaturemark = 2762;
21520 enum int signifblank = 2732;
21521 enum int similarequal = 2249;
21522 enum int singlelowquotemark = 2813;
21523 enum int sixsubscript = 16785542;
21524 enum int sixsuperior = 16785526;
21525 enum int slash = 47;
21526 enum int soliddiamond = 2528;
21527 enum int space = 32;
21528 enum int squareroot = 16785946;
21529 enum int ssharp = 223;
21530 enum int sterling = 163;
21531 enum int stricteq = 16786019;
21532 enum int t = 116;
21533 enum int tabovedot = 16785003;
21534 enum int tcaron = 443;
21535 enum int tcedilla = 510;
21536 enum int telephone = 2809;
21537 enum int telephonerecorder = 2810;
21538 // MOVED TO: TextureError.quark
21539 static GLib2.Quark texture_error_quark()() nothrow {
21540 return clutter_texture_error_quark();
21543 enum int therefore = 2240;
21544 enum int thinspace = 2727;
21545 enum int thorn = 254;
21547 // Unintrospectable function: threads_add_frame_source() / clutter_threads_add_frame_source()
21548 // VERSION: 0.8
21549 // DEPRECATED function: threads_add_frame_source - 1.6
21550 // Simple wrapper around clutter_threads_add_frame_source_full().
21551 // RETURNS: the ID (greater than 0) of the event source.
21552 // <fps>: the number of times per second to call the function
21553 // <func>: function to call
21554 // <data>: data to pass to the function
21555 static uint threads_add_frame_source(AT0)(uint fps, GLib2.SourceFunc func, AT0 /*void*/ data) nothrow {
21556 return clutter_threads_add_frame_source(fps, func, UpCast!(void*)(data));
21560 // VERSION: 0.8
21561 // DEPRECATED function: threads_add_frame_source_full - 1.6
21562 // Sets a function to be called at regular intervals holding the Clutter
21563 // threads lock, with the given priority. The function is called repeatedly
21564 // until it returns %FALSE, at which point the timeout is automatically
21565 // removed and the function will not be called again. The @notify function
21566 // is called when the timeout is removed.
21568 // This function is similar to clutter_threads_add_timeout_full()
21569 // except that it will try to compensate for delays. For example, if
21570 // @func takes half the interval time to execute then the function
21571 // will be called again half the interval time after it finished. In
21572 // contrast clutter_threads_add_timeout_full() would not fire until a
21573 // full interval after the function completes so the delay between
21574 // calls would be @interval * 1.5. This function does not however try
21575 // to invoke the function multiple times to catch up missing frames if
21576 // @func takes more than @interval ms to execute.
21578 // See also clutter_threads_add_idle_full().
21579 // RETURNS: the ID (greater than 0) of the event source.
21580 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
21581 // <fps>: the number of times per second to call the function
21582 // <func>: function to call
21583 // <data>: data to pass to the function
21584 // <notify>: function to call when the timeout source is removed
21585 static uint threads_add_frame_source_full(AT0)(int priority, uint fps, GLib2.SourceFunc func, AT0 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
21586 return clutter_threads_add_frame_source_full(priority, fps, func, UpCast!(void*)(data), notify);
21590 // Unintrospectable function: threads_add_idle() / clutter_threads_add_idle()
21591 // VERSION: 0.4
21592 // Simple wrapper around clutter_threads_add_idle_full() using the
21593 // default priority.
21594 // RETURNS: the ID (greater than 0) of the event source.
21595 // <func>: function to call
21596 // <data>: data to pass to the function
21597 static uint threads_add_idle(AT0)(GLib2.SourceFunc func, AT0 /*void*/ data) nothrow {
21598 return clutter_threads_add_idle(func, UpCast!(void*)(data));
21602 // VERSION: 0.4
21603 // Adds a function to be called whenever there are no higher priority
21604 // events pending. If the function returns %FALSE it is automatically
21605 // removed from the list of event sources and will not be called again.
21607 // This function can be considered a thread-safe variant of g_idle_add_full():
21608 // it will call @function while holding the Clutter lock. It is logically
21609 // equivalent to the following implementation:
21611 // |[
21612 // static gboolean
21613 // idle_safe_callback (gpointer data)
21614 // {
21615 // SafeClosure *closure = data;
21616 // gboolean res = FALSE;
21618 // /&ast; mark the critical section &ast;/
21620 // clutter_threads_enter();
21622 // /&ast; the callback does not need to acquire the Clutter
21623 // &ast; lock itself, as it is held by the this proxy handler
21624 // &ast;/
21625 // res = closure->callback (closure->data);
21627 // clutter_threads_leave();
21629 // return res;
21630 // }
21631 // static gulong
21632 // add_safe_idle (GSourceFunc callback,
21633 // gpointer data)
21634 // {
21635 // SafeClosure *closure = g_new0 (SafeClosure, 1);
21637 // closure-&gt;callback = callback;
21638 // closure-&gt;data = data;
21640 // return g_idle_add_full (G_PRIORITY_DEFAULT_IDLE,
21641 // idle_safe_callback,
21642 // closure,
21643 // g_free)
21644 // }
21645 // ]|
21647 // This function should be used by threaded applications to make sure
21648 // that @func is emitted under the Clutter threads lock and invoked
21649 // from the same thread that started the Clutter main loop. For instance,
21650 // it can be used to update the UI using the results from a worker
21651 // thread:
21653 // |[
21654 // static gboolean
21655 // update_ui (gpointer data)
21656 // {
21657 // SomeClosure *closure = data;
21659 // /&ast; it is safe to call Clutter API from this function because
21660 // &ast; it is invoked from the same thread that started the main
21661 // &ast; loop and under the Clutter thread lock
21662 // &ast;/
21663 // clutter_label_set_text (CLUTTER_LABEL (closure-&gt;label),
21664 // closure-&gt;text);
21666 // g_object_unref (closure-&gt;label);
21667 // g_free (closure);
21669 // return FALSE;
21670 // }
21672 // /&ast; within another thread &ast;/
21673 // closure = g_new0 (SomeClosure, 1);
21674 // /&ast; always take a reference on GObject instances &ast;/
21675 // closure-&gt;label = g_object_ref (my_application-&gt;label);
21676 // closure-&gt;text = g_strdup (processed_text_to_update_the_label);
21678 // clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
21679 // update_ui,
21680 // closure,
21681 // NULL);
21682 // ]|
21683 // RETURNS: the ID (greater than 0) of the event source.
21684 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE
21685 // <func>: function to call
21686 // <data>: data to pass to the function
21687 // <notify>: functio to call when the idle source is removed
21688 static uint threads_add_idle_full(AT0)(int priority, GLib2.SourceFunc func, AT0 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
21689 return clutter_threads_add_idle_full(priority, func, UpCast!(void*)(data), notify);
21693 // VERSION: 1.0
21694 // Adds a function to be called whenever Clutter is repainting a Stage.
21695 // If the function returns %FALSE it is automatically removed from the
21696 // list of repaint functions and will not be called again.
21698 // This function is guaranteed to be called from within the same thread
21699 // that called clutter_main(), and while the Clutter lock is being held.
21701 // A repaint function is useful to ensure that an update of the scenegraph
21702 // is performed before the scenegraph is repainted; for instance, uploading
21703 // a frame from a video into a #ClutterTexture.
21705 // When the repaint function is removed (either because it returned %FALSE
21706 // or because clutter_threads_remove_repaint_func() has been called) the
21707 // @notify function will be called, if any is set.
21709 // can use the returned integer to remove the repaint function by
21710 // calling clutter_threads_remove_repaint_func().
21711 // RETURNS: the ID (greater than 0) of the repaint function. You
21712 // <func>: the function to be called within the paint cycle
21713 // <data>: data to be passed to the function, or %NULL
21714 // <notify>: function to be called when removing the repaint function, or %NULL
21715 static uint threads_add_repaint_func(AT0)(GLib2.SourceFunc func, AT0 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
21716 return clutter_threads_add_repaint_func(func, UpCast!(void*)(data), notify);
21720 // Unintrospectable function: threads_add_timeout() / clutter_threads_add_timeout()
21721 // VERSION: 0.4
21722 // Simple wrapper around clutter_threads_add_timeout_full().
21723 // RETURNS: the ID (greater than 0) of the event source.
21724 // <interval>: the time between calls to the function, in milliseconds
21725 // <func>: function to call
21726 // <data>: data to pass to the function
21727 static uint threads_add_timeout(AT0)(uint interval, GLib2.SourceFunc func, AT0 /*void*/ data) nothrow {
21728 return clutter_threads_add_timeout(interval, func, UpCast!(void*)(data));
21732 // VERSION: 0.4
21733 // Sets a function to be called at regular intervals holding the Clutter
21734 // threads lock, with the given priority. The function is called repeatedly
21735 // until it returns %FALSE, at which point the timeout is automatically
21736 // removed and the function will not be called again. The @notify function
21737 // is called when the timeout is removed.
21739 // The first call to the function will be at the end of the first @interval.
21741 // It is important to note that, due to how the Clutter main loop is
21742 // implemented, the timing will not be accurate and it will not try to
21743 // "keep up" with the interval.
21745 // See also clutter_threads_add_idle_full().
21746 // RETURNS: the ID (greater than 0) of the event source.
21747 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
21748 // <interval>: the time between calls to the function, in milliseconds
21749 // <func>: function to call
21750 // <data>: data to pass to the function
21751 // <notify>: function to call when the timeout source is removed
21752 static uint threads_add_timeout_full(AT0)(int priority, uint interval, GLib2.SourceFunc func, AT0 /*void*/ data, GLib2.DestroyNotify notify) nothrow {
21753 return clutter_threads_add_timeout_full(priority, interval, func, UpCast!(void*)(data), notify);
21757 // VERSION: 0.4
21758 // Locks the Clutter thread lock.
21759 static void threads_enter()() nothrow {
21760 clutter_threads_enter();
21764 // VERSION: 0.4
21765 // DEPRECATED (v1.10) function: threads_init - This function does not do anything. Threading support
21766 // Initialises the Clutter threading mechanism, so that Clutter API can be
21767 // called by multiple threads, using clutter_threads_enter() and
21768 // clutter_threads_leave() to mark the critical sections.
21770 // You must call g_thread_init() before this function.
21772 // This function must be called before clutter_init().
21774 // It is safe to call this function multiple times.
21777 // is initialized when Clutter is initialized.
21778 static void threads_init()() nothrow {
21779 clutter_threads_init();
21783 // VERSION: 0.4
21784 // Unlocks the Clutter thread lock.
21785 static void threads_leave()() nothrow {
21786 clutter_threads_leave();
21790 // VERSION: 1.0
21791 // Removes the repaint function with @handle_id as its id
21792 // <handle_id>: an unsigned integer greater than zero
21793 static void threads_remove_repaint_func()(uint handle_id) nothrow {
21794 clutter_threads_remove_repaint_func(handle_id);
21798 // Unintrospectable function: threads_set_lock_functions() / clutter_threads_set_lock_functions()
21799 // VERSION: 0.4
21800 // Allows the application to replace the standard method that
21801 // Clutter uses to protect its data structures. Normally, Clutter
21802 // creates a single #GMutex that is locked by clutter_threads_enter(),
21803 // and released by clutter_threads_leave(); using this function an
21804 // application provides, instead, a function @enter_fn that is
21805 // called by clutter_threads_enter() and a function @leave_fn that is
21806 // called by clutter_threads_leave().
21808 // The functions must provide at least same locking functionality
21809 // as the default implementation, but can also do extra application
21810 // specific processing.
21812 // As an example, consider an application that has its own recursive
21813 // lock that when held, holds the Clutter lock as well. When Clutter
21814 // unlocks the Clutter lock when entering a recursive main loop, the
21815 // application must temporarily release its lock as well.
21817 // Most threaded Clutter apps won't need to use this method.
21819 // This method must be called before clutter_init(), and cannot
21820 // be called multiple times.
21821 // <enter_fn>: function called when aquiring the Clutter main lock
21822 // <leave_fn>: function called when releasing the Clutter main lock
21823 static void threads_set_lock_functions()(GObject2.Callback enter_fn, GObject2.Callback leave_fn) nothrow {
21824 clutter_threads_set_lock_functions(enter_fn, leave_fn);
21827 enum int threeeighths = 2756;
21828 enum int threefifths = 2740;
21829 enum int threequarters = 190;
21830 enum int threesubscript = 16785539;
21831 enum int threesuperior = 179;
21833 // Unintrospectable function: timeout_pool_new() / clutter_timeout_pool_new()
21834 // VERSION: 0.4
21835 // DEPRECATED function: timeout_pool_new - 1.6
21836 // MOVED TO: TimeoutPool.new
21837 // Creates a new timeout pool source. A timeout pool should be used when
21838 // multiple timeout functions, running at the same priority, are needed and
21839 // the g_timeout_add() API might lead to starvation of the time slice of
21840 // the main loop. A timeout pool allocates a single time slice of the main
21841 // loop and runs every timeout function inside it. The timeout pool is
21842 // always sorted, so that the extraction of the next timeout function is
21843 // a constant time operation.
21845 // is owned by the GLib default context and will be automatically
21846 // destroyed when the context is destroyed. It is possible to force
21847 // the destruction of the timeout pool using g_source_destroy()
21848 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
21849 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
21850 static TimeoutPool* timeout_pool_new()(int priority) nothrow {
21851 return clutter_timeout_pool_new(priority);
21854 enum int tintegral = 16785965;
21855 enum int topintegral = 2212;
21856 enum int topleftparens = 2219;
21857 enum int topleftradical = 2210;
21858 enum int topleftsqbracket = 2215;
21859 enum int topleftsummation = 2225;
21860 enum int toprightparens = 2221;
21861 enum int toprightsqbracket = 2217;
21862 enum int toprightsummation = 2229;
21863 enum int topt = 2551;
21864 enum int topvertsummationconnector = 2227;
21865 enum int trademark = 2761;
21866 enum int trademarkincircle = 2763;
21867 enum int tslash = 956;
21868 enum int twofifths = 2739;
21869 enum int twosubscript = 16785538;
21870 enum int twosuperior = 178;
21871 enum int twothirds = 2737;
21872 enum int u = 117;
21873 enum int uacute = 250;
21874 enum int ubelowdot = 16785125;
21875 enum int ubreve = 765;
21876 enum int ucircumflex = 251;
21877 enum int udiaeresis = 252;
21878 enum int udoubleacute = 507;
21879 enum int ugrave = 249;
21880 enum int uhook = 16785127;
21881 enum int uhorn = 16777648;
21882 enum int uhornacute = 16785129;
21883 enum int uhornbelowdot = 16785137;
21884 enum int uhorngrave = 16785131;
21885 enum int uhornhook = 16785133;
21886 enum int uhorntilde = 16785135;
21887 enum int umacron = 1022;
21888 enum int underbar = 3014;
21889 enum int underscore = 95;
21891 // VERSION: 0.6
21892 // Removes an existing grab of the keyboard.
21893 static void ungrab_keyboard()() nothrow {
21894 clutter_ungrab_keyboard();
21898 // VERSION: 0.6
21899 // Removes an existing grab of the pointer.
21900 static void ungrab_pointer()() nothrow {
21901 clutter_ungrab_pointer();
21905 // VERSION: 0.8
21906 // DEPRECATED (v1.10) function: ungrab_pointer_for_device - Use clutter_input_device_ungrab() instead.
21907 // Removes an existing grab of the pointer events for device @id_.
21908 // <id_>: a device id
21909 static void ungrab_pointer_for_device()(int id_) nothrow {
21910 clutter_ungrab_pointer_for_device(id_);
21914 // VERSION: 1.10
21915 // Convert from a ISO10646 character to a key symbol.
21917 // or, if there is no corresponding symbol, wc | 0x01000000
21918 // RETURNS: the corresponding Clutter key symbol, if one exists.
21919 // <wc>: a ISO10646 encoded character
21920 static uint unicode_to_keysym()(uint wc) nothrow {
21921 return clutter_unicode_to_keysym(wc);
21924 enum int union_ = 2269;
21925 enum int uogonek = 1017;
21926 enum int uparrow = 2300;
21927 enum int upcaret = 2985;
21928 enum int upleftcorner = 2540;
21929 enum int uprightcorner = 2539;
21930 enum int upshoe = 3011;
21931 enum int upstile = 3027;
21932 enum int uptack = 3022;
21933 enum int uring = 505;
21935 // DEPRECATED function: util_next_p2 - 1.2
21936 // Calculates the nearest power of two, greater than or equal to @a.
21937 // RETURNS: The nearest power of two, greater or equal to @a.
21938 // <a>: Value to get the next power
21939 static int util_next_p2()(int a) nothrow {
21940 return clutter_util_next_p2(a);
21943 enum int utilde = 1021;
21944 enum int v = 118;
21946 // VERSION: 0.8.4
21947 // Gets the #ClutterColor contained in @value.
21948 // RETURNS: the color inside the passed #GValue
21949 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
21950 static Color* value_get_color(AT0)(AT0 /*GObject2.Value*/ value) nothrow {
21951 return clutter_value_get_color(UpCast!(GObject2.Value*)(value));
21955 // Unintrospectable function: value_get_fixed() / clutter_value_get_fixed()
21956 // VERSION: 0.8
21957 // DEPRECATED (v1.10) function: value_get_fixed - Use g_value_get_int() instead.
21958 // Gets the fixed point value stored inside @value.
21959 // RETURNS: the value inside the passed #GValue
21960 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
21961 static Cogl.Fixed value_get_fixed(AT0)(AT0 /*GObject2.Value*/ value) nothrow {
21962 return clutter_value_get_fixed(UpCast!(GObject2.Value*)(value));
21966 // VERSION: 0.8
21967 // Retrieves the list of floating point values stored inside
21968 // the passed #GValue. @value must have been initialized with
21969 // %CLUTTER_TYPE_SHADER_FLOAT.
21971 // The returned value is owned by the #GValue and should never
21972 // be modified or freed.
21973 // RETURNS: the pointer to a list of floating point values.
21974 // <value>: a #GValue
21975 // <length>: return location for the number of returned floating point values, or %NULL
21976 static float* value_get_shader_float(AT0, AT1)(AT0 /*GObject2.Value*/ value, AT1 /*size_t*/ length) nothrow {
21977 return clutter_value_get_shader_float(UpCast!(GObject2.Value*)(value), UpCast!(size_t*)(length));
21981 // VERSION: 0.8
21982 // Retrieves the list of integer values stored inside the passed
21983 // #GValue. @value must have been initialized with
21984 // %CLUTTER_TYPE_SHADER_INT.
21986 // The returned value is owned by the #GValue and should never
21987 // be modified or freed.
21988 // RETURNS: the pointer to a list of integer values.
21989 // <value>: a #GValue
21990 // <length>: return location for the number of returned integer values, or %NULL
21991 static int* value_get_shader_int(AT0, AT1)(AT0 /*GObject2.Value*/ value, AT1 /*size_t*/ length) nothrow {
21992 return clutter_value_get_shader_int(UpCast!(GObject2.Value*)(value), UpCast!(size_t*)(length));
21996 // VERSION: 0.8
21997 // Retrieves a matrix of floating point values stored inside
21998 // the passed #GValue. @value must have been initialized with
21999 // %CLUTTER_TYPE_SHADER_MATRIX.
22001 // of floating point values. The returned value is owned by the #GValue and
22002 // should never be modified or freed.
22003 // RETURNS: the pointer to a matrix
22004 // <value>: a #GValue
22005 // <length>: return location for the number of returned floating point values, or %NULL
22006 static float* value_get_shader_matrix(AT0, AT1)(AT0 /*GObject2.Value*/ value, /*out*/ AT1 /*size_t*/ length) nothrow {
22007 return clutter_value_get_shader_matrix(UpCast!(GObject2.Value*)(value), UpCast!(size_t*)(length));
22011 // VERSION: 0.8
22012 // Gets the #ClutterUnits contained in @value.
22013 // RETURNS: the units inside the passed #GValue
22014 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
22015 static Units* value_get_units(AT0)(AT0 /*GObject2.Value*/ value) nothrow {
22016 return clutter_value_get_units(UpCast!(GObject2.Value*)(value));
22020 // VERSION: 0.8.4
22021 // Sets @value to @color.
22022 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
22023 // <color>: the color to set
22024 static void value_set_color(AT0, AT1)(AT0 /*GObject2.Value*/ value, AT1 /*Color*/ color) nothrow {
22025 clutter_value_set_color(UpCast!(GObject2.Value*)(value), UpCast!(Color*)(color));
22029 // Unintrospectable function: value_set_fixed() / clutter_value_set_fixed()
22030 // VERSION: 0.8
22031 // DEPRECATED (v1.10) function: value_set_fixed - Use g_value_set_int() instead.
22032 // Sets @value to @fixed_.
22033 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
22034 // <fixed_>: the fixed point value to set
22035 static void value_set_fixed(AT0)(AT0 /*GObject2.Value*/ value, Cogl.Fixed fixed_) nothrow {
22036 clutter_value_set_fixed(UpCast!(GObject2.Value*)(value), fixed_);
22040 // VERSION: 0.8
22041 // Sets @floats as the contents of @value. The passed #GValue
22042 // must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.
22043 // <value>: a #GValue
22044 // <size>: number of floating point values in @floats
22045 // <floats>: an array of floating point values
22046 static void value_set_shader_float(AT0, AT1)(AT0 /*GObject2.Value*/ value, int size, AT1 /*float*/ floats) nothrow {
22047 clutter_value_set_shader_float(UpCast!(GObject2.Value*)(value), size, UpCast!(float*)(floats));
22051 // VERSION: 0.8
22052 // Sets @ints as the contents of @value. The passed #GValue
22053 // must have been initialized using %CLUTTER_TYPE_SHADER_INT.
22054 // <value>: a #GValue
22055 // <size>: number of integer values in @ints
22056 // <ints>: an array of integer values
22057 static void value_set_shader_int(AT0)(AT0 /*GObject2.Value*/ value, int size, int* ints) nothrow {
22058 clutter_value_set_shader_int(UpCast!(GObject2.Value*)(value), size, ints);
22062 // VERSION: 0.8
22063 // Sets @matrix as the contents of @value. The passed #GValue
22064 // must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.
22065 // <value>: a #GValue
22066 // <size>: number of floating point values in @floats
22067 // <matrix>: a matrix of floating point values
22068 static void value_set_shader_matrix(AT0, AT1)(AT0 /*GObject2.Value*/ value, int size, AT1 /*float*/ matrix) nothrow {
22069 clutter_value_set_shader_matrix(UpCast!(GObject2.Value*)(value), size, UpCast!(float*)(matrix));
22073 // VERSION: 0.8
22074 // Sets @value to @units
22075 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
22076 // <units>: the units to set
22077 static void value_set_units(AT0, AT1)(AT0 /*GObject2.Value*/ value, AT1 /*Units*/ units) nothrow {
22078 clutter_value_set_units(UpCast!(GObject2.Value*)(value), UpCast!(Units*)(units));
22081 enum int variation = 2241;
22082 enum int vertbar = 2552;
22083 enum int vertconnector = 2214;
22084 enum int voicedsound = 1246;
22085 enum int vt = 2537;
22086 enum int w = 119;
22087 enum int wacute = 16785027;
22088 enum int wcircumflex = 16777589;
22089 enum int wdiaeresis = 16785029;
22090 enum int wgrave = 16785025;
22091 enum int x = 120;
22092 enum int xabovedot = 16785035;
22093 enum int y = 121;
22094 enum int yacute = 253;
22095 enum int ybelowdot = 16785141;
22096 enum int ycircumflex = 16777591;
22097 enum int ydiaeresis = 255;
22098 enum int yen = 165;
22099 enum int ygrave = 16785139;
22100 enum int yhook = 16785143;
22101 enum int ytilde = 16785145;
22102 enum int z = 122;
22103 enum int zabovedot = 447;
22104 enum int zacute = 444;
22105 enum int zcaron = 446;
22106 enum int zerosubscript = 16785536;
22107 enum int zerosuperior = 16785520;
22108 enum int zstroke = 16777654;
22110 // --- mixin/Clutter__MODULE.d --->
22112 // An overload of init() that works with D strings.
22113 // Unlike the original, it does not need to modify the inputs.
22114 // Returns a new string array (that can be assigned to the argv
22115 // array in the caller).
22117 string[] init()(string argv[]) {
22118 // init() wants 'argc' as 'int*'...
22119 c_int argc = cast(c_int)argv.length;
22120 auto c_argv = argvToC(argv);
22121 init(&argc, &c_argv);
22122 return argvFromC(argc, c_argv);
22126 // <--- mixin/Clutter__MODULE.d ---
22128 // C prototypes:
22130 extern (C) {
22131 Actor* /*new*/ clutter_actor_new() nothrow;
22132 void clutter_actor_add_action(Actor* this_, Action* action) nothrow;
22133 void clutter_actor_add_action_with_name(Actor* this_, char* name, Action* action) nothrow;
22134 void clutter_actor_add_child(Actor* this_, Actor* child) nothrow;
22135 void clutter_actor_add_constraint(Actor* this_, Constraint* constraint) nothrow;
22136 void clutter_actor_add_constraint_with_name(Actor* this_, char* name, Constraint* constraint) nothrow;
22137 void clutter_actor_add_effect(Actor* this_, Effect* effect) nothrow;
22138 void clutter_actor_add_effect_with_name(Actor* this_, char* name, Effect* effect) nothrow;
22139 void clutter_actor_allocate(Actor* this_, ActorBox* box, AllocationFlags flags) nothrow;
22140 void clutter_actor_allocate_align_fill(Actor* this_, ActorBox* box, double x_align, double y_align, int x_fill, int y_fill, AllocationFlags flags) nothrow;
22141 void clutter_actor_allocate_available_size(Actor* this_, float x, float y, float available_width, float available_height, AllocationFlags flags) nothrow;
22142 void clutter_actor_allocate_preferred_size(Actor* this_, AllocationFlags flags) nothrow;
22143 Animation* clutter_actor_animate(Actor* this_, c_ulong mode, uint duration, char* first_property_name, ...) nothrow;
22144 Animation* clutter_actor_animate_with_alpha(Actor* this_, Alpha* alpha, char* first_property_name, ...) nothrow;
22145 Animation* clutter_actor_animate_with_alphav(Actor* this_, Alpha* alpha, int n_properties, char* properties, GObject2.Value* values) nothrow;
22146 Animation* clutter_actor_animate_with_timeline(Actor* this_, c_ulong mode, Timeline* timeline, char* first_property_name, ...) nothrow;
22147 Animation* clutter_actor_animate_with_timelinev(Actor* this_, c_ulong mode, Timeline* timeline, int n_properties, char* properties, GObject2.Value* values) nothrow;
22148 Animation* clutter_actor_animatev(Actor* this_, c_ulong mode, uint duration, int n_properties, char* properties, GObject2.Value* values) nothrow;
22149 void clutter_actor_apply_relative_transform_to_point(Actor* this_, Actor* ancestor, Vertex* point, /*out*/ Vertex* vertex) nothrow;
22150 void clutter_actor_apply_transform_to_point(Actor* this_, Vertex* point, /*out*/ Vertex* vertex) nothrow;
22151 void clutter_actor_clear_actions(Actor* this_) nothrow;
22152 void clutter_actor_clear_constraints(Actor* this_) nothrow;
22153 void clutter_actor_clear_effects(Actor* this_) nothrow;
22154 int clutter_actor_contains(Actor* this_, Actor* descendant) nothrow;
22155 void clutter_actor_continue_paint(Actor* this_) nothrow;
22156 Pango.Context* /*new*/ clutter_actor_create_pango_context(Actor* this_) nothrow;
22157 Pango.Layout* /*new*/ clutter_actor_create_pango_layout(Actor* this_, char* text) nothrow;
22158 void clutter_actor_destroy(Actor* this_) nothrow;
22159 void clutter_actor_detach_animation(Actor* this_) nothrow;
22160 int clutter_actor_event(Actor* this_, Event* event, int capture) nothrow;
22161 void clutter_actor_get_abs_allocation_vertices(Actor* this_, /*out*/ Vertex verts) nothrow;
22162 Atk.Object* clutter_actor_get_accessible(Actor* this_) nothrow;
22163 Action* clutter_actor_get_action(Actor* this_, char* name) nothrow;
22164 GLib2.List* /*new container*/ clutter_actor_get_actions(Actor* this_) nothrow;
22165 void clutter_actor_get_allocation_box(Actor* this_, /*out*/ ActorBox* box) nothrow;
22166 void clutter_actor_get_allocation_geometry(Actor* this_, /*out*/ Geometry* geom) nothrow;
22167 void clutter_actor_get_allocation_vertices(Actor* this_, Actor* ancestor, /*out*/ Vertex verts) nothrow;
22168 void clutter_actor_get_anchor_point(Actor* this_, /*out*/ float* anchor_x, /*out*/ float* anchor_y) nothrow;
22169 Gravity clutter_actor_get_anchor_point_gravity(Actor* this_) nothrow;
22170 Animation* clutter_actor_get_animation(Actor* this_) nothrow;
22171 void clutter_actor_get_background_color(Actor* this_, /*out*/ Color* color) nothrow;
22172 Actor* clutter_actor_get_child_at_index(Actor* this_, int index_) nothrow;
22173 GLib2.List* /*new container*/ clutter_actor_get_children(Actor* this_) nothrow;
22174 void clutter_actor_get_clip(Actor* this_, /*out*/ float* xoff=null, /*out*/ float* yoff=null, /*out*/ float* width=null, /*out*/ float* height=null) nothrow;
22175 int clutter_actor_get_clip_to_allocation(Actor* this_) nothrow;
22176 Constraint* clutter_actor_get_constraint(Actor* this_, char* name) nothrow;
22177 GLib2.List* /*new container*/ clutter_actor_get_constraints(Actor* this_) nothrow;
22178 float clutter_actor_get_depth(Actor* this_) nothrow;
22179 Effect* clutter_actor_get_effect(Actor* this_, char* name) nothrow;
22180 GLib2.List* /*new container*/ clutter_actor_get_effects(Actor* this_) nothrow;
22181 Actor* clutter_actor_get_first_child(Actor* this_) nothrow;
22182 int clutter_actor_get_fixed_position_set(Actor* this_) nothrow;
22183 ActorFlags clutter_actor_get_flags(Actor* this_) nothrow;
22184 void clutter_actor_get_geometry(Actor* this_, /*out*/ Geometry* geometry) nothrow;
22185 uint clutter_actor_get_gid(Actor* this_) nothrow;
22186 float clutter_actor_get_height(Actor* this_) nothrow;
22187 Actor* clutter_actor_get_last_child(Actor* this_) nothrow;
22188 LayoutManager* clutter_actor_get_layout_manager(Actor* this_) nothrow;
22189 void clutter_actor_get_margin(Actor* this_, /*out*/ Margin* margin) nothrow;
22190 float clutter_actor_get_margin_bottom(Actor* this_) nothrow;
22191 float clutter_actor_get_margin_left(Actor* this_) nothrow;
22192 float clutter_actor_get_margin_right(Actor* this_) nothrow;
22193 float clutter_actor_get_margin_top(Actor* this_) nothrow;
22194 int clutter_actor_get_n_children(Actor* this_) nothrow;
22195 char* clutter_actor_get_name(Actor* this_) nothrow;
22196 Actor* clutter_actor_get_next_sibling(Actor* this_) nothrow;
22197 OffscreenRedirect clutter_actor_get_offscreen_redirect(Actor* this_) nothrow;
22198 ubyte clutter_actor_get_opacity(Actor* this_) nothrow;
22199 int clutter_actor_get_paint_box(Actor* this_, /*out*/ ActorBox* box) nothrow;
22200 ubyte clutter_actor_get_paint_opacity(Actor* this_) nothrow;
22201 int clutter_actor_get_paint_visibility(Actor* this_) nothrow;
22202 PaintVolume* clutter_actor_get_paint_volume(Actor* this_) nothrow;
22203 Pango.Context* clutter_actor_get_pango_context(Actor* this_) nothrow;
22204 Actor* clutter_actor_get_parent(Actor* this_) nothrow;
22205 void clutter_actor_get_position(Actor* this_, /*out*/ float* x=null, /*out*/ float* y=null) nothrow;
22206 void clutter_actor_get_preferred_height(Actor* this_, float for_width, /*out*/ float* min_height_p=null, /*out*/ float* natural_height_p=null) nothrow;
22207 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) nothrow;
22208 void clutter_actor_get_preferred_width(Actor* this_, float for_height, /*out*/ float* min_width_p=null, /*out*/ float* natural_width_p=null) nothrow;
22209 Actor* clutter_actor_get_previous_sibling(Actor* this_) nothrow;
22210 int clutter_actor_get_reactive(Actor* this_) nothrow;
22211 RequestMode clutter_actor_get_request_mode(Actor* this_) nothrow;
22212 double clutter_actor_get_rotation(Actor* this_, RotateAxis axis, /*out*/ float* x, /*out*/ float* y, /*out*/ float* z) nothrow;
22213 void clutter_actor_get_scale(Actor* this_, /*out*/ double* scale_x=null, /*out*/ double* scale_y=null) nothrow;
22214 void clutter_actor_get_scale_center(Actor* this_, /*out*/ float* center_x=null, /*out*/ float* center_y=null) nothrow;
22215 Gravity clutter_actor_get_scale_gravity(Actor* this_) nothrow;
22216 Shader* clutter_actor_get_shader(Actor* this_) nothrow;
22217 void clutter_actor_get_size(Actor* this_, /*out*/ float* width=null, /*out*/ float* height=null) nothrow;
22218 Clutter.Stage* clutter_actor_get_stage(Actor* this_) nothrow;
22219 TextDirection clutter_actor_get_text_direction(Actor* this_) nothrow;
22220 void clutter_actor_get_transformation_matrix(Actor* this_, /*out*/ Cogl.Matrix* matrix) nothrow;
22221 PaintVolume* clutter_actor_get_transformed_paint_volume(Actor* this_, Actor* relative_to_ancestor) nothrow;
22222 void clutter_actor_get_transformed_position(Actor* this_, /*out*/ float* x=null, /*out*/ float* y=null) nothrow;
22223 void clutter_actor_get_transformed_size(Actor* this_, /*out*/ float* width=null, /*out*/ float* height=null) nothrow;
22224 float clutter_actor_get_width(Actor* this_) nothrow;
22225 float clutter_actor_get_x(Actor* this_) nothrow;
22226 ActorAlign clutter_actor_get_x_align(Actor* this_) nothrow;
22227 float clutter_actor_get_y(Actor* this_) nothrow;
22228 ActorAlign clutter_actor_get_y_align(Actor* this_) nothrow;
22229 Gravity clutter_actor_get_z_rotation_gravity(Actor* this_) nothrow;
22230 void clutter_actor_grab_key_focus(Actor* this_) nothrow;
22231 int clutter_actor_has_actions(Actor* this_) nothrow;
22232 int clutter_actor_has_allocation(Actor* this_) nothrow;
22233 int clutter_actor_has_clip(Actor* this_) nothrow;
22234 int clutter_actor_has_constraints(Actor* this_) nothrow;
22235 int clutter_actor_has_effects(Actor* this_) nothrow;
22236 int clutter_actor_has_key_focus(Actor* this_) nothrow;
22237 int clutter_actor_has_overlaps(Actor* this_) nothrow;
22238 int clutter_actor_has_pointer(Actor* this_) nothrow;
22239 void clutter_actor_hide(Actor* this_) nothrow;
22240 void clutter_actor_hide_all(Actor* this_) nothrow;
22241 void clutter_actor_insert_child_above(Actor* this_, Actor* child, Actor* sibling=null) nothrow;
22242 void clutter_actor_insert_child_at_index(Actor* this_, Actor* child, int index_) nothrow;
22243 void clutter_actor_insert_child_below(Actor* this_, Actor* child, Actor* sibling=null) nothrow;
22244 int clutter_actor_is_in_clone_paint(Actor* this_) nothrow;
22245 int clutter_actor_is_rotated(Actor* this_) nothrow;
22246 int clutter_actor_is_scaled(Actor* this_) nothrow;
22247 void clutter_actor_lower(Actor* this_, Actor* above=null) nothrow;
22248 void clutter_actor_lower_bottom(Actor* this_) nothrow;
22249 void clutter_actor_map(Actor* this_) nothrow;
22250 void clutter_actor_move_anchor_point(Actor* this_, float anchor_x, float anchor_y) nothrow;
22251 void clutter_actor_move_anchor_point_from_gravity(Actor* this_, Gravity gravity) nothrow;
22252 void clutter_actor_move_by(Actor* this_, float dx, float dy) nothrow;
22253 void clutter_actor_paint(Actor* this_) nothrow;
22254 void clutter_actor_pop_internal(Actor* this_) nothrow;
22255 void clutter_actor_push_internal(Actor* this_) nothrow;
22256 void clutter_actor_queue_redraw(Actor* this_) nothrow;
22257 void clutter_actor_queue_redraw_with_clip(Actor* this_, cairo.RectangleInt* clip=null) nothrow;
22258 void clutter_actor_queue_relayout(Actor* this_) nothrow;
22259 void clutter_actor_raise(Actor* this_, Actor* below=null) nothrow;
22260 void clutter_actor_raise_top(Actor* this_) nothrow;
22261 void clutter_actor_realize(Actor* this_) nothrow;
22262 void clutter_actor_remove_action(Actor* this_, Action* action) nothrow;
22263 void clutter_actor_remove_action_by_name(Actor* this_, char* name) nothrow;
22264 void clutter_actor_remove_all_children(Actor* this_) nothrow;
22265 void clutter_actor_remove_child(Actor* this_, Actor* child) nothrow;
22266 void clutter_actor_remove_clip(Actor* this_) nothrow;
22267 void clutter_actor_remove_constraint(Actor* this_, Constraint* constraint) nothrow;
22268 void clutter_actor_remove_constraint_by_name(Actor* this_, char* name) nothrow;
22269 void clutter_actor_remove_effect(Actor* this_, Effect* effect) nothrow;
22270 void clutter_actor_remove_effect_by_name(Actor* this_, char* name) nothrow;
22271 void clutter_actor_reparent(Actor* this_, Actor* new_parent) nothrow;
22272 void clutter_actor_replace_child(Actor* this_, Actor* old_child, Actor* new_child) nothrow;
22273 void clutter_actor_set_allocation(Actor* this_, ActorBox* box, AllocationFlags flags) nothrow;
22274 void clutter_actor_set_anchor_point(Actor* this_, float anchor_x, float anchor_y) nothrow;
22275 void clutter_actor_set_anchor_point_from_gravity(Actor* this_, Gravity gravity) nothrow;
22276 void clutter_actor_set_background_color(Actor* this_, Color* color=null) nothrow;
22277 void clutter_actor_set_child_above_sibling(Actor* this_, Actor* child, Actor* sibling=null) nothrow;
22278 void clutter_actor_set_child_at_index(Actor* this_, Actor* child, int index_) nothrow;
22279 void clutter_actor_set_child_below_sibling(Actor* this_, Actor* child, Actor* sibling=null) nothrow;
22280 void clutter_actor_set_clip(Actor* this_, float xoff, float yoff, float width, float height) nothrow;
22281 void clutter_actor_set_clip_to_allocation(Actor* this_, int clip_set) nothrow;
22282 void clutter_actor_set_depth(Actor* this_, float depth) nothrow;
22283 void clutter_actor_set_fixed_position_set(Actor* this_, int is_set) nothrow;
22284 void clutter_actor_set_flags(Actor* this_, ActorFlags flags) nothrow;
22285 void clutter_actor_set_geometry(Actor* this_, Geometry* geometry) nothrow;
22286 void clutter_actor_set_height(Actor* this_, float height) nothrow;
22287 void clutter_actor_set_layout_manager(Actor* this_, LayoutManager* manager=null) nothrow;
22288 void clutter_actor_set_margin(Actor* this_, Margin* margin) nothrow;
22289 void clutter_actor_set_margin_bottom(Actor* this_, float margin) nothrow;
22290 void clutter_actor_set_margin_left(Actor* this_, float margin) nothrow;
22291 void clutter_actor_set_margin_right(Actor* this_, float margin) nothrow;
22292 void clutter_actor_set_margin_top(Actor* this_, float margin) nothrow;
22293 void clutter_actor_set_name(Actor* this_, char* name) nothrow;
22294 void clutter_actor_set_offscreen_redirect(Actor* this_, OffscreenRedirect redirect) nothrow;
22295 void clutter_actor_set_opacity(Actor* this_, ubyte opacity) nothrow;
22296 void clutter_actor_set_parent(Actor* this_, Actor* parent) nothrow;
22297 void clutter_actor_set_position(Actor* this_, float x, float y) nothrow;
22298 void clutter_actor_set_reactive(Actor* this_, int reactive) nothrow;
22299 void clutter_actor_set_request_mode(Actor* this_, RequestMode mode) nothrow;
22300 void clutter_actor_set_rotation(Actor* this_, RotateAxis axis, double angle, float x, float y, float z) nothrow;
22301 void clutter_actor_set_scale(Actor* this_, double scale_x, double scale_y) nothrow;
22302 void clutter_actor_set_scale_full(Actor* this_, double scale_x, double scale_y, float center_x, float center_y) nothrow;
22303 void clutter_actor_set_scale_with_gravity(Actor* this_, double scale_x, double scale_y, Gravity gravity) nothrow;
22304 int clutter_actor_set_shader(Actor* this_, Shader* shader=null) nothrow;
22305 void clutter_actor_set_shader_param(Actor* this_, char* param, GObject2.Value* value) nothrow;
22306 void clutter_actor_set_shader_param_float(Actor* this_, char* param, float value) nothrow;
22307 void clutter_actor_set_shader_param_int(Actor* this_, char* param, int value) nothrow;
22308 void clutter_actor_set_size(Actor* this_, float width, float height) nothrow;
22309 void clutter_actor_set_text_direction(Actor* this_, TextDirection text_dir) nothrow;
22310 void clutter_actor_set_width(Actor* this_, float width) nothrow;
22311 void clutter_actor_set_x(Actor* this_, float x) nothrow;
22312 void clutter_actor_set_x_align(Actor* this_, ActorAlign x_align) nothrow;
22313 void clutter_actor_set_y(Actor* this_, float y) nothrow;
22314 void clutter_actor_set_y_align(Actor* this_, ActorAlign y_align) nothrow;
22315 void clutter_actor_set_z_rotation_from_gravity(Actor* this_, double angle, Gravity gravity) nothrow;
22316 int clutter_actor_should_pick_paint(Actor* this_) nothrow;
22317 void clutter_actor_show(Actor* this_) nothrow;
22318 void clutter_actor_show_all(Actor* this_) nothrow;
22319 int clutter_actor_transform_stage_point(Actor* this_, float x, float y, /*out*/ float* x_out, /*out*/ float* y_out) nothrow;
22320 void clutter_actor_unmap(Actor* this_) nothrow;
22321 void clutter_actor_unparent(Actor* this_) nothrow;
22322 void clutter_actor_unrealize(Actor* this_) nothrow;
22323 void clutter_actor_unset_flags(Actor* this_, ActorFlags flags) nothrow;
22324 ActorBox* /*new*/ clutter_actor_box_new(float x_1, float y_1, float x_2, float y_2) nothrow;
22325 void clutter_actor_box_clamp_to_pixel(ActorBox* this_) nothrow;
22326 int clutter_actor_box_contains(ActorBox* this_, float x, float y) nothrow;
22327 ActorBox* /*new*/ clutter_actor_box_copy(ActorBox* this_) nothrow;
22328 int clutter_actor_box_equal(ActorBox* this_, ActorBox* box_b) nothrow;
22329 void clutter_actor_box_free(ActorBox* this_) nothrow;
22330 void clutter_actor_box_from_vertices(ActorBox* this_, Vertex verts) nothrow;
22331 float clutter_actor_box_get_area(ActorBox* this_) nothrow;
22332 float clutter_actor_box_get_height(ActorBox* this_) nothrow;
22333 void clutter_actor_box_get_origin(ActorBox* this_, /*out*/ float* x=null, /*out*/ float* y=null) nothrow;
22334 void clutter_actor_box_get_size(ActorBox* this_, /*out*/ float* width=null, /*out*/ float* height=null) nothrow;
22335 float clutter_actor_box_get_width(ActorBox* this_) nothrow;
22336 float clutter_actor_box_get_x(ActorBox* this_) nothrow;
22337 float clutter_actor_box_get_y(ActorBox* this_) nothrow;
22338 void clutter_actor_box_interpolate(ActorBox* this_, ActorBox* final_, double progress, /*out*/ ActorBox* result) nothrow;
22339 void clutter_actor_box_set_origin(ActorBox* this_, float x, float y) nothrow;
22340 void clutter_actor_box_set_size(ActorBox* this_, float width, float height) nothrow;
22341 void clutter_actor_box_union(ActorBox* this_, ActorBox* b, /*out*/ ActorBox* result) nothrow;
22342 void clutter_actor_iter_init(ActorIter* this_, Actor* root) nothrow;
22343 int clutter_actor_iter_next(ActorIter* this_, /*out*/ Actor** child) nothrow;
22344 int clutter_actor_iter_prev(ActorIter* this_, Actor** child) nothrow;
22345 void clutter_actor_iter_remove(ActorIter* this_) nothrow;
22346 Actor* clutter_actor_meta_get_actor(ActorMeta* this_) nothrow;
22347 int clutter_actor_meta_get_enabled(ActorMeta* this_) nothrow;
22348 char* clutter_actor_meta_get_name(ActorMeta* this_) nothrow;
22349 void clutter_actor_meta_set_enabled(ActorMeta* this_, int is_enabled) nothrow;
22350 void clutter_actor_meta_set_name(ActorMeta* this_, char* name) nothrow;
22351 AlignConstraint* clutter_align_constraint_new(Actor* source, AlignAxis axis, float factor) nothrow;
22352 AlignAxis clutter_align_constraint_get_align_axis(AlignConstraint* this_) nothrow;
22353 float clutter_align_constraint_get_factor(AlignConstraint* this_) nothrow;
22354 Actor* clutter_align_constraint_get_source(AlignConstraint* this_) nothrow;
22355 void clutter_align_constraint_set_align_axis(AlignConstraint* this_, AlignAxis axis) nothrow;
22356 void clutter_align_constraint_set_factor(AlignConstraint* this_, float factor) nothrow;
22357 void clutter_align_constraint_set_source(AlignConstraint* this_, Actor* source=null) nothrow;
22358 Alpha* clutter_alpha_new() nothrow;
22359 Alpha* clutter_alpha_new_full(Timeline* timeline, c_ulong mode) nothrow;
22360 Alpha* clutter_alpha_new_with_func(Timeline* timeline, AlphaFunc func, void* data, GLib2.DestroyNotify destroy) nothrow;
22361 c_ulong clutter_alpha_register_closure(GObject2.Closure* closure) nothrow;
22362 c_ulong clutter_alpha_register_func(AlphaFunc func, void* data) nothrow;
22363 double clutter_alpha_get_alpha(Alpha* this_) nothrow;
22364 c_ulong clutter_alpha_get_mode(Alpha* this_) nothrow;
22365 Timeline* clutter_alpha_get_timeline(Alpha* this_) nothrow;
22366 void clutter_alpha_set_closure(Alpha* this_, GObject2.Closure* closure) nothrow;
22367 void clutter_alpha_set_func(Alpha* this_, AlphaFunc func, void* data, GLib2.DestroyNotify destroy) nothrow;
22368 void clutter_alpha_set_mode(Alpha* this_, c_ulong mode) nothrow;
22369 void clutter_alpha_set_timeline(Alpha* this_, Timeline* timeline) nothrow;
22370 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) nothrow;
22371 GObject2.ParamSpec* clutter_animatable_find_property(Animatable* this_, char* property_name) nothrow;
22372 void clutter_animatable_get_initial_state(Animatable* this_, char* property_name, GObject2.Value* value) nothrow;
22373 int clutter_animatable_interpolate_value(Animatable* this_, char* property_name, Interval* interval, double progress, /*out*/ GObject2.Value* value) nothrow;
22374 void clutter_animatable_set_final_state(Animatable* this_, char* property_name, GObject2.Value* value) nothrow;
22375 Animation* /*new*/ clutter_animation_new() nothrow;
22376 Animation* clutter_animation_bind(Animation* this_, char* property_name, GObject2.Value* final_) nothrow;
22377 Animation* clutter_animation_bind_interval(Animation* this_, char* property_name, Interval* interval) nothrow;
22378 void clutter_animation_completed(Animation* this_) nothrow;
22379 Alpha* clutter_animation_get_alpha(Animation* this_) nothrow;
22380 uint clutter_animation_get_duration(Animation* this_) nothrow;
22381 Interval* clutter_animation_get_interval(Animation* this_, char* property_name) nothrow;
22382 int clutter_animation_get_loop(Animation* this_) nothrow;
22383 c_ulong clutter_animation_get_mode(Animation* this_) nothrow;
22384 GObject2.Object* clutter_animation_get_object(Animation* this_) nothrow;
22385 Timeline* clutter_animation_get_timeline(Animation* this_) nothrow;
22386 int clutter_animation_has_property(Animation* this_, char* property_name) nothrow;
22387 void clutter_animation_set_alpha(Animation* this_, Alpha* alpha) nothrow;
22388 void clutter_animation_set_duration(Animation* this_, uint msecs) nothrow;
22389 void clutter_animation_set_loop(Animation* this_, int loop) nothrow;
22390 void clutter_animation_set_mode(Animation* this_, c_ulong mode) nothrow;
22391 void clutter_animation_set_object(Animation* this_, GObject2.Object* object) nothrow;
22392 void clutter_animation_set_timeline(Animation* this_, Timeline* timeline) nothrow;
22393 void clutter_animation_unbind_property(Animation* this_, char* property_name) nothrow;
22394 Animation* clutter_animation_update(Animation* this_, char* property_name, GObject2.Value* final_) nothrow;
22395 void clutter_animation_update_interval(Animation* this_, char* property_name, Interval* interval) nothrow;
22396 Animator* /*new*/ clutter_animator_new() nothrow;
22397 int clutter_animator_compute_value(Animator* this_, GObject2.Object* object, char* property_name, double progress, GObject2.Value* value) nothrow;
22398 uint clutter_animator_get_duration(Animator* this_) nothrow;
22399 GLib2.List* /*new container*/ clutter_animator_get_keys(Animator* this_, GObject2.Object* object, char* property_name, double progress) nothrow;
22400 Timeline* clutter_animator_get_timeline(Animator* this_) nothrow;
22401 int clutter_animator_property_get_ease_in(Animator* this_, GObject2.Object* object, char* property_name) nothrow;
22402 Interpolation clutter_animator_property_get_interpolation(Animator* this_, GObject2.Object* object, char* property_name) nothrow;
22403 void clutter_animator_property_set_ease_in(Animator* this_, GObject2.Object* object, char* property_name, int ease_in) nothrow;
22404 void clutter_animator_property_set_interpolation(Animator* this_, GObject2.Object* object, char* property_name, Interpolation interpolation) nothrow;
22405 void clutter_animator_remove_key(Animator* this_, GObject2.Object* object, char* property_name, double progress) nothrow;
22406 void clutter_animator_set(Animator* this_, void* first_object, char* first_property_name, uint first_mode, double first_progress, ...) nothrow;
22407 void clutter_animator_set_duration(Animator* this_, uint duration) nothrow;
22408 Animator* clutter_animator_set_key(Animator* this_, GObject2.Object* object, char* property_name, uint mode, double progress, GObject2.Value* value) nothrow;
22409 void clutter_animator_set_timeline(Animator* this_, Timeline* timeline) nothrow;
22410 Timeline* clutter_animator_start(Animator* this_) nothrow;
22411 c_ulong clutter_animator_key_get_mode(AnimatorKey* this_) nothrow;
22412 GObject2.Object* clutter_animator_key_get_object(AnimatorKey* this_) nothrow;
22413 double clutter_animator_key_get_progress(AnimatorKey* this_) nothrow;
22414 char* clutter_animator_key_get_property_name(AnimatorKey* this_) nothrow;
22415 Type clutter_animator_key_get_property_type(AnimatorKey* this_) nothrow;
22416 int clutter_animator_key_get_value(AnimatorKey* this_, GObject2.Value* value) nothrow;
22417 uint clutter_backend_get_double_click_distance(Backend* this_) nothrow;
22418 uint clutter_backend_get_double_click_time(Backend* this_) nothrow;
22419 char* clutter_backend_get_font_name(Backend* this_) nothrow;
22420 cairo.FontOptions* clutter_backend_get_font_options(Backend* this_) nothrow;
22421 double clutter_backend_get_resolution(Backend* this_) nothrow;
22422 void clutter_backend_set_double_click_distance(Backend* this_, uint distance) nothrow;
22423 void clutter_backend_set_double_click_time(Backend* this_, uint msec) nothrow;
22424 void clutter_backend_set_font_name(Backend* this_, char* font_name) nothrow;
22425 void clutter_backend_set_font_options(Backend* this_, cairo.FontOptions* options) nothrow;
22426 void clutter_backend_set_resolution(Backend* this_, double dpi) nothrow;
22427 void clutter_behaviour_actors_foreach(Behaviour* this_, BehaviourForeachFunc func, void* data) nothrow;
22428 void clutter_behaviour_apply(Behaviour* this_, Actor* actor) nothrow;
22429 GLib2.SList* /*new container*/ clutter_behaviour_get_actors(Behaviour* this_) nothrow;
22430 Alpha* clutter_behaviour_get_alpha(Behaviour* this_) nothrow;
22431 int clutter_behaviour_get_n_actors(Behaviour* this_) nothrow;
22432 Actor* clutter_behaviour_get_nth_actor(Behaviour* this_, int index_) nothrow;
22433 int clutter_behaviour_is_applied(Behaviour* this_, Actor* actor) nothrow;
22434 void clutter_behaviour_remove(Behaviour* this_, Actor* actor) nothrow;
22435 void clutter_behaviour_remove_all(Behaviour* this_) nothrow;
22436 void clutter_behaviour_set_alpha(Behaviour* this_, Alpha* alpha) nothrow;
22437 BehaviourDepth* /*new*/ clutter_behaviour_depth_new(Alpha* alpha, int depth_start, int depth_end) nothrow;
22438 void clutter_behaviour_depth_get_bounds(BehaviourDepth* this_, /*out*/ int* depth_start, /*out*/ int* depth_end) nothrow;
22439 void clutter_behaviour_depth_set_bounds(BehaviourDepth* this_, int depth_start, int depth_end) nothrow;
22440 BehaviourEllipse* /*new*/ clutter_behaviour_ellipse_new(Alpha* alpha, int x, int y, int width, int height, RotateDirection direction, double start, double end) nothrow;
22441 double clutter_behaviour_ellipse_get_angle_end(BehaviourEllipse* this_) nothrow;
22442 double clutter_behaviour_ellipse_get_angle_start(BehaviourEllipse* this_) nothrow;
22443 double clutter_behaviour_ellipse_get_angle_tilt(BehaviourEllipse* this_, RotateAxis axis) nothrow;
22444 void clutter_behaviour_ellipse_get_center(BehaviourEllipse* this_, /*out*/ int* x, /*out*/ int* y) nothrow;
22445 RotateDirection clutter_behaviour_ellipse_get_direction(BehaviourEllipse* this_) nothrow;
22446 int clutter_behaviour_ellipse_get_height(BehaviourEllipse* this_) nothrow;
22447 void clutter_behaviour_ellipse_get_tilt(BehaviourEllipse* this_, /*out*/ double* angle_tilt_x, /*out*/ double* angle_tilt_y, /*out*/ double* angle_tilt_z) nothrow;
22448 int clutter_behaviour_ellipse_get_width(BehaviourEllipse* this_) nothrow;
22449 void clutter_behaviour_ellipse_set_angle_end(BehaviourEllipse* this_, double angle_end) nothrow;
22450 void clutter_behaviour_ellipse_set_angle_start(BehaviourEllipse* this_, double angle_start) nothrow;
22451 void clutter_behaviour_ellipse_set_angle_tilt(BehaviourEllipse* this_, RotateAxis axis, double angle_tilt) nothrow;
22452 void clutter_behaviour_ellipse_set_center(BehaviourEllipse* this_, int x, int y) nothrow;
22453 void clutter_behaviour_ellipse_set_direction(BehaviourEllipse* this_, RotateDirection direction) nothrow;
22454 void clutter_behaviour_ellipse_set_height(BehaviourEllipse* this_, int height) nothrow;
22455 void clutter_behaviour_ellipse_set_tilt(BehaviourEllipse* this_, double angle_tilt_x, double angle_tilt_y, double angle_tilt_z) nothrow;
22456 void clutter_behaviour_ellipse_set_width(BehaviourEllipse* this_, int width) nothrow;
22457 BehaviourOpacity* /*new*/ clutter_behaviour_opacity_new(Alpha* alpha, ubyte opacity_start, ubyte opacity_end) nothrow;
22458 void clutter_behaviour_opacity_get_bounds(BehaviourOpacity* this_, /*out*/ ubyte* opacity_start, /*out*/ ubyte* opacity_end) nothrow;
22459 void clutter_behaviour_opacity_set_bounds(BehaviourOpacity* this_, ubyte opacity_start, ubyte opacity_end) nothrow;
22460 BehaviourPath* /*new*/ clutter_behaviour_path_new(Alpha* alpha, Path* path) nothrow;
22461 BehaviourPath* /*new*/ clutter_behaviour_path_new_with_description(Alpha* alpha, char* desc) nothrow;
22462 BehaviourPath* /*new*/ clutter_behaviour_path_new_with_knots(Alpha* alpha, Knot* knots, uint n_knots) nothrow;
22463 Path* clutter_behaviour_path_get_path(BehaviourPath* this_) nothrow;
22464 void clutter_behaviour_path_set_path(BehaviourPath* this_, Path* path) nothrow;
22465 BehaviourRotate* /*new*/ clutter_behaviour_rotate_new(Alpha* alpha, RotateAxis axis, RotateDirection direction, double angle_start, double angle_end) nothrow;
22466 RotateAxis clutter_behaviour_rotate_get_axis(BehaviourRotate* this_) nothrow;
22467 void clutter_behaviour_rotate_get_bounds(BehaviourRotate* this_, /*out*/ double* angle_start, /*out*/ double* angle_end) nothrow;
22468 void clutter_behaviour_rotate_get_center(BehaviourRotate* this_, /*out*/ int* x, /*out*/ int* y, /*out*/ int* z) nothrow;
22469 RotateDirection clutter_behaviour_rotate_get_direction(BehaviourRotate* this_) nothrow;
22470 void clutter_behaviour_rotate_set_axis(BehaviourRotate* this_, RotateAxis axis) nothrow;
22471 void clutter_behaviour_rotate_set_bounds(BehaviourRotate* this_, double angle_start, double angle_end) nothrow;
22472 void clutter_behaviour_rotate_set_center(BehaviourRotate* this_, int x, int y, int z) nothrow;
22473 void clutter_behaviour_rotate_set_direction(BehaviourRotate* this_, RotateDirection direction) nothrow;
22474 BehaviourScale* /*new*/ clutter_behaviour_scale_new(Alpha* alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end) nothrow;
22475 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) nothrow;
22476 void clutter_behaviour_scale_set_bounds(BehaviourScale* this_, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end) nothrow;
22477 BinLayout* clutter_bin_layout_new(BinAlignment x_align, BinAlignment y_align) nothrow;
22478 void clutter_bin_layout_add(BinLayout* this_, Actor* child, BinAlignment x_align, BinAlignment y_align) nothrow;
22479 void clutter_bin_layout_get_alignment(BinLayout* this_, Actor* child=null, /*out*/ BinAlignment* x_align=null, /*out*/ BinAlignment* y_align=null) nothrow;
22480 void clutter_bin_layout_set_alignment(BinLayout* this_, Actor* child, BinAlignment x_align, BinAlignment y_align) nothrow;
22481 BindConstraint* clutter_bind_constraint_new(Actor* source, BindCoordinate coordinate, float offset) nothrow;
22482 BindCoordinate clutter_bind_constraint_get_coordinate(BindConstraint* this_) nothrow;
22483 float clutter_bind_constraint_get_offset(BindConstraint* this_) nothrow;
22484 Actor* clutter_bind_constraint_get_source(BindConstraint* this_) nothrow;
22485 void clutter_bind_constraint_set_coordinate(BindConstraint* this_, BindCoordinate coordinate) nothrow;
22486 void clutter_bind_constraint_set_offset(BindConstraint* this_, float offset) nothrow;
22487 void clutter_bind_constraint_set_source(BindConstraint* this_, Actor* source=null) nothrow;
22488 BindingPool* /*new*/ clutter_binding_pool_new(char* name) nothrow;
22489 BindingPool* clutter_binding_pool_find(char* name) nothrow;
22490 BindingPool* clutter_binding_pool_get_for_class(void* klass) nothrow;
22491 int clutter_binding_pool_activate(BindingPool* this_, uint key_val, ModifierType modifiers, GObject2.Object* gobject) nothrow;
22492 void clutter_binding_pool_block_action(BindingPool* this_, char* action_name) nothrow;
22493 char* clutter_binding_pool_find_action(BindingPool* this_, uint key_val, ModifierType modifiers) nothrow;
22494 void clutter_binding_pool_install_action(BindingPool* this_, char* action_name, uint key_val, ModifierType modifiers, GObject2.Callback callback, void* data, GLib2.DestroyNotify notify) nothrow;
22495 void clutter_binding_pool_install_closure(BindingPool* this_, char* action_name, uint key_val, ModifierType modifiers, GObject2.Closure* closure) nothrow;
22496 void clutter_binding_pool_override_action(BindingPool* this_, uint key_val, ModifierType modifiers, GObject2.Callback callback, void* data, GLib2.DestroyNotify notify) nothrow;
22497 void clutter_binding_pool_override_closure(BindingPool* this_, uint key_val, ModifierType modifiers, GObject2.Closure* closure) nothrow;
22498 void clutter_binding_pool_remove_action(BindingPool* this_, uint key_val, ModifierType modifiers) nothrow;
22499 void clutter_binding_pool_unblock_action(BindingPool* this_, char* action_name) nothrow;
22500 BlurEffect* clutter_blur_effect_new() nothrow;
22501 Box* clutter_box_new(LayoutManager* manager) nothrow;
22502 void clutter_box_get_color(Box* this_, /*out*/ Color* color) nothrow;
22503 LayoutManager* clutter_box_get_layout_manager(Box* this_) nothrow;
22504 void clutter_box_pack(Box* this_, Actor* actor, char* first_property, ...) nothrow;
22505 void clutter_box_pack_after(Box* this_, Actor* actor, Actor* sibling, char* first_property, ...) nothrow;
22506 void clutter_box_pack_at(Box* this_, Actor* actor, int position, char* first_property, ...) nothrow;
22507 void clutter_box_pack_before(Box* this_, Actor* actor, Actor* sibling, char* first_property, ...) nothrow;
22508 void clutter_box_packv(Box* this_, Actor* actor, uint n_properties, char* properties, GObject2.Value* values) nothrow;
22509 void clutter_box_set_color(Box* this_, Color* color=null) nothrow;
22510 void clutter_box_set_layout_manager(Box* this_, LayoutManager* manager) nothrow;
22511 BoxLayout* clutter_box_layout_new() nothrow;
22512 void clutter_box_layout_get_alignment(BoxLayout* this_, Actor* actor, /*out*/ BoxAlignment* x_align, /*out*/ BoxAlignment* y_align) nothrow;
22513 uint clutter_box_layout_get_easing_duration(BoxLayout* this_) nothrow;
22514 c_ulong clutter_box_layout_get_easing_mode(BoxLayout* this_) nothrow;
22515 int clutter_box_layout_get_expand(BoxLayout* this_, Actor* actor) nothrow;
22516 void clutter_box_layout_get_fill(BoxLayout* this_, Actor* actor, /*out*/ int* x_fill, /*out*/ int* y_fill) nothrow;
22517 int clutter_box_layout_get_homogeneous(BoxLayout* this_) nothrow;
22518 int clutter_box_layout_get_pack_start(BoxLayout* this_) nothrow;
22519 uint clutter_box_layout_get_spacing(BoxLayout* this_) nothrow;
22520 int clutter_box_layout_get_use_animations(BoxLayout* this_) nothrow;
22521 int clutter_box_layout_get_vertical(BoxLayout* this_) nothrow;
22522 void clutter_box_layout_pack(BoxLayout* this_, Actor* actor, int expand, int x_fill, int y_fill, BoxAlignment x_align, BoxAlignment y_align) nothrow;
22523 void clutter_box_layout_set_alignment(BoxLayout* this_, Actor* actor, BoxAlignment x_align, BoxAlignment y_align) nothrow;
22524 void clutter_box_layout_set_easing_duration(BoxLayout* this_, uint msecs) nothrow;
22525 void clutter_box_layout_set_easing_mode(BoxLayout* this_, c_ulong mode) nothrow;
22526 void clutter_box_layout_set_expand(BoxLayout* this_, Actor* actor, int expand) nothrow;
22527 void clutter_box_layout_set_fill(BoxLayout* this_, Actor* actor, int x_fill, int y_fill) nothrow;
22528 void clutter_box_layout_set_homogeneous(BoxLayout* this_, int homogeneous) nothrow;
22529 void clutter_box_layout_set_pack_start(BoxLayout* this_, int pack_start) nothrow;
22530 void clutter_box_layout_set_spacing(BoxLayout* this_, uint spacing) nothrow;
22531 void clutter_box_layout_set_use_animations(BoxLayout* this_, int animate) nothrow;
22532 void clutter_box_layout_set_vertical(BoxLayout* this_, int vertical) nothrow;
22533 CairoTexture* clutter_cairo_texture_new(uint width, uint height) nothrow;
22534 void clutter_cairo_texture_clear(CairoTexture* this_) nothrow;
22535 cairo.Context* /*new*/ clutter_cairo_texture_create(CairoTexture* this_) nothrow;
22536 cairo.Context* /*new*/ clutter_cairo_texture_create_region(CairoTexture* this_, int x_offset, int y_offset, int width, int height) nothrow;
22537 int clutter_cairo_texture_get_auto_resize(CairoTexture* this_) nothrow;
22538 void clutter_cairo_texture_get_surface_size(CairoTexture* this_, /*out*/ uint* width, /*out*/ uint* height) nothrow;
22539 void clutter_cairo_texture_invalidate(CairoTexture* this_) nothrow;
22540 void clutter_cairo_texture_invalidate_rectangle(CairoTexture* this_, cairo.RectangleInt* rect=null) nothrow;
22541 void clutter_cairo_texture_set_auto_resize(CairoTexture* this_, int value) nothrow;
22542 void clutter_cairo_texture_set_surface_size(CairoTexture* this_, uint width, uint height) nothrow;
22543 Actor* clutter_child_meta_get_actor(ChildMeta* this_) nothrow;
22544 Container* clutter_child_meta_get_container(ChildMeta* this_) nothrow;
22545 ClickAction* clutter_click_action_new() nothrow;
22546 uint clutter_click_action_get_button(ClickAction* this_) nothrow;
22547 void clutter_click_action_get_coords(ClickAction* this_, /*out*/ float* press_x, /*out*/ float* press_y) nothrow;
22548 ModifierType clutter_click_action_get_state(ClickAction* this_) nothrow;
22549 void clutter_click_action_release(ClickAction* this_) nothrow;
22550 Clone* clutter_clone_new(Actor* source) nothrow;
22551 Actor* clutter_clone_get_source(Clone* this_) nothrow;
22552 void clutter_clone_set_source(Clone* this_, Actor* source=null) nothrow;
22553 Color* /*new*/ clutter_color_new(ubyte red, ubyte green, ubyte blue, ubyte alpha) nothrow;
22554 void clutter_color_add(Color* this_, Color* b, /*out*/ Color* result) nothrow;
22555 Color* /*new*/ clutter_color_copy(Color* this_) nothrow;
22556 void clutter_color_darken(Color* this_, /*out*/ Color* result) nothrow;
22557 void clutter_color_free(Color* this_) nothrow;
22558 void clutter_color_from_hls(Color* this_, float hue, float luminance, float saturation) nothrow;
22559 void clutter_color_from_pixel(Color* this_, uint pixel) nothrow;
22560 int clutter_color_from_string(Color* this_, char* str) nothrow;
22561 void clutter_color_interpolate(Color* this_, Color* final_, double progress, /*out*/ Color* result) nothrow;
22562 void clutter_color_lighten(Color* this_, /*out*/ Color* result) nothrow;
22563 void clutter_color_shade(Color* this_, double factor, /*out*/ Color* result) nothrow;
22564 void clutter_color_subtract(Color* this_, Color* b, /*out*/ Color* result) nothrow;
22565 void clutter_color_to_hls(Color* this_, /*out*/ float* hue, /*out*/ float* luminance, /*out*/ float* saturation) nothrow;
22566 uint clutter_color_to_pixel(Color* this_) nothrow;
22567 char* /*new*/ clutter_color_to_string(Color* this_) nothrow;
22568 int clutter_color_equal(const(void)* v1, const(void)* v2) nothrow;
22569 Color* clutter_color_get_static(StaticColor color) nothrow;
22570 uint clutter_color_hash(const(void)* v) nothrow;
22571 ColorizeEffect* clutter_colorize_effect_new(Color* tint) nothrow;
22572 void clutter_colorize_effect_get_tint(ColorizeEffect* this_, /*out*/ Color* tint) nothrow;
22573 void clutter_colorize_effect_set_tint(ColorizeEffect* this_, Color* tint) nothrow;
22574 GObject2.ParamSpec* clutter_container_class_find_child_property(GObject2.ObjectClass* klass, char* property_name) nothrow;
22575 GObject2.ParamSpec** /*new*/ clutter_container_class_list_child_properties(GObject2.ObjectClass* klass, /*out*/ uint* n_properties) nothrow;
22576 void clutter_container_add(Container* this_, Actor* first_actor, ...) nothrow;
22577 void clutter_container_add_actor(Container* this_, Actor* actor) nothrow;
22578 void clutter_container_add_valist(Container* this_, Actor* first_actor, va_list var_args) nothrow;
22579 void clutter_container_child_get(Container* this_, Actor* actor, char* first_prop, ...) nothrow;
22580 void clutter_container_child_get_property(Container* this_, Actor* child, char* property, GObject2.Value* value) nothrow;
22581 void clutter_container_child_notify(Container* this_, Actor* child, GObject2.ParamSpec* pspec) nothrow;
22582 void clutter_container_child_set(Container* this_, Actor* actor, char* first_prop, ...) nothrow;
22583 void clutter_container_child_set_property(Container* this_, Actor* child, char* property, GObject2.Value* value) nothrow;
22584 void clutter_container_create_child_meta(Container* this_, Actor* actor) nothrow;
22585 void clutter_container_destroy_child_meta(Container* this_, Actor* actor) nothrow;
22586 Actor* clutter_container_find_child_by_name(Container* this_, char* child_name) nothrow;
22587 void clutter_container_foreach(Container* this_, Callback callback, void* user_data) nothrow;
22588 void clutter_container_foreach_with_internals(Container* this_, Callback callback, void* user_data) nothrow;
22589 ChildMeta* clutter_container_get_child_meta(Container* this_, Actor* actor) nothrow;
22590 GLib2.List* /*new container*/ clutter_container_get_children(Container* this_) nothrow;
22591 void clutter_container_lower_child(Container* this_, Actor* actor, Actor* sibling=null) nothrow;
22592 void clutter_container_raise_child(Container* this_, Actor* actor, Actor* sibling=null) nothrow;
22593 void clutter_container_remove(Container* this_, Actor* first_actor, ...) nothrow;
22594 void clutter_container_remove_actor(Container* this_, Actor* actor) nothrow;
22595 void clutter_container_remove_valist(Container* this_, Actor* first_actor, va_list var_args) nothrow;
22596 void clutter_container_sort_depth_order(Container* this_) nothrow;
22597 Cogl.Handle clutter_deform_effect_get_back_material(DeformEffect* this_) nothrow;
22598 void clutter_deform_effect_get_n_tiles(DeformEffect* this_, /*out*/ uint* x_tiles, /*out*/ uint* y_tiles) nothrow;
22599 void clutter_deform_effect_invalidate(DeformEffect* this_) nothrow;
22600 void clutter_deform_effect_set_back_material(DeformEffect* this_, Cogl.Handle material=null) nothrow;
22601 void clutter_deform_effect_set_n_tiles(DeformEffect* this_, uint x_tiles, uint y_tiles) nothrow;
22602 DesaturateEffect* clutter_desaturate_effect_new(double factor) nothrow;
22603 double clutter_desaturate_effect_get_factor(DesaturateEffect* this_) nothrow;
22604 void clutter_desaturate_effect_set_factor(DesaturateEffect* this_, double factor) nothrow;
22605 DeviceManager* clutter_device_manager_get_default() nothrow;
22606 InputDevice* clutter_device_manager_get_core_device(DeviceManager* this_, InputDeviceType device_type) nothrow;
22607 InputDevice* clutter_device_manager_get_device(DeviceManager* this_, int device_id) nothrow;
22608 GLib2.SList* /*new container*/ clutter_device_manager_list_devices(DeviceManager* this_) nothrow;
22609 GLib2.SList* clutter_device_manager_peek_devices(DeviceManager* this_) nothrow;
22610 DragAction* clutter_drag_action_new() nothrow;
22611 DragAxis clutter_drag_action_get_drag_axis(DragAction* this_) nothrow;
22612 Actor* clutter_drag_action_get_drag_handle(DragAction* this_) nothrow;
22613 void clutter_drag_action_get_drag_threshold(DragAction* this_, /*out*/ uint* x_threshold, /*out*/ uint* y_threshold) nothrow;
22614 void clutter_drag_action_get_motion_coords(DragAction* this_, /*out*/ float* motion_x, /*out*/ float* motion_y) nothrow;
22615 void clutter_drag_action_get_press_coords(DragAction* this_, /*out*/ float* press_x, /*out*/ float* press_y) nothrow;
22616 void clutter_drag_action_set_drag_axis(DragAction* this_, DragAxis axis) nothrow;
22617 void clutter_drag_action_set_drag_handle(DragAction* this_, Actor* handle=null) nothrow;
22618 void clutter_drag_action_set_drag_threshold(DragAction* this_, int x_threshold, int y_threshold) nothrow;
22619 DropAction* clutter_drop_action_new() nothrow;
22620 void clutter_effect_queue_repaint(Effect* this_) nothrow;
22621 Event* /*new*/ clutter_event_new(EventType type) nothrow;
22622 Event* /*new*/ clutter_event_copy(Event* this_) nothrow;
22623 void clutter_event_free(Event* this_) nothrow;
22624 double* clutter_event_get_axes(Event* this_, /*out*/ uint* n_axes) nothrow;
22625 uint clutter_event_get_button(Event* this_) nothrow;
22626 uint clutter_event_get_click_count(Event* this_) nothrow;
22627 void clutter_event_get_coords(Event* this_, /*out*/ float* x, /*out*/ float* y) nothrow;
22628 InputDevice* clutter_event_get_device(Event* this_) nothrow;
22629 int clutter_event_get_device_id(Event* this_) nothrow;
22630 InputDeviceType clutter_event_get_device_type(Event* this_) nothrow;
22631 EventFlags clutter_event_get_flags(Event* this_) nothrow;
22632 ushort clutter_event_get_key_code(Event* this_) nothrow;
22633 uint clutter_event_get_key_symbol(Event* this_) nothrow;
22634 uint clutter_event_get_key_unicode(Event* this_) nothrow;
22635 Actor* clutter_event_get_related(Event* this_) nothrow;
22636 ScrollDirection clutter_event_get_scroll_direction(Event* this_) nothrow;
22637 Actor* clutter_event_get_source(Event* this_) nothrow;
22638 InputDevice* clutter_event_get_source_device(Event* this_) nothrow;
22639 Stage* clutter_event_get_stage(Event* this_) nothrow;
22640 ModifierType clutter_event_get_state(Event* this_) nothrow;
22641 uint clutter_event_get_time(Event* this_) nothrow;
22642 void clutter_event_put(Event* this_) nothrow;
22643 void clutter_event_set_button(Event* this_, uint button) nothrow;
22644 void clutter_event_set_coords(Event* this_, float x, float y) nothrow;
22645 void clutter_event_set_device(Event* this_, InputDevice* device=null) nothrow;
22646 void clutter_event_set_flags(Event* this_, EventFlags flags) nothrow;
22647 void clutter_event_set_key_code(Event* this_, ushort key_code) nothrow;
22648 void clutter_event_set_key_symbol(Event* this_, uint key_sym) nothrow;
22649 void clutter_event_set_key_unicode(Event* this_, uint key_unicode) nothrow;
22650 void clutter_event_set_related(Event* this_, Actor* actor=null) nothrow;
22651 void clutter_event_set_scroll_direction(Event* this_, ScrollDirection direction) nothrow;
22652 void clutter_event_set_source(Event* this_, Actor* actor=null) nothrow;
22653 void clutter_event_set_source_device(Event* this_, InputDevice* device=null) nothrow;
22654 void clutter_event_set_stage(Event* this_, Stage* stage=null) nothrow;
22655 void clutter_event_set_state(Event* this_, ModifierType state) nothrow;
22656 void clutter_event_set_time(Event* this_, uint time_) nothrow;
22657 EventType clutter_event_type(Event* this_) nothrow;
22658 Event* /*new*/ clutter_event_get() nothrow;
22659 Event* clutter_event_peek() nothrow;
22660 FixedLayout* clutter_fixed_layout_new() nothrow;
22661 FlowLayout* clutter_flow_layout_new(FlowOrientation orientation) nothrow;
22662 float clutter_flow_layout_get_column_spacing(FlowLayout* this_) nothrow;
22663 void clutter_flow_layout_get_column_width(FlowLayout* this_, /*out*/ float* min_width, /*out*/ float* max_width) nothrow;
22664 int clutter_flow_layout_get_homogeneous(FlowLayout* this_) nothrow;
22665 FlowOrientation clutter_flow_layout_get_orientation(FlowLayout* this_) nothrow;
22666 void clutter_flow_layout_get_row_height(FlowLayout* this_, /*out*/ float* min_height, /*out*/ float* max_height) nothrow;
22667 float clutter_flow_layout_get_row_spacing(FlowLayout* this_) nothrow;
22668 void clutter_flow_layout_set_column_spacing(FlowLayout* this_, float spacing) nothrow;
22669 void clutter_flow_layout_set_column_width(FlowLayout* this_, float min_width, float max_width) nothrow;
22670 void clutter_flow_layout_set_homogeneous(FlowLayout* this_, int homogeneous) nothrow;
22671 void clutter_flow_layout_set_orientation(FlowLayout* this_, FlowOrientation orientation) nothrow;
22672 void clutter_flow_layout_set_row_height(FlowLayout* this_, float min_height, float max_height) nothrow;
22673 void clutter_flow_layout_set_row_spacing(FlowLayout* this_, float spacing) nothrow;
22674 int clutter_geometry_intersects(Geometry* this_, Geometry* geometry1) nothrow;
22675 void clutter_geometry_union(Geometry* this_, Geometry* geometry_b, /*out*/ Geometry* result) nothrow;
22676 GestureAction* clutter_gesture_action_new() nothrow;
22677 void clutter_gesture_action_get_motion_coords(GestureAction* this_, uint device, /*out*/ float* motion_x, /*out*/ float* motion_y) nothrow;
22678 void clutter_gesture_action_get_press_coords(GestureAction* this_, uint device, /*out*/ float* press_x, /*out*/ float* press_y) nothrow;
22679 void clutter_gesture_action_get_release_coords(GestureAction* this_, uint device, /*out*/ float* release_x, /*out*/ float* release_y) nothrow;
22680 Group* clutter_group_new() nothrow;
22681 int clutter_group_get_n_children(Group* this_) nothrow;
22682 Actor* clutter_group_get_nth_child(Group* this_, int index_) nothrow;
22683 void clutter_group_remove_all(Group* this_) nothrow;
22684 InputDevice* clutter_input_device_get_associated_device(InputDevice* this_) nothrow;
22685 InputAxis clutter_input_device_get_axis(InputDevice* this_, uint index_) nothrow;
22686 int clutter_input_device_get_axis_value(InputDevice* this_, double* axes, InputAxis axis, /*out*/ double* value) nothrow;
22687 void clutter_input_device_get_device_coords(InputDevice* this_, /*out*/ int* x, /*out*/ int* y) nothrow;
22688 int clutter_input_device_get_device_id(InputDevice* this_) nothrow;
22689 InputMode clutter_input_device_get_device_mode(InputDevice* this_) nothrow;
22690 char* clutter_input_device_get_device_name(InputDevice* this_) nothrow;
22691 InputDeviceType clutter_input_device_get_device_type(InputDevice* this_) nothrow;
22692 int clutter_input_device_get_enabled(InputDevice* this_) nothrow;
22693 Actor* clutter_input_device_get_grabbed_actor(InputDevice* this_) nothrow;
22694 int clutter_input_device_get_has_cursor(InputDevice* this_) nothrow;
22695 int clutter_input_device_get_key(InputDevice* this_, uint index_, /*out*/ uint* keyval, /*out*/ ModifierType* modifiers) nothrow;
22696 uint clutter_input_device_get_n_axes(InputDevice* this_) nothrow;
22697 uint clutter_input_device_get_n_keys(InputDevice* this_) nothrow;
22698 Actor* clutter_input_device_get_pointer_actor(InputDevice* this_) nothrow;
22699 Stage* clutter_input_device_get_pointer_stage(InputDevice* this_) nothrow;
22700 GLib2.List* /*new container*/ clutter_input_device_get_slave_devices(InputDevice* this_) nothrow;
22701 void clutter_input_device_grab(InputDevice* this_, Actor* actor) nothrow;
22702 void clutter_input_device_set_enabled(InputDevice* this_, int enabled) nothrow;
22703 void clutter_input_device_set_key(InputDevice* this_, uint index_, uint keyval, ModifierType modifiers) nothrow;
22704 void clutter_input_device_ungrab(InputDevice* this_) nothrow;
22705 void clutter_input_device_update_from_event(InputDevice* this_, Event* event, int update_stage) nothrow;
22706 Interval* clutter_interval_new(Type gtype, ...) nothrow;
22707 Interval* clutter_interval_new_with_values(Type gtype, GObject2.Value* initial, GObject2.Value* final_) nothrow;
22708 void clutter_interval_register_progress_func(Type value_type, ProgressFunc func) nothrow;
22709 Interval* /*new*/ clutter_interval_clone(Interval* this_) nothrow;
22710 GObject2.Value* clutter_interval_compute(Interval* this_, double factor) nothrow;
22711 int clutter_interval_compute_value(Interval* this_, double factor, /*out*/ GObject2.Value* value) nothrow;
22712 void clutter_interval_get_final_value(Interval* this_, /*out*/ GObject2.Value* value) nothrow;
22713 void clutter_interval_get_initial_value(Interval* this_, /*out*/ GObject2.Value* value) nothrow;
22714 void clutter_interval_get_interval(Interval* this_, ...) nothrow;
22715 Type clutter_interval_get_value_type(Interval* this_) nothrow;
22716 GObject2.Value* clutter_interval_peek_final_value(Interval* this_) nothrow;
22717 GObject2.Value* clutter_interval_peek_initial_value(Interval* this_) nothrow;
22718 void clutter_interval_set_final_value(Interval* this_, GObject2.Value* value) nothrow;
22719 void clutter_interval_set_initial_value(Interval* this_, GObject2.Value* value) nothrow;
22720 void clutter_interval_set_interval(Interval* this_, ...) nothrow;
22721 int clutter_interval_validate(Interval* this_, GObject2.ParamSpec* pspec) nothrow;
22722 Knot* /*new*/ clutter_knot_copy(Knot* this_) nothrow;
22723 int clutter_knot_equal(Knot* this_, Knot* knot_b) nothrow;
22724 void clutter_knot_free(Knot* this_) nothrow;
22725 void clutter_layout_manager_allocate(LayoutManager* this_, Container* container, ActorBox* allocation, AllocationFlags flags) nothrow;
22726 Alpha* clutter_layout_manager_begin_animation(LayoutManager* this_, uint duration, c_ulong mode) nothrow;
22727 void clutter_layout_manager_child_get(LayoutManager* this_, Container* container, Actor* actor, char* first_property, ...) nothrow;
22728 void clutter_layout_manager_child_get_property(LayoutManager* this_, Container* container, Actor* actor, char* property_name, GObject2.Value* value) nothrow;
22729 void clutter_layout_manager_child_set(LayoutManager* this_, Container* container, Actor* actor, char* first_property, ...) nothrow;
22730 void clutter_layout_manager_child_set_property(LayoutManager* this_, Container* container, Actor* actor, char* property_name, GObject2.Value* value) nothrow;
22731 void clutter_layout_manager_end_animation(LayoutManager* this_) nothrow;
22732 GObject2.ParamSpec* clutter_layout_manager_find_child_property(LayoutManager* this_, char* name) nothrow;
22733 double clutter_layout_manager_get_animation_progress(LayoutManager* this_) nothrow;
22734 LayoutMeta* clutter_layout_manager_get_child_meta(LayoutManager* this_, Container* container, Actor* actor) nothrow;
22735 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) nothrow;
22736 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) nothrow;
22737 void clutter_layout_manager_layout_changed(LayoutManager* this_) nothrow;
22738 GObject2.ParamSpec** /*new*/ clutter_layout_manager_list_child_properties(LayoutManager* this_, /*out*/ uint* n_pspecs) nothrow;
22739 void clutter_layout_manager_set_container(LayoutManager* this_, Container* container=null) nothrow;
22740 LayoutManager* clutter_layout_meta_get_manager(LayoutMeta* this_) nothrow;
22741 ListModel* /*new*/ clutter_list_model_new(uint n_columns, ...) nothrow;
22742 ListModel* /*new*/ clutter_list_model_newv(uint n_columns, Type* types, char* names) nothrow;
22743 Margin* /*new*/ clutter_margin_new() nothrow;
22744 Margin* /*new*/ clutter_margin_copy(Margin* this_) nothrow;
22745 void clutter_margin_free(Margin* this_) nothrow;
22746 double clutter_media_get_audio_volume(Media* this_) nothrow;
22747 double clutter_media_get_buffer_fill(Media* this_) nothrow;
22748 int clutter_media_get_can_seek(Media* this_) nothrow;
22749 double clutter_media_get_duration(Media* this_) nothrow;
22750 int clutter_media_get_playing(Media* this_) nothrow;
22751 double clutter_media_get_progress(Media* this_) nothrow;
22752 char* /*new*/ clutter_media_get_subtitle_font_name(Media* this_) nothrow;
22753 char* /*new*/ clutter_media_get_subtitle_uri(Media* this_) nothrow;
22754 char* /*new*/ clutter_media_get_uri(Media* this_) nothrow;
22755 void clutter_media_set_audio_volume(Media* this_, double volume) nothrow;
22756 void clutter_media_set_filename(Media* this_, char* filename) nothrow;
22757 void clutter_media_set_playing(Media* this_, int playing) nothrow;
22758 void clutter_media_set_progress(Media* this_, double progress) nothrow;
22759 void clutter_media_set_subtitle_font_name(Media* this_, char* font_name) nothrow;
22760 void clutter_media_set_subtitle_uri(Media* this_, char* uri) nothrow;
22761 void clutter_media_set_uri(Media* this_, char* uri) nothrow;
22762 void clutter_model_append(Model* this_, ...) nothrow;
22763 void clutter_model_appendv(Model* this_, uint n_columns, uint* columns, GObject2.Value* values) nothrow;
22764 int clutter_model_filter_iter(Model* this_, ModelIter* iter) nothrow;
22765 int clutter_model_filter_row(Model* this_, uint row) nothrow;
22766 void clutter_model_foreach(Model* this_, ModelForeachFunc func, void* user_data) nothrow;
22767 char* clutter_model_get_column_name(Model* this_, uint column) nothrow;
22768 Type clutter_model_get_column_type(Model* this_, uint column) nothrow;
22769 int clutter_model_get_filter_set(Model* this_) nothrow;
22770 ModelIter* /*new*/ clutter_model_get_first_iter(Model* this_) nothrow;
22771 ModelIter* /*new*/ clutter_model_get_iter_at_row(Model* this_, uint row) nothrow;
22772 ModelIter* /*new*/ clutter_model_get_last_iter(Model* this_) nothrow;
22773 uint clutter_model_get_n_columns(Model* this_) nothrow;
22774 uint clutter_model_get_n_rows(Model* this_) nothrow;
22775 int clutter_model_get_sorting_column(Model* this_) nothrow;
22776 void clutter_model_insert(Model* this_, uint row, ...) nothrow;
22777 void clutter_model_insert_value(Model* this_, uint row, uint column, GObject2.Value* value) nothrow;
22778 void clutter_model_insertv(Model* this_, uint row, uint n_columns, uint* columns, GObject2.Value* values) nothrow;
22779 void clutter_model_prepend(Model* this_, ...) nothrow;
22780 void clutter_model_prependv(Model* this_, uint n_columns, uint* columns, GObject2.Value* values) nothrow;
22781 void clutter_model_remove(Model* this_, uint row) nothrow;
22782 void clutter_model_resort(Model* this_) nothrow;
22783 void clutter_model_set_filter(Model* this_, ModelFilterFunc func, void* user_data, GLib2.DestroyNotify notify) nothrow;
22784 void clutter_model_set_names(Model* this_, uint n_columns, char* names) nothrow;
22785 void clutter_model_set_sort(Model* this_, int column, ModelSortFunc func, void* user_data, GLib2.DestroyNotify notify) nothrow;
22786 void clutter_model_set_sorting_column(Model* this_, int column) nothrow;
22787 void clutter_model_set_types(Model* this_, uint n_columns, Type* types) nothrow;
22788 ModelIter* /*new*/ clutter_model_iter_copy(ModelIter* this_) nothrow;
22789 void clutter_model_iter_get(ModelIter* this_, ...) nothrow;
22790 Model* clutter_model_iter_get_model(ModelIter* this_) nothrow;
22791 uint clutter_model_iter_get_row(ModelIter* this_) nothrow;
22792 void clutter_model_iter_get_valist(ModelIter* this_, va_list args) nothrow;
22793 void clutter_model_iter_get_value(ModelIter* this_, uint column, /*out*/ GObject2.Value* value) nothrow;
22794 int clutter_model_iter_is_first(ModelIter* this_) nothrow;
22795 int clutter_model_iter_is_last(ModelIter* this_) nothrow;
22796 ModelIter* clutter_model_iter_next(ModelIter* this_) nothrow;
22797 ModelIter* clutter_model_iter_prev(ModelIter* this_) nothrow;
22798 void clutter_model_iter_set(ModelIter* this_, ...) nothrow;
22799 void clutter_model_iter_set_valist(ModelIter* this_, va_list args) nothrow;
22800 void clutter_model_iter_set_value(ModelIter* this_, uint column, GObject2.Value* value) nothrow;
22801 Cogl.Handle /*new*/ clutter_offscreen_effect_create_texture(OffscreenEffect* this_, float width, float height) nothrow;
22802 Cogl.Material* clutter_offscreen_effect_get_target(OffscreenEffect* this_) nothrow;
22803 int clutter_offscreen_effect_get_target_size(OffscreenEffect* this_, /*out*/ float* width, /*out*/ float* height) nothrow;
22804 void clutter_offscreen_effect_paint_target(OffscreenEffect* this_) nothrow;
22805 PageTurnEffect* clutter_page_turn_effect_new(double period, double angle, float radius) nothrow;
22806 double clutter_page_turn_effect_get_angle(PageTurnEffect* this_) nothrow;
22807 double clutter_page_turn_effect_get_period(PageTurnEffect* this_) nothrow;
22808 float clutter_page_turn_effect_get_radius(PageTurnEffect* this_) nothrow;
22809 void clutter_page_turn_effect_set_angle(PageTurnEffect* this_, double angle) nothrow;
22810 void clutter_page_turn_effect_set_period(PageTurnEffect* this_, double period) nothrow;
22811 void clutter_page_turn_effect_set_radius(PageTurnEffect* this_, float radius) nothrow;
22812 PaintVolume* /*new*/ clutter_paint_volume_copy(PaintVolume* this_) nothrow;
22813 void clutter_paint_volume_free(PaintVolume* this_) nothrow;
22814 float clutter_paint_volume_get_depth(PaintVolume* this_) nothrow;
22815 float clutter_paint_volume_get_height(PaintVolume* this_) nothrow;
22816 void clutter_paint_volume_get_origin(PaintVolume* this_, /*out*/ Vertex* vertex) nothrow;
22817 float clutter_paint_volume_get_width(PaintVolume* this_) nothrow;
22818 void clutter_paint_volume_set_depth(PaintVolume* this_, float depth) nothrow;
22819 int clutter_paint_volume_set_from_allocation(PaintVolume* this_, Actor* actor) nothrow;
22820 void clutter_paint_volume_set_height(PaintVolume* this_, float height) nothrow;
22821 void clutter_paint_volume_set_origin(PaintVolume* this_, Vertex* origin) nothrow;
22822 void clutter_paint_volume_set_width(PaintVolume* this_, float width) nothrow;
22823 void clutter_paint_volume_union(PaintVolume* this_, PaintVolume* another_pv) nothrow;
22824 Path* clutter_path_new() nothrow;
22825 Path* clutter_path_new_with_description(char* desc) nothrow;
22826 void clutter_path_add_cairo_path(Path* this_, cairo.Path* cpath) nothrow;
22827 void clutter_path_add_close(Path* this_) nothrow;
22828 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) nothrow;
22829 void clutter_path_add_line_to(Path* this_, int x, int y) nothrow;
22830 void clutter_path_add_move_to(Path* this_, int x, int y) nothrow;
22831 void clutter_path_add_node(Path* this_, PathNode* node) nothrow;
22832 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) nothrow;
22833 void clutter_path_add_rel_line_to(Path* this_, int x, int y) nothrow;
22834 void clutter_path_add_rel_move_to(Path* this_, int x, int y) nothrow;
22835 int clutter_path_add_string(Path* this_, char* str) nothrow;
22836 void clutter_path_clear(Path* this_) nothrow;
22837 void clutter_path_foreach(Path* this_, PathCallback callback, void* user_data) nothrow;
22838 char* /*new*/ clutter_path_get_description(Path* this_) nothrow;
22839 uint clutter_path_get_length(Path* this_) nothrow;
22840 uint clutter_path_get_n_nodes(Path* this_) nothrow;
22841 void clutter_path_get_node(Path* this_, uint index_, /*out*/ PathNode* node) nothrow;
22842 GLib2.SList* /*new container*/ clutter_path_get_nodes(Path* this_) nothrow;
22843 uint clutter_path_get_position(Path* this_, double progress, /*out*/ Knot* position) nothrow;
22844 void clutter_path_insert_node(Path* this_, int index_, PathNode* node) nothrow;
22845 void clutter_path_remove_node(Path* this_, uint index_) nothrow;
22846 void clutter_path_replace_node(Path* this_, uint index_, PathNode* node) nothrow;
22847 int clutter_path_set_description(Path* this_, char* str) nothrow;
22848 void clutter_path_to_cairo_path(Path* this_, cairo.Context* cr) nothrow;
22849 PathConstraint* /*new*/ clutter_path_constraint_new(Path* path, float offset) nothrow;
22850 float clutter_path_constraint_get_offset(PathConstraint* this_) nothrow;
22851 Path* clutter_path_constraint_get_path(PathConstraint* this_) nothrow;
22852 void clutter_path_constraint_set_offset(PathConstraint* this_, float offset) nothrow;
22853 void clutter_path_constraint_set_path(PathConstraint* this_, Path* path=null) nothrow;
22854 PathNode* /*new*/ clutter_path_node_copy(PathNode* this_) nothrow;
22855 int clutter_path_node_equal(PathNode* this_, PathNode* node_b) nothrow;
22856 void clutter_path_node_free(PathNode* this_) nothrow;
22857 Rectangle* clutter_rectangle_new() nothrow;
22858 Rectangle* clutter_rectangle_new_with_color(Color* color) nothrow;
22859 void clutter_rectangle_get_border_color(Rectangle* this_, /*out*/ Color* color) nothrow;
22860 uint clutter_rectangle_get_border_width(Rectangle* this_) nothrow;
22861 void clutter_rectangle_get_color(Rectangle* this_, /*out*/ Color* color) nothrow;
22862 void clutter_rectangle_set_border_color(Rectangle* this_, Color* color) nothrow;
22863 void clutter_rectangle_set_border_width(Rectangle* this_, uint width) nothrow;
22864 void clutter_rectangle_set_color(Rectangle* this_, Color* color) nothrow;
22865 Score* /*new*/ clutter_score_new() nothrow;
22866 c_ulong clutter_score_append(Score* this_, Timeline* parent, Timeline* timeline) nothrow;
22867 c_ulong clutter_score_append_at_marker(Score* this_, Timeline* parent, char* marker_name, Timeline* timeline) nothrow;
22868 int clutter_score_get_loop(Score* this_) nothrow;
22869 Timeline* clutter_score_get_timeline(Score* this_, c_ulong id_) nothrow;
22870 int clutter_score_is_playing(Score* this_) nothrow;
22871 GLib2.SList* /*new container*/ clutter_score_list_timelines(Score* this_) nothrow;
22872 void clutter_score_pause(Score* this_) nothrow;
22873 void clutter_score_remove(Score* this_, c_ulong id_) nothrow;
22874 void clutter_score_remove_all(Score* this_) nothrow;
22875 void clutter_score_rewind(Score* this_) nothrow;
22876 void clutter_score_set_loop(Score* this_, int loop) nothrow;
22877 void clutter_score_start(Score* this_) nothrow;
22878 void clutter_score_stop(Score* this_) nothrow;
22879 Script* /*new*/ clutter_script_new() nothrow;
22880 void clutter_script_add_search_paths(Script* this_, char* paths, size_t n_paths) nothrow;
22881 void clutter_script_add_states(Script* this_, char* name, State* state) nothrow;
22882 void clutter_script_connect_signals(Script* this_, void* user_data) nothrow;
22883 void clutter_script_connect_signals_full(Script* this_, ScriptConnectFunc func, void* user_data) nothrow;
22884 void clutter_script_ensure_objects(Script* this_) nothrow;
22885 GObject2.Object* clutter_script_get_object(Script* this_, char* name) nothrow;
22886 int clutter_script_get_objects(Script* this_, char* first_name, ...) nothrow;
22887 State* clutter_script_get_states(Script* this_, char* name=null) nothrow;
22888 Type clutter_script_get_type_from_name(Script* this_, char* type_name) nothrow;
22889 GLib2.List* /*new container*/ clutter_script_list_objects(Script* this_) nothrow;
22890 uint clutter_script_load_from_data(Script* this_, char* data, ssize_t length, GLib2.Error** error) nothrow;
22891 uint clutter_script_load_from_file(Script* this_, char* filename, GLib2.Error** error) nothrow;
22892 uint clutter_script_load_from_resource(Script* this_, char* resource_path, GLib2.Error** error) nothrow;
22893 char* /*new*/ clutter_script_lookup_filename(Script* this_, char* filename) nothrow;
22894 void clutter_script_unmerge_objects(Script* this_, uint merge_id) nothrow;
22895 char* clutter_scriptable_get_id(Scriptable* this_) nothrow;
22896 int clutter_scriptable_parse_custom_node(Scriptable* this_, Script* script, GObject2.Value* value, char* name, Json.Node* node) nothrow;
22897 void clutter_scriptable_set_custom_property(Scriptable* this_, Script* script, char* name, GObject2.Value* value) nothrow;
22898 void clutter_scriptable_set_id(Scriptable* this_, char* id_) nothrow;
22899 Settings* clutter_settings_get_default() nothrow;
22900 Shader* /*new*/ clutter_shader_new() nothrow;
22901 GLib2.Quark clutter_shader_error_quark() nothrow;
22902 int clutter_shader_compile(Shader* this_, GLib2.Error** error) nothrow;
22903 Cogl.Handle clutter_shader_get_cogl_fragment_shader(Shader* this_) nothrow;
22904 Cogl.Handle clutter_shader_get_cogl_program(Shader* this_) nothrow;
22905 Cogl.Handle clutter_shader_get_cogl_vertex_shader(Shader* this_) nothrow;
22906 char* clutter_shader_get_fragment_source(Shader* this_) nothrow;
22907 int clutter_shader_get_is_enabled(Shader* this_) nothrow;
22908 char* clutter_shader_get_vertex_source(Shader* this_) nothrow;
22909 int clutter_shader_is_compiled(Shader* this_) nothrow;
22910 void clutter_shader_release(Shader* this_) nothrow;
22911 void clutter_shader_set_fragment_source(Shader* this_, char* data, ssize_t length) nothrow;
22912 void clutter_shader_set_is_enabled(Shader* this_, int enabled) nothrow;
22913 void clutter_shader_set_uniform(Shader* this_, char* name, GObject2.Value* value) nothrow;
22914 void clutter_shader_set_vertex_source(Shader* this_, char* data, ssize_t length) nothrow;
22915 ShaderEffect* /*new*/ clutter_shader_effect_new(ShaderType shader_type) nothrow;
22916 Cogl.Handle clutter_shader_effect_get_program(ShaderEffect* this_) nothrow;
22917 Cogl.Handle clutter_shader_effect_get_shader(ShaderEffect* this_) nothrow;
22918 int clutter_shader_effect_set_shader_source(ShaderEffect* this_, char* source) nothrow;
22919 void clutter_shader_effect_set_uniform(ShaderEffect* this_, char* name, Type gtype, size_t n_values, ...) nothrow;
22920 void clutter_shader_effect_set_uniform_value(ShaderEffect* this_, char* name, GObject2.Value* value) nothrow;
22921 SnapConstraint* clutter_snap_constraint_new(Actor* source, SnapEdge from_edge, SnapEdge to_edge, float offset) nothrow;
22922 void clutter_snap_constraint_get_edges(SnapConstraint* this_, /*out*/ SnapEdge* from_edge, /*out*/ SnapEdge* to_edge) nothrow;
22923 float clutter_snap_constraint_get_offset(SnapConstraint* this_) nothrow;
22924 Actor* clutter_snap_constraint_get_source(SnapConstraint* this_) nothrow;
22925 void clutter_snap_constraint_set_edges(SnapConstraint* this_, SnapEdge from_edge, SnapEdge to_edge) nothrow;
22926 void clutter_snap_constraint_set_offset(SnapConstraint* this_, float offset) nothrow;
22927 void clutter_snap_constraint_set_source(SnapConstraint* this_, Actor* source=null) nothrow;
22928 Stage* clutter_stage_new() nothrow;
22929 Clutter.Stage* clutter_stage_get_default() nothrow;
22930 void clutter_stage_ensure_current(Stage* this_) nothrow;
22931 void clutter_stage_ensure_redraw(Stage* this_) nothrow;
22932 void clutter_stage_ensure_viewport(Stage* this_) nothrow;
22933 int clutter_stage_event(Stage* this_, Event* event) nothrow;
22934 int clutter_stage_get_accept_focus(Stage* this_) nothrow;
22935 Actor* clutter_stage_get_actor_at_pos(Stage* this_, PickMode pick_mode, int x, int y) nothrow;
22936 void clutter_stage_get_color(Stage* this_, /*out*/ Color* color) nothrow;
22937 void clutter_stage_get_fog(Stage* this_, /*out*/ Fog* fog) nothrow;
22938 int clutter_stage_get_fullscreen(Stage* this_) nothrow;
22939 Actor* clutter_stage_get_key_focus(Stage* this_) nothrow;
22940 void clutter_stage_get_minimum_size(Stage* this_, /*out*/ uint* width, /*out*/ uint* height) nothrow;
22941 int clutter_stage_get_motion_events_enabled(Stage* this_) nothrow;
22942 int clutter_stage_get_no_clear_hint(Stage* this_) nothrow;
22943 void clutter_stage_get_perspective(Stage* this_, /*out*/ Perspective* perspective=null) nothrow;
22944 void clutter_stage_get_redraw_clip_bounds(Stage* this_, /*out*/ cairo.RectangleInt* clip) nothrow;
22945 int clutter_stage_get_throttle_motion_events(Stage* this_) nothrow;
22946 char* clutter_stage_get_title(Stage* this_) nothrow;
22947 int clutter_stage_get_use_alpha(Stage* this_) nothrow;
22948 int clutter_stage_get_use_fog(Stage* this_) nothrow;
22949 int clutter_stage_get_user_resizable(Stage* this_) nothrow;
22950 void clutter_stage_hide_cursor(Stage* this_) nothrow;
22951 int clutter_stage_is_default(Stage* this_) nothrow;
22952 void clutter_stage_queue_redraw(Stage* this_) nothrow;
22953 ubyte* clutter_stage_read_pixels(Stage* this_, int x, int y, int width, int height) nothrow;
22954 void clutter_stage_set_accept_focus(Stage* this_, int accept_focus) nothrow;
22955 void clutter_stage_set_color(Stage* this_, Color* color) nothrow;
22956 void clutter_stage_set_fog(Stage* this_, Fog* fog) nothrow;
22957 void clutter_stage_set_fullscreen(Stage* this_, int fullscreen) nothrow;
22958 void clutter_stage_set_key_focus(Stage* this_, Actor* actor=null) nothrow;
22959 void clutter_stage_set_minimum_size(Stage* this_, uint width, uint height) nothrow;
22960 void clutter_stage_set_motion_events_enabled(Stage* this_, int enabled) nothrow;
22961 void clutter_stage_set_no_clear_hint(Stage* this_, int no_clear) nothrow;
22962 void clutter_stage_set_perspective(Stage* this_, Perspective* perspective) nothrow;
22963 void clutter_stage_set_throttle_motion_events(Stage* this_, int throttle) nothrow;
22964 void clutter_stage_set_title(Stage* this_, char* title) nothrow;
22965 void clutter_stage_set_use_alpha(Stage* this_, int use_alpha) nothrow;
22966 void clutter_stage_set_use_fog(Stage* this_, int fog) nothrow;
22967 void clutter_stage_set_user_resizable(Stage* this_, int resizable) nothrow;
22968 void clutter_stage_show_cursor(Stage* this_) nothrow;
22969 StageManager* clutter_stage_manager_get_default() nothrow;
22970 Stage* clutter_stage_manager_get_default_stage(StageManager* this_) nothrow;
22971 GLib2.SList* /*new container*/ clutter_stage_manager_list_stages(StageManager* this_) nothrow;
22972 GLib2.SList* clutter_stage_manager_peek_stages(StageManager* this_) nothrow;
22973 void clutter_stage_manager_set_default_stage(StageManager* this_, Stage* stage) nothrow;
22974 State* /*new*/ clutter_state_new() nothrow;
22975 Animator* clutter_state_get_animator(State* this_, char* source_state_name, char* target_state_name) nothrow;
22976 uint clutter_state_get_duration(State* this_, char* source_state_name=null, char* target_state_name=null) nothrow;
22977 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) nothrow;
22978 char* clutter_state_get_state(State* this_) nothrow;
22979 GLib2.List* /*new container*/ clutter_state_get_states(State* this_) nothrow;
22980 Timeline* clutter_state_get_timeline(State* this_) nothrow;
22981 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) nothrow;
22982 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, ...) nothrow;
22983 void clutter_state_set_animator(State* this_, char* source_state_name, char* target_state_name, Animator* animator=null) nothrow;
22984 void clutter_state_set_duration(State* this_, char* source_state_name, char* target_state_name, uint duration) nothrow;
22985 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) nothrow;
22986 Timeline* clutter_state_set_state(State* this_, char* target_state_name) nothrow;
22987 Timeline* clutter_state_warp_to_state(State* this_, char* target_state_name) nothrow;
22988 c_ulong clutter_state_key_get_mode(StateKey* this_) nothrow;
22989 GObject2.Object* clutter_state_key_get_object(StateKey* this_) nothrow;
22990 double clutter_state_key_get_post_delay(StateKey* this_) nothrow;
22991 double clutter_state_key_get_pre_delay(StateKey* this_) nothrow;
22992 char* clutter_state_key_get_property_name(StateKey* this_) nothrow;
22993 Type clutter_state_key_get_property_type(StateKey* this_) nothrow;
22994 char* clutter_state_key_get_source_state_name(StateKey* this_) nothrow;
22995 char* clutter_state_key_get_target_state_name(StateKey* this_) nothrow;
22996 int clutter_state_key_get_value(StateKey* this_, GObject2.Value* value) nothrow;
22997 SwipeAction* clutter_swipe_action_new() nothrow;
22998 TableLayout* clutter_table_layout_new() nothrow;
22999 void clutter_table_layout_get_alignment(TableLayout* this_, Actor* actor, /*out*/ TableAlignment* x_align, /*out*/ TableAlignment* y_align) nothrow;
23000 int clutter_table_layout_get_column_count(TableLayout* this_) nothrow;
23001 uint clutter_table_layout_get_column_spacing(TableLayout* this_) nothrow;
23002 uint clutter_table_layout_get_easing_duration(TableLayout* this_) nothrow;
23003 c_ulong clutter_table_layout_get_easing_mode(TableLayout* this_) nothrow;
23004 void clutter_table_layout_get_expand(TableLayout* this_, Actor* actor, /*out*/ int* x_expand, /*out*/ int* y_expand) nothrow;
23005 void clutter_table_layout_get_fill(TableLayout* this_, Actor* actor, /*out*/ int* x_fill, /*out*/ int* y_fill) nothrow;
23006 int clutter_table_layout_get_row_count(TableLayout* this_) nothrow;
23007 uint clutter_table_layout_get_row_spacing(TableLayout* this_) nothrow;
23008 void clutter_table_layout_get_span(TableLayout* this_, Actor* actor, /*out*/ int* column_span, /*out*/ int* row_span) nothrow;
23009 int clutter_table_layout_get_use_animations(TableLayout* this_) nothrow;
23010 void clutter_table_layout_pack(TableLayout* this_, Actor* actor, int column, int row) nothrow;
23011 void clutter_table_layout_set_alignment(TableLayout* this_, Actor* actor, TableAlignment x_align, TableAlignment y_align) nothrow;
23012 void clutter_table_layout_set_column_spacing(TableLayout* this_, uint spacing) nothrow;
23013 void clutter_table_layout_set_easing_duration(TableLayout* this_, uint msecs) nothrow;
23014 void clutter_table_layout_set_easing_mode(TableLayout* this_, c_ulong mode) nothrow;
23015 void clutter_table_layout_set_expand(TableLayout* this_, Actor* actor, int x_expand, int y_expand) nothrow;
23016 void clutter_table_layout_set_fill(TableLayout* this_, Actor* actor, int x_fill, int y_fill) nothrow;
23017 void clutter_table_layout_set_row_spacing(TableLayout* this_, uint spacing) nothrow;
23018 void clutter_table_layout_set_span(TableLayout* this_, Actor* actor, int column_span, int row_span) nothrow;
23019 void clutter_table_layout_set_use_animations(TableLayout* this_, int animate) nothrow;
23020 Text* clutter_text_new() nothrow;
23021 Text* clutter_text_new_full(char* font_name, char* text, Color* color) nothrow;
23022 Text* clutter_text_new_with_buffer(TextBuffer* buffer) nothrow;
23023 Text* clutter_text_new_with_text(char* font_name, char* text) nothrow;
23024 int clutter_text_activate(Text* this_) nothrow;
23025 int clutter_text_coords_to_position(Text* this_, float x, float y) nothrow;
23026 void clutter_text_delete_chars(Text* this_, uint n_chars) nothrow;
23027 int clutter_text_delete_selection(Text* this_) nothrow;
23028 void clutter_text_delete_text(Text* this_, ssize_t start_pos, ssize_t end_pos) nothrow;
23029 int clutter_text_get_activatable(Text* this_) nothrow;
23030 Pango.AttrList* clutter_text_get_attributes(Text* this_) nothrow;
23031 TextBuffer* clutter_text_get_buffer(Text* this_) nothrow;
23032 char* /*new*/ clutter_text_get_chars(Text* this_, ssize_t start_pos, ssize_t end_pos) nothrow;
23033 void clutter_text_get_color(Text* this_, /*out*/ Color* color) nothrow;
23034 void clutter_text_get_cursor_color(Text* this_, /*out*/ Color* color) nothrow;
23035 int clutter_text_get_cursor_position(Text* this_) nothrow;
23036 uint clutter_text_get_cursor_size(Text* this_) nothrow;
23037 int clutter_text_get_cursor_visible(Text* this_) nothrow;
23038 int clutter_text_get_editable(Text* this_) nothrow;
23039 Pango.EllipsizeMode clutter_text_get_ellipsize(Text* this_) nothrow;
23040 Pango.FontDescription* /*new*/ clutter_text_get_font_description(Text* this_) nothrow;
23041 char* clutter_text_get_font_name(Text* this_) nothrow;
23042 int clutter_text_get_justify(Text* this_) nothrow;
23043 Pango.Layout* clutter_text_get_layout(Text* this_) nothrow;
23044 void clutter_text_get_layout_offsets(Text* this_, /*out*/ int* x, /*out*/ int* y) nothrow;
23045 Pango.Alignment clutter_text_get_line_alignment(Text* this_) nothrow;
23046 int clutter_text_get_line_wrap(Text* this_) nothrow;
23047 Pango.WrapMode clutter_text_get_line_wrap_mode(Text* this_) nothrow;
23048 int clutter_text_get_max_length(Text* this_) nothrow;
23049 dchar clutter_text_get_password_char(Text* this_) nothrow;
23050 int clutter_text_get_selectable(Text* this_) nothrow;
23051 void clutter_text_get_selected_text_color(Text* this_, /*out*/ Color* color) nothrow;
23052 char* /*new*/ clutter_text_get_selection(Text* this_) nothrow;
23053 int clutter_text_get_selection_bound(Text* this_) nothrow;
23054 void clutter_text_get_selection_color(Text* this_, /*out*/ Color* color) nothrow;
23055 int clutter_text_get_single_line_mode(Text* this_) nothrow;
23056 char* clutter_text_get_text(Text* this_) nothrow;
23057 int clutter_text_get_use_markup(Text* this_) nothrow;
23058 void clutter_text_insert_text(Text* this_, char* text, ssize_t position) nothrow;
23059 void clutter_text_insert_unichar(Text* this_, dchar wc) nothrow;
23060 int clutter_text_position_to_coords(Text* this_, int position, /*out*/ float* x, /*out*/ float* y, /*out*/ float* line_height) nothrow;
23061 void clutter_text_set_activatable(Text* this_, int activatable) nothrow;
23062 void clutter_text_set_attributes(Text* this_, Pango.AttrList* attrs) nothrow;
23063 void clutter_text_set_buffer(Text* this_, TextBuffer* buffer) nothrow;
23064 void clutter_text_set_color(Text* this_, Color* color) nothrow;
23065 void clutter_text_set_cursor_color(Text* this_, Color* color) nothrow;
23066 void clutter_text_set_cursor_position(Text* this_, int position) nothrow;
23067 void clutter_text_set_cursor_size(Text* this_, int size) nothrow;
23068 void clutter_text_set_cursor_visible(Text* this_, int cursor_visible) nothrow;
23069 void clutter_text_set_editable(Text* this_, int editable) nothrow;
23070 void clutter_text_set_ellipsize(Text* this_, Pango.EllipsizeMode mode) nothrow;
23071 void clutter_text_set_font_description(Text* this_, Pango.FontDescription* font_desc) nothrow;
23072 void clutter_text_set_font_name(Text* this_, char* font_name=null) nothrow;
23073 void clutter_text_set_justify(Text* this_, int justify) nothrow;
23074 void clutter_text_set_line_alignment(Text* this_, Pango.Alignment alignment) nothrow;
23075 void clutter_text_set_line_wrap(Text* this_, int line_wrap) nothrow;
23076 void clutter_text_set_line_wrap_mode(Text* this_, Pango.WrapMode wrap_mode) nothrow;
23077 void clutter_text_set_markup(Text* this_, char* markup) nothrow;
23078 void clutter_text_set_max_length(Text* this_, int max) nothrow;
23079 void clutter_text_set_password_char(Text* this_, dchar wc) nothrow;
23080 void clutter_text_set_preedit_string(Text* this_, char* preedit_str, Pango.AttrList* preedit_attrs, uint cursor_pos) nothrow;
23081 void clutter_text_set_selectable(Text* this_, int selectable) nothrow;
23082 void clutter_text_set_selected_text_color(Text* this_, Color* color) nothrow;
23083 void clutter_text_set_selection(Text* this_, ssize_t start_pos, ssize_t end_pos) nothrow;
23084 void clutter_text_set_selection_bound(Text* this_, int selection_bound) nothrow;
23085 void clutter_text_set_selection_color(Text* this_, Color* color) nothrow;
23086 void clutter_text_set_single_line_mode(Text* this_, int single_line) nothrow;
23087 void clutter_text_set_text(Text* this_, char* text) nothrow;
23088 void clutter_text_set_use_markup(Text* this_, int setting) nothrow;
23089 TextBuffer* /*new*/ clutter_text_buffer_new() nothrow;
23090 TextBuffer* /*new*/ clutter_text_buffer_new_with_text(char* text, ssize_t text_len) nothrow;
23091 uint clutter_text_buffer_delete_text(TextBuffer* this_, uint position, int n_chars) nothrow;
23092 void clutter_text_buffer_emit_deleted_text(TextBuffer* this_, uint position, uint n_chars) nothrow;
23093 void clutter_text_buffer_emit_inserted_text(TextBuffer* this_, uint position, char* chars, uint n_chars) nothrow;
23094 size_t clutter_text_buffer_get_bytes(TextBuffer* this_) nothrow;
23095 uint clutter_text_buffer_get_length(TextBuffer* this_) nothrow;
23096 int clutter_text_buffer_get_max_length(TextBuffer* this_) nothrow;
23097 char* clutter_text_buffer_get_text(TextBuffer* this_) nothrow;
23098 uint clutter_text_buffer_insert_text(TextBuffer* this_, uint position, char* chars, int n_chars) nothrow;
23099 void clutter_text_buffer_set_max_length(TextBuffer* this_, int max_length) nothrow;
23100 void clutter_text_buffer_set_text(TextBuffer* this_, char* chars, int n_chars) nothrow;
23101 Texture* clutter_texture_new() nothrow;
23102 Texture* clutter_texture_new_from_actor(Actor* actor) nothrow;
23103 Texture* clutter_texture_new_from_file(char* filename, GLib2.Error** error) nothrow;
23104 void clutter_texture_get_base_size(Texture* this_, /*out*/ int* width, /*out*/ int* height) nothrow;
23105 Cogl.Handle clutter_texture_get_cogl_material(Texture* this_) nothrow;
23106 Cogl.Handle clutter_texture_get_cogl_texture(Texture* this_) nothrow;
23107 TextureQuality clutter_texture_get_filter_quality(Texture* this_) nothrow;
23108 int clutter_texture_get_keep_aspect_ratio(Texture* this_) nothrow;
23109 int clutter_texture_get_load_async(Texture* this_) nothrow;
23110 int clutter_texture_get_load_data_async(Texture* this_) nothrow;
23111 int clutter_texture_get_max_tile_waste(Texture* this_) nothrow;
23112 int clutter_texture_get_pick_with_alpha(Texture* this_) nothrow;
23113 Cogl.PixelFormat clutter_texture_get_pixel_format(Texture* this_) nothrow;
23114 void clutter_texture_get_repeat(Texture* this_, /*out*/ int* repeat_x, /*out*/ int* repeat_y) nothrow;
23115 int clutter_texture_get_sync_size(Texture* this_) nothrow;
23116 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) nothrow;
23117 void clutter_texture_set_cogl_material(Texture* this_, Cogl.Handle cogl_material) nothrow;
23118 void clutter_texture_set_cogl_texture(Texture* this_, Cogl.Handle cogl_tex) nothrow;
23119 void clutter_texture_set_filter_quality(Texture* this_, TextureQuality filter_quality) nothrow;
23120 int clutter_texture_set_from_file(Texture* this_, char* filename, GLib2.Error** error) nothrow;
23121 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) nothrow;
23122 int clutter_texture_set_from_yuv_data(Texture* this_, ubyte* data, int width, int height, TextureFlags flags, GLib2.Error** error) nothrow;
23123 void clutter_texture_set_keep_aspect_ratio(Texture* this_, int keep_aspect) nothrow;
23124 void clutter_texture_set_load_async(Texture* this_, int load_async) nothrow;
23125 void clutter_texture_set_load_data_async(Texture* this_, int load_async) nothrow;
23126 void clutter_texture_set_pick_with_alpha(Texture* this_, int pick_with_alpha) nothrow;
23127 void clutter_texture_set_repeat(Texture* this_, int repeat_x, int repeat_y) nothrow;
23128 void clutter_texture_set_sync_size(Texture* this_, int sync_size) nothrow;
23129 Timeline* /*new*/ clutter_timeline_new(uint msecs) nothrow;
23130 void clutter_timeline_add_marker_at_time(Timeline* this_, char* marker_name, uint msecs) nothrow;
23131 void clutter_timeline_advance(Timeline* this_, uint msecs) nothrow;
23132 void clutter_timeline_advance_to_marker(Timeline* this_, char* marker_name) nothrow;
23133 Timeline* /*new*/ clutter_timeline_clone(Timeline* this_) nothrow;
23134 int clutter_timeline_get_auto_reverse(Timeline* this_) nothrow;
23135 uint clutter_timeline_get_delay(Timeline* this_) nothrow;
23136 uint clutter_timeline_get_delta(Timeline* this_) nothrow;
23137 TimelineDirection clutter_timeline_get_direction(Timeline* this_) nothrow;
23138 uint clutter_timeline_get_duration(Timeline* this_) nothrow;
23139 uint clutter_timeline_get_elapsed_time(Timeline* this_) nothrow;
23140 int clutter_timeline_get_loop(Timeline* this_) nothrow;
23141 double clutter_timeline_get_progress(Timeline* this_) nothrow;
23142 int clutter_timeline_has_marker(Timeline* this_, char* marker_name) nothrow;
23143 int clutter_timeline_is_playing(Timeline* this_) nothrow;
23144 char** /*new*/ clutter_timeline_list_markers(Timeline* this_, int msecs, /*out*/ size_t* n_markers) nothrow;
23145 void clutter_timeline_pause(Timeline* this_) nothrow;
23146 void clutter_timeline_remove_marker(Timeline* this_, char* marker_name) nothrow;
23147 void clutter_timeline_rewind(Timeline* this_) nothrow;
23148 void clutter_timeline_set_auto_reverse(Timeline* this_, int reverse) nothrow;
23149 void clutter_timeline_set_delay(Timeline* this_, uint msecs) nothrow;
23150 void clutter_timeline_set_direction(Timeline* this_, TimelineDirection direction) nothrow;
23151 void clutter_timeline_set_duration(Timeline* this_, uint msecs) nothrow;
23152 void clutter_timeline_set_loop(Timeline* this_, int loop) nothrow;
23153 void clutter_timeline_skip(Timeline* this_, uint msecs) nothrow;
23154 void clutter_timeline_start(Timeline* this_) nothrow;
23155 void clutter_timeline_stop(Timeline* this_) nothrow;
23156 uint clutter_timeout_pool_add(TimeoutPool* this_, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) nothrow;
23157 void clutter_timeout_pool_remove(TimeoutPool* this_, uint id_) nothrow;
23158 TimeoutPool* clutter_timeout_pool_new(int priority) nothrow;
23159 Units* /*new*/ clutter_units_copy(Units* this_) nothrow;
23160 void clutter_units_free(Units* this_) nothrow;
23161 void clutter_units_from_cm(Units* this_, float cm) nothrow;
23162 void clutter_units_from_em(Units* this_, float em) nothrow;
23163 void clutter_units_from_em_for_font(Units* this_, char* font_name, float em) nothrow;
23164 void clutter_units_from_mm(Units* this_, float mm) nothrow;
23165 void clutter_units_from_pixels(Units* this_, int px) nothrow;
23166 void clutter_units_from_pt(Units* this_, float pt) nothrow;
23167 int clutter_units_from_string(Units* this_, char* str) nothrow;
23168 UnitType clutter_units_get_unit_type(Units* this_) nothrow;
23169 float clutter_units_get_unit_value(Units* this_) nothrow;
23170 float clutter_units_to_pixels(Units* this_) nothrow;
23171 char* /*new*/ clutter_units_to_string(Units* this_) nothrow;
23172 Vertex* /*new*/ clutter_vertex_new(float x, float y, float z) nothrow;
23173 Vertex* /*new*/ clutter_vertex_copy(Vertex* this_) nothrow;
23174 int clutter_vertex_equal(Vertex* this_, Vertex* vertex_b) nothrow;
23175 void clutter_vertex_free(Vertex* this_) nothrow;
23176 void clutter_base_init() nothrow;
23177 void clutter_cairo_set_source_color(cairo.Context* cr, Color* color) nothrow;
23178 int clutter_check_version(uint major, uint minor, uint micro) nothrow;
23179 int clutter_check_windowing_backend(char* backend_type) nothrow;
23180 void clutter_clear_glyph_cache() nothrow;
23181 void clutter_do_event(Event* event) nothrow;
23182 int clutter_events_pending() nothrow;
23183 int clutter_feature_available(FeatureFlags feature) nothrow;
23184 FeatureFlags clutter_feature_get_all() nothrow;
23185 uint clutter_frame_source_add(uint fps, GLib2.SourceFunc func, void* data) nothrow;
23186 uint clutter_frame_source_add_full(int priority, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) nothrow;
23187 int clutter_get_accessibility_enabled() nothrow;
23188 Actor* clutter_get_actor_by_gid(uint id_) nothrow;
23189 Event* clutter_get_current_event() nothrow;
23190 uint clutter_get_current_event_time() nothrow;
23191 int clutter_get_debug_enabled() nothrow;
23192 Backend* clutter_get_default_backend() nothrow;
23193 uint clutter_get_default_frame_rate() nothrow;
23194 TextDirection clutter_get_default_text_direction() nothrow;
23195 FontFlags clutter_get_font_flags() nothrow;
23196 Pango.FontMap* clutter_get_font_map() nothrow;
23197 InputDevice* clutter_get_input_device_for_id(int id_) nothrow;
23198 Actor* clutter_get_keyboard_grab() nothrow;
23199 int clutter_get_motion_events_enabled() nothrow;
23200 GLib2.OptionGroup* /*new*/ clutter_get_option_group() nothrow;
23201 GLib2.OptionGroup* /*new*/ clutter_get_option_group_without_init() nothrow;
23202 Actor* clutter_get_pointer_grab() nothrow;
23203 char* clutter_get_script_id(GObject2.Object* gobject) nothrow;
23204 int clutter_get_show_fps() nothrow;
23205 c_ulong clutter_get_timestamp() nothrow;
23206 void clutter_grab_keyboard(Actor* actor) nothrow;
23207 void clutter_grab_pointer(Actor* actor) nothrow;
23208 void clutter_grab_pointer_for_device(Actor* actor, int id_) nothrow;
23209 InitError clutter_init(/*inout*/ int* argc, /*inout*/ char*** argv=null) nothrow;
23210 GLib2.Quark clutter_init_error_quark() nothrow;
23211 InitError clutter_init_with_args(/*inout*/ int* argc, /*inout*/ char*** argv, char* parameter_string, GLib2.OptionEntry* entries, char* translation_domain, GLib2.Error** error) nothrow;
23212 uint clutter_keysym_to_unicode(uint keyval) nothrow;
23213 void clutter_main() nothrow;
23214 int clutter_main_level() nothrow;
23215 void clutter_main_quit() nothrow;
23216 GObject2.ParamSpec* clutter_param_spec_color(char* name, char* nick, char* blurb, Color* default_value, GObject2.ParamFlags flags) nothrow;
23217 GObject2.ParamSpec* /*new*/ clutter_param_spec_fixed(char* name, char* nick, char* blurb, Cogl.Fixed minimum, Cogl.Fixed maximum, Cogl.Fixed default_value, GObject2.ParamFlags flags) nothrow;
23218 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) nothrow;
23219 void clutter_redraw(Stage* stage) nothrow;
23220 GLib2.Quark clutter_script_error_quark() nothrow;
23221 void clutter_set_default_frame_rate(uint frames_per_sec) nothrow;
23222 void clutter_set_font_flags(FontFlags flags) nothrow;
23223 void clutter_set_motion_events_enabled(int enable) nothrow;
23224 GLib2.Quark clutter_texture_error_quark() nothrow;
23225 uint clutter_threads_add_frame_source(uint fps, GLib2.SourceFunc func, void* data) nothrow;
23226 uint clutter_threads_add_frame_source_full(int priority, uint fps, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) nothrow;
23227 uint clutter_threads_add_idle(GLib2.SourceFunc func, void* data) nothrow;
23228 uint clutter_threads_add_idle_full(int priority, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) nothrow;
23229 uint clutter_threads_add_repaint_func(GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) nothrow;
23230 uint clutter_threads_add_timeout(uint interval, GLib2.SourceFunc func, void* data) nothrow;
23231 uint clutter_threads_add_timeout_full(int priority, uint interval, GLib2.SourceFunc func, void* data, GLib2.DestroyNotify notify) nothrow;
23232 void clutter_threads_enter() nothrow;
23233 void clutter_threads_init() nothrow;
23234 void clutter_threads_leave() nothrow;
23235 void clutter_threads_remove_repaint_func(uint handle_id) nothrow;
23236 void clutter_threads_set_lock_functions(GObject2.Callback enter_fn, GObject2.Callback leave_fn) nothrow;
23237 void clutter_ungrab_keyboard() nothrow;
23238 void clutter_ungrab_pointer() nothrow;
23239 void clutter_ungrab_pointer_for_device(int id_) nothrow;
23240 uint clutter_unicode_to_keysym(uint wc) nothrow;
23241 int clutter_util_next_p2(int a) nothrow;
23242 Color* clutter_value_get_color(GObject2.Value* value) nothrow;
23243 Cogl.Fixed clutter_value_get_fixed(GObject2.Value* value) nothrow;
23244 float* clutter_value_get_shader_float(GObject2.Value* value, size_t* length) nothrow;
23245 int* clutter_value_get_shader_int(GObject2.Value* value, size_t* length) nothrow;
23246 float* clutter_value_get_shader_matrix(GObject2.Value* value, /*out*/ size_t* length) nothrow;
23247 Units* clutter_value_get_units(GObject2.Value* value) nothrow;
23248 void clutter_value_set_color(GObject2.Value* value, Color* color) nothrow;
23249 void clutter_value_set_fixed(GObject2.Value* value, Cogl.Fixed fixed_) nothrow;
23250 void clutter_value_set_shader_float(GObject2.Value* value, int size, float* floats) nothrow;
23251 void clutter_value_set_shader_int(GObject2.Value* value, int size, int* ints) nothrow;
23252 void clutter_value_set_shader_matrix(GObject2.Value* value, int size, float* matrix) nothrow;
23253 void clutter_value_set_units(GObject2.Value* value, Units* units) nothrow;