2 // Automatically generated from "/usr/share/gir-1.0/Clutter-1.0.gir"
5 public import gtk2
.atk
;
7 public import gtk2
.cogl
;
9 public import gtk2
.coglpango
;
10 alias gtk2
.coglpango CoglPango
;
11 public import gtk2
.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
;
19 public import gtk2
.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"]
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;
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
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
;
136 private uint private_flags
;
137 private ActorPrivate
* priv
;
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();
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()
161 // <action>: a #ClutterAction
162 void add_action(AT0
)(AT0
/*Action*/ action
) nothrow {
163 clutter_actor_add_action(&this, UpCast
!(Action
*)(action
));
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:
173 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
174 // clutter_actor_add_action (self, action);
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
));
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
193 // <child>: a #ClutterActor
194 void add_child(AT0
)(AT0
/*Actor*/ child
) nothrow {
195 clutter_actor_add_child(&this, UpCast
!(Actor
*)(child
));
199 // Adds @constraint to the list of #ClutterConstraint<!-- -->s applied
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
));
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:
217 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
218 // clutter_actor_add_constraint (self, constraint);
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
));
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
232 // <effect>: a #ClutterEffect
233 void add_effect(AT0
)(AT0
/*Effect*/ effect
) nothrow {
234 clutter_actor_add_effect(&this, UpCast
!(Effect
*)(effect
));
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:
244 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
245 // clutter_actor_add_effect (self, effect);
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
));
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
);
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
);
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:
304 // if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
306 // clutter_actor_get_preferred_width (self, available_height,
308 // &natural_width);
309 // width = CLAMP (natural_width, min_width, available_width);
311 // clutter_actor_get_preferred_height (self, width,
313 // &natural_height);
314 // height = CLAMP (natural_height, min_height, available_height);
318 // clutter_actor_get_preferred_height (self, available_width,
320 // &natural_height);
321 // height = CLAMP (natural_height, min_height, available_height);
323 // clutter_actor_get_preferred_width (self, height,
325 // &natural_width);
326 // width = CLAMP (natural_width, min_width, available_width);
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, &box, flags);
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
);
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
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()
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:
374 // clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
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:
392 // clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
393 // "rotation-angle-z", 360.0,
394 // "fixed::rotation-center-z", &center,
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
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:
415 // on_animation_completed (ClutterAnimation *animation,
416 // ClutterActor *actor)
418 // clutter_actor_hide (actor);
421 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
423 // "signal::completed", on_animation_completed, actor,
427 // or, to automatically destroy an actor at the end of the animation:
430 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
432 // "signal-swapped-after::completed",
433 // clutter_actor_destroy,
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:
455 // clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
459 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
466 // is the equivalent of:
469 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
477 // <note>Unless the animation is looping, the #ClutterAnimation created by
478 // clutter_actor_animate() will become invalid as soon as it is
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:
490 // on_animation_completed (ClutterAnimation *animation,
491 // ClutterActor *actor)
493 // clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
500 // animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
504 // g_signal_connect (animation, "completed",
505 // G_CALLBACK (on_animation_completed),
510 // owned by the #ClutterActor and should not be unreferenced with
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()
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
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()
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
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
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
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
));
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
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
));
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
));
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
));
664 // Clears the list of actions applied to @self
665 void clear_actions()() nothrow {
666 clutter_actor_clear_actions(&this);
670 // Clears the list of constraints applied to @self
671 void clear_constraints()() nothrow {
672 clutter_actor_clear_constraints(&this);
676 // Clears the list of effects applied to @self
677 void clear_effects()() nothrow {
678 clutter_actor_clear_effects(&this);
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
));
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);
702 // Creates a #PangoContext for the given actor. The #PangoContext
703 // is already configured using the appropriate font map, resolution
706 // See also clutter_actor_get_pango_context().
708 // Use g_object_unref() on the returned value to deallocate its
710 // RETURNS: the newly created #PangoContext.
711 Pango
.Context
* /*new*/ create_pango_context()() nothrow {
712 return clutter_actor_create_pango_context(&this);
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
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);
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);
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
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
);
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:
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>
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
798 // RETURNS: the #AtkObject associated with @actor
799 Atk
.Object
* get_accessible()() nothrow {
800 return clutter_actor_get_accessible(&this);
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
));
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
822 GLib2
.List
* /*new container*/ get_actions()() nothrow {
823 return clutter_actor_get_actions(&this);
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
));
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
));
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:
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>
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
);
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
));
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);
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);
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
));
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_
);
919 // Retrieves the list of children of @self.
921 // allocated #GList of #ClutterActor<!-- -->s. Use g_list_free() when
924 GLib2
.List
* /*new container*/ get_children()() nothrow {
925 return clutter_actor_get_children(&this);
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
));
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);
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
));
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
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);
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
));
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
993 GLib2
.List
* /*new container*/ get_effects()() nothrow {
994 return clutter_actor_get_effects(&this);
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
1003 // RETURNS: a pointer to a #ClutterActor, or %NULL
1004 Actor
* get_first_child()() nothrow {
1005 return clutter_actor_get_first_child(&this);
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);
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()
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
));
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
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);
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
1073 // RETURNS: a pointer to a #ClutterActor, or %NULL
1074 Actor
* get_last_child()() nothrow {
1075 return clutter_actor_get_last_child(&this);
1079 // Retrieves the #ClutterLayoutManager used by @self.
1082 // RETURNS: a pointer to the #ClutterLayoutManager,
1083 LayoutManager
* get_layout_manager()() nothrow {
1084 return clutter_actor_get_layout_manager(&this);
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
));
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);
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);
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);
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);
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);
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
1144 // RETURNS: a pointer to a #ClutterActor, or %NULL
1145 Actor
* get_next_sibling()() nothrow {
1146 return clutter_actor_get_next_sibling(&this);
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);
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
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.
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
));
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);
1202 // Retrieves the 'paint' visibility of an actor recursively checking for non
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);
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
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);
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);
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
));
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
));
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
));
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
));
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
1337 // RETURNS: a pointer to a #ClutterActor, or %NULL
1338 Actor
* get_previous_sibling()() nothrow {
1339 return clutter_actor_get_previous_sibling(&this);
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);
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);
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
));
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
));
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
));
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);
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);
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
));
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);
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);
1443 // Retrieves the transformations applied to @self relative to its
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
));
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
));
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
));
1479 // Gets the absolute size of an actor in pixels, taking into account the
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
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
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
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);
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
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);
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);
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);
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);
1602 // Returns whether the actor has any actions applied.
1605 // RETURNS: %TRUE if the actor has any actions,
1606 int has_actions()() nothrow {
1607 return clutter_actor_has_actions(&this);
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);
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);
1634 // Returns whether the actor has any constraints applied.
1637 // RETURNS: %TRUE if the actor has any constraints,
1638 int has_constraints()() nothrow {
1639 return clutter_actor_has_constraints(&this);
1643 // Returns whether the actor has any effects applied.
1646 // RETURNS: %TRUE if the actor has any effects,
1647 int has_effects()() nothrow {
1648 return clutter_actor_has_effects(&this);
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);
1659 // Asks the actor's implementation whether it may contain overlapping
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.
1671 // RETURNS: %TRUE if the actor may have overlapping primitives, and
1672 int has_overlaps()() nothrow {
1673 return clutter_actor_has_overlaps(&this);
1677 // Checks whether an actor contains the pointer of a
1678 // #ClutterInputDevice
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);
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);
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
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
1719 // This function will emit the #ClutterContainer::actor-added signal
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
));
1728 // Inserts @child into the list of children of @self, using the
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
1737 // This function will emit the #ClutterContainer::actor-added signal
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_
);
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
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
1756 // This function will emit the #ClutterContainer::actor-added signal
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
));
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
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);
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);
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);
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
1826 void map()() nothrow {
1827 clutter_actor_map(&this);
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
);
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
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
);
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);
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);
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:
1903 // my_actor_init (MyActor *self)
1905 // self->priv = SELF_ACTOR_GET_PRIVATE (self);
1907 // clutter_actor_push_internal (CLUTTER_ACTOR (self));
1909 // /* calling clutter_actor_set_parent() now will result in
1910 // * the internal flag being set on a child of MyActor
1913 // /* internal child - a background texture */
1914 // self->priv->background_tex = clutter_texture_new ();
1915 // clutter_actor_set_parent (self->priv->background_tex,
1916 // CLUTTER_ACTOR (self));
1918 // /* internal child - a label */
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 // /* calling clutter_actor_set_parent() now will not result in
1926 // * the internal flag being set on a child of MyActor
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
1936 // Call clutter_actor_pop_internal() when you finished adding internal
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
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);
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
));
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);
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
));
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
));
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);
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
2066 // This function will emit the #ClutterContainer::actor-removed
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);
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
));
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
));
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
));
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
));
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
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
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
));
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
));
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
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
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()
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:
2178 // my_actor_allocate (ClutterActor *actor,
2179 // const ClutterActorBox *allocation,
2180 // ClutterAllocationFlags flags)
2182 // ClutterActorBox new_alloc;
2183 // ClutterAllocationFlags new_flags;
2185 // adjust_allocation (allocation, &new_alloc);
2187 // new_flags = flags | CLUTTER_DELEGATE_LAYOUT;
2189 // /* this will use the layout manager set on the actor */
2190 // clutter_actor_set_allocation (actor, &new_alloc, new_flags);
2194 // is equivalent to this:
2198 // my_actor_allocate (ClutterActor *actor,
2199 // const ClutterActorBox *allocation,
2200 // ClutterAllocationFlags flags)
2202 // ClutterLayoutManager *layout;
2203 // ClutterActorBox new_alloc;
2205 // adjust_allocation (allocation, &new_alloc);
2207 // clutter_actor_set_allocation (actor, &new_alloc, flags);
2209 // layout = clutter_actor_get_layout_manager (actor);
2210 // clutter_layout_manager_allocate (layout,
2211 // CLUTTER_CONTAINER (actor),
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
);
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
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
);
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
);
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
));
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
));
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_
);
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
));
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
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
);
2313 // Sets whether @self should be clipped to the same size as its
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
);
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
);
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
));
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
);
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
));
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
));
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
);
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
);
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
);
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
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
));
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
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"/>
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
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
);
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
);
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
);
2539 // Sets the rotation angle of @self around the given axis.
2541 // The rotation center coordinates used depend on the value of @axis:
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>
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
);
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
);
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
);
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
);
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
2602 // <note>Any #ClutterEffect applied to @self will take the precedence
2603 // over the #ClutterShader set using this function.</note>
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
));
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
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
));
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
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
);
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
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
);
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
);
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
);
2691 // Sets the actor's X coordinate, relative to its parent, in pixels.
2693 // Overrides any layout manager and forces a fixed position for
2695 // <x>: the actor's position on the X axis
2696 void set_x()(float x
) nothrow {
2697 clutter_actor_set_x(&this, x
);
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
);
2711 // Sets the actor's Y coordinate, relative to its parent, in pixels.#
2713 // Overrides any layout manager and forces a fixed position for
2715 // <y>: the actor's position on the Y axis
2716 void set_y()(float y
) nothrow {
2717 clutter_actor_set_y(&this, y
);
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
);
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.
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
2762 void show()() nothrow {
2763 clutter_actor_show(&this);
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);
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
));
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);
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);
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
);
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
);
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
);
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
);
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
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
);
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
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
);
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
);
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
);
2986 // The ::hide signal is emitted when an actor is no longer rendered
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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:
3143 // on_redraw_complete (gpointer data)
3145 // ClutterStage *stage = data;
3147 // /* execute the Clutter drawing pipeline */
3148 // clutter_stage_ensure_redraw (stage);
3152 // on_stage_queue_redraw (ClutterStage *stage)
3154 // /* this prevents the default handler to run */
3155 // g_signal_stop_emission_by_name (stage, "queue-redraw");
3157 // /* queue a redraw with the host toolkit and call
3158 // * a function when the redraw has been completed
3160 // queue_a_redraw (G_CALLBACK (on_redraw_complete), stage);
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
);
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
);
3197 // The ::realize signal is emitted each time an actor is being
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
);
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
);
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
);
3234 // The ::unrealize signal is emitted each time an actor is being
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 */ {
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
3263 float x1
, y1
, x2
, y2
;
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
);
3284 // Clamps the components of @box to the nearest integer
3285 void clamp_to_pixel()() nothrow {
3286 clutter_actor_box_clamp_to_pixel(&this);
3290 // Checks whether a point with @x, @y coordinates is contained
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
);
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);
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
));
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);
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
);
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);
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);
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
));
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
));
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);
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);
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);
3383 // Interpolates between @initial and @final #ClutterActorBox<!-- -->es
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
));
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
);
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
);
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.
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.
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
;
3486 private void* dummy5
;
3490 // Initializes a #ClutterActorIter, which can then be used to iterate
3491 // efficiently over a section of the scene graph, and associates it
3494 // Modifying the scene graph section that contains @root will invalidate
3498 // ClutterActorIter iter;
3499 // ClutterActor *child;
3501 // clutter_actor_iter_init (&iter, container);
3502 // while (clutter_actor_iter_next (&iter, &child))
3504 // /* do something with child */
3507 // <root>: a #ClutterActor
3508 void init(AT0
)(AT0
/*Actor*/ root
) nothrow {
3509 clutter_actor_iter_init(&this, UpCast
!(Actor
*)(root
));
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
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
));
3531 // Safely removes the #ClutterActor currently pointer to by the iterator
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
;
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);
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);
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
3575 // RETURNS: the name of the #ClutterActorMeta
3576 char* get_name()() nothrow {
3577 return clutter_actor_meta_get_name(&this);
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
);
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
3625 enum AlignAxis
/* Version 1.4 */ {
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
;
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
);
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);
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);
3670 // Retrieves the source of the alignment
3673 // RETURNS: the #ClutterActor used as the source
3674 Actor
* get_source()() nothrow {
3675 return clutter_align_constraint_get_source(&this);
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
);
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
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
);
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,
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__
;
3728 alias parent super_
;
3729 alias parent initiallyunowned
;
3730 GObject2
.InitiallyUnowned parent
;
3731 private AlphaPrivate
* priv
;
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();
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
);
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
);
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()
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
));
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);
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);
3825 // Gets the #ClutterTimeline bound to @alpha.
3826 // RETURNS: a #ClutterTimeline instance
3827 Timeline
* get_timeline()() nothrow {
3828 return clutter_alpha_get_timeline(&this);
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
));
3840 // Sets the #ClutterAlphaFunc function used to compute
3841 // the alpha value at each frame of the #ClutterTimeline
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
);
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
);
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
;
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
3897 struct Animatable
/* Interface */ /* Version 1.0 */ {
3898 mixin template __interface__() {
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
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
));
3926 // Finds the #GParamSpec for @property_name
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
));
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
));
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
));
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
;
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();
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_
));
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
));
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);
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);
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);
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
));
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);
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);
4130 // Retrieves the #GObject attached to @animation.
4131 // RETURNS: a #GObject
4132 GObject2
.Object
* get_object()() nothrow {
4133 return clutter_animation_get_object(&this);
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);
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
));
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
));
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
);
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);
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
);
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
));
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
));
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
));
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_
));
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
));
4238 // The ::completed signal is emitted once the animation has
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
);
4257 // The ::started signal is emitted once the animation has been
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 */ {
4298 EASE_IN_OUT_QUAD
= 4,
4301 EASE_IN_OUT_CUBIC
= 7,
4304 EASE_IN_OUT_QUART
= 10,
4306 EASE_OUT_QUINT
= 12,
4307 EASE_IN_OUT_QUINT
= 13,
4310 EASE_IN_OUT_SINE
= 16,
4313 EASE_IN_OUT_EXPO
= 19,
4316 EASE_IN_OUT_CIRC
= 22,
4317 EASE_IN_ELASTIC
= 23,
4318 EASE_OUT_ELASTIC
= 24,
4319 EASE_IN_OUT_ELASTIC
= 25,
4322 EASE_IN_OUT_BACK
= 28,
4323 EASE_IN_BOUNCE
= 29,
4324 EASE_OUT_BOUNCE
= 30,
4325 EASE_IN_OUT_BOUNCE
= 31,
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
;
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();
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
));
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);
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()
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
);
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);
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
));
4409 // Get the interpolation used by animator for a property on a particular
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
));
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
);
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
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
);
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()
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
4466 // Runs the timeline of the #ClutterAnimator with a duration in msecs
4468 // <duration>: milliseconds a run of the animator should last.
4469 void set_duration()(uint duration
) nothrow {
4470 clutter_animator_set_duration(&this, duration
);
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
));
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
));
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 */ {
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);
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);
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);
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);
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);
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
4564 // Use g_value_unset() when done.
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 */ {
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;
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
;
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);
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);
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);
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);
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.
4847 // RETURNS: the current resolution, or -1 if no resolution
4848 double get_resolution()() nothrow {
4849 return clutter_backend_get_resolution(&this);
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
);
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
);
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
));
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
));
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
);
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
);
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
);
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__
;
4958 alias parent super_
;
4959 alias parent object
;
4960 GObject2
.Object parent
;
4961 private BehaviourPrivate
* priv
;
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
));
4974 // DEPRECATED method: apply - 1.6
4975 // Applies @behave to @actor. This function adds a reference on
4977 // <actor>: a #ClutterActor
4978 void apply(AT0
)(AT0
/*Actor*/ actor
) nothrow {
4979 clutter_behaviour_apply(&this, UpCast
!(Actor
*)(actor
));
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);
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);
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);
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_
);
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
));
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
));
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);
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
));
5064 // DEPRECATED glib:signal: applied - 1.6
5065 // The ::apply signal is emitted each time the behaviour is applied
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
);
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
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
;
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
);
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
);
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
;
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
);
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);
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);
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
);
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
);
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);
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);
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
));
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);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
{
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
5356 struct BehaviourOpacity
/* : Behaviour */ /* Version 0.2 */ {
5357 mixin Scriptable
.__interface__
;
5359 alias parent super_
;
5360 alias parent behaviour
;
5362 private BehaviourOpacityPrivate
* priv
;
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
);
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
));
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
5420 struct BehaviourPath
/* : Behaviour */ /* Version 0.2 */ {
5421 mixin Scriptable
.__interface__
;
5423 alias parent super_
;
5424 alias parent behaviour
;
5426 private BehaviourPathPrivate
* priv
;
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
));
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
));
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
);
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);
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
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
));
5510 // DEPRECATED glib:signal: knot-reached - 1.6
5511 // This signal is emitted each time a node defined inside the path
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
;
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
);
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);
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
));
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
);
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);
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
);
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
);
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
);
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
;
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
);
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
));
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 */ {
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
;
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
);
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
);
5766 // Retrieves the horizontal and vertical alignment policies for
5769 // If @child is %NULL the default alignment policies will be returned
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
));
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
;
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
);
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);
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);
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);
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
);
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
);
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 */ {
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
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
;
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
));
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
));
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:
5942 // pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
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
));
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:
5960 // void (* callback) (GObject *gobject,
5961 // const gchar *action_name,
5963 // ClutterModifierType modifiers,
5964 // gpointer user_data);
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
));
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
));
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
);
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
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
);
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
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
));
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
);
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
));
6083 // Removes the action matching the given @key_val, @modifiers pair,
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
);
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
;
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
;
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
));
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
));
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
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()
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()
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()
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()
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
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()
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
6258 // DEPRECATED (v1.10) method: packv - Use clutter_actor_add_child() instead.
6259 // Vector-based variant of clutter_box_pack(), intended for language
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
));
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
));
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 */ {
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
;
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();
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
));
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);
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);
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
));
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
);
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);
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);
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);
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);
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);
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
);
6427 // Sets the horizontal and vertical alignment policies for @actor
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
);
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
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
);
6448 // Sets the easing mode to be used by @layout when animating changes in layout
6451 // Use clutter_box_layout_set_use_animations() to enable and disable the
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
);
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
);
6467 // Sets the horizontal and vertical fill policies for @actor
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
);
6477 // Sets whether the size of @layout children should be
6479 // <homogeneous>: %TRUE if the layout should be homogeneous
6480 void set_homogeneous()(int homogeneous
) nothrow {
6481 clutter_box_layout_set_homogeneous(&this, homogeneous
);
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
);
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
);
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
);
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
{
6532 enum int Break
= 65387;
6533 enum int BrightnessAdjust
= 269025083;
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 */ {
6547 ModifierType modifier_state
;
6551 InputDevice
* device
;
6554 enum int Byelorussian_SHORTU
= 1726;
6555 enum int Byelorussian_shortu
= 1710;
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
;
6579 // Creates a new #ClutterCairoTexture actor, with a surface of @width by
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
);
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);
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);
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
);
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);
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
));
6664 // Invalidates the whole surface of a #ClutterCairoTexture.
6666 // This function will cause the #ClutterCairoTexture::draw signal
6669 // See also: clutter_cairo_texture_invalidate_rectangle()
6670 void invalidate()() nothrow {
6671 clutter_cairo_texture_invalidate(&this);
6675 // Invalidates a rectangular region of a #ClutterCairoTexture.
6677 // The invalidation will cause the #ClutterCairoTexture::draw signal
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
));
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
);
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
);
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
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
);
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
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
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;
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:
6796 // my_container_iface_init (ClutterContainerIface *iface)
6798 // /* set the rest of the #ClutterContainer vtable */
6800 // container_iface->child_meta_type = MY_TYPE_CHILD_META;
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
;
6829 // Retrieves the actor wrapped by @data
6830 // RETURNS: a #ClutterActor
6831 Actor
* get_actor()() nothrow {
6832 return clutter_child_meta_get_actor(&this);
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
;
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();
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);
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
));
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);
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
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);
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
);
6925 // The ::long-press signal is emitted during the long press gesture
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
;
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
));
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);
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.
7031 ubyte red
, green
, blue
, alpha
;
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
));
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
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
));
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
);
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:
7109 // <para>a standard name (as taken from the X11 rgb.txt file)</para>
7112 // <para>an hexadecimal value in the form: <literal>#rgb</literal>,
7113 // <literal>#rrggbb</literal>, <literal>#rgba</literal> or
7114 // <literal>#rrggbbaa</literal></para>
7117 // <para>a RGB color in the form: <literal>rgb(r, g, b)</literal></para>
7120 // <para>a RGB color in the form: <literal>rgba(r, g, b, a)</literal></para>
7123 // <para>a HSL color in the form: <literal>hsl(h, s, l)</literal></para>
7126 // <para>a HSL color in the form: <literal>hsla(h, s, l, a)</literal></para>
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
7147 // If the alpha component is not specified then it is assumed to be set to
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));
7156 // Interpolates between @initial and @final #ClutterColor<!-- -->s
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
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);
7211 // Returns a textual specification of @color in the hexadecimal form
7212 // <literal>#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
7216 // RETURNS: a newly-allocated text string
7217 char* /*new*/ to_string()() nothrow {
7218 return clutter_color_to_string(&this);
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
));
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
);
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
;
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
));
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
));
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
7328 struct Container
/* Interface */ /* Version 0.4 */ {
7329 mixin template __interface__() {
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
));
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()
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
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()
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()
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
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
));
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()
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
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
7528 GLib2
.List
* /*new container*/ get_children()() nothrow {
7529 return clutter_container_get_children(cast(Container
*)&this);
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
));
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()
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
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()
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
);
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);
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
);
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
);
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 */ {
7698 InputDevice
* device
;
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;
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
;
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);
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
));
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);
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
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
);
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
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
;
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
);
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);
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
;
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();
7954 // Retrieves the core #ClutterInputDevice of type @device_type
7956 // Core devices are devices created automatically by the default
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
);
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
);
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);
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);
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
);
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
;
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();
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);
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);
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
));
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
));
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
));
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
);
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
));
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
);
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
);
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
);
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
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
8238 enum DragAxis
/* Version 1.4 */ {
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
;
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();
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
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
);
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
);
8303 // The ::over-in signal is emitted when the dragged actor crosses
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
);
8315 // The ::over-out signal is emitted when the dragged actor crosses
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;
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
;
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
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
{
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;
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
);
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);
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
));
8486 // Retrieves the button number of @event
8487 // RETURNS: the button number
8488 uint get_button()() nothrow {
8489 return clutter_event_get_button(&this);
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);
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
));
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
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);
8529 // Retrieves the type of the device for @event
8532 // RETURNS: the #ClutterInputDeviceType for the device, if
8533 InputDeviceType
get_device_type()() nothrow {
8534 return clutter_event_get_device_type(&this);
8538 // Retrieves the #ClutterEventFlags of @event
8539 // RETURNS: the event flags
8540 EventFlags
get_flags()() nothrow {
8541 return clutter_event_get_flags(&this);
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);
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);
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);
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);
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);
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().
8595 // RETURNS: a pointer to a #ClutterInputDevice
8596 InputDevice
* get_source_device()() nothrow {
8597 return clutter_event_get_source_device(&this);
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);
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);
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);
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);
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
);
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
);
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
));
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
);
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
);
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
);
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
);
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
));
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
);
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
));
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
));
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
));
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
);
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);
8740 // Pops an event off the event queue. Applications should not need to call
8742 // RETURNS: A #ClutterEvent or NULL if queue empty
8743 static Event
* /*new*/ get()() nothrow {
8744 return clutter_event_get();
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
) {
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 */ {
8785 enum EventType
/* Version 0.4 */ {
8796 DESTROY_NOTIFY
= 10,
8797 CLIENT_MESSAGE
= 11,
8800 enum int Excel
= 269025116;
8801 enum int Execute
= 65378;
8802 enum int Explorer
= 269025117;
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 */ {
8861 TEXTURE_READ_PIXELS
= 32,
8863 STAGE_USER_RESIZE
= 128,
8867 STAGE_MULTIPLE
= 2048,
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
;
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
;
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
);
8924 // Retrieves the spacing between columns
8927 // RETURNS: the spacing between columns of the #ClutterFlowLayout,
8928 float get_column_spacing()() nothrow {
8929 return clutter_flow_layout_get_column_spacing(&this);
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
));
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);
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);
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
));
8963 // Retrieves the spacing between rows
8966 // RETURNS: the spacing between rows of the #ClutterFlowLayout,
8967 float get_row_spacing()() nothrow {
8968 return clutter_flow_layout_get_row_spacing(&this);
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
);
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
);
8987 // Sets whether the @layout should allocate the same space for
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
);
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
);
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
);
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 */ {
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 */ {
9050 enum int Forward
= 269025063;
9051 enum int FrameBack
= 269025181;
9052 enum int FrameForward
= 269025182;
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.
9067 // Determines if @geometry0 and geometry1 intersect returning %TRUE if
9068 // they do else %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
));
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
;
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();
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
));
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
));
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
));
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
);
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
);
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
);
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
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 */ {
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();
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);
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
{
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;
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 */ {
9604 // The type of axes Clutter recognizes on a #ClutterInputDevice
9605 enum InputAxis
/* Version 1.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
;
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
9631 // RETURNS: a #ClutterInputDevice, or %NULL
9632 InputDevice
* get_associated_device()() nothrow {
9633 return clutter_input_device_get_associated_device(&this);
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_
);
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:
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 // &pressure_value);
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
));
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
);
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);
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);
9690 // Retrieves the name of the @device
9692 // is owned by the #ClutterInputDevice and should never be modified
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);
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);
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);
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);
9722 // Retrieves whether @device has a pointer that follows the
9724 // RETURNS: %TRUE if the device has a cursor
9725 int get_has_cursor()() nothrow {
9726 return clutter_input_device_get_has_cursor(&this);
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
));
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);
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);
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);
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);
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
9773 GLib2
.List
* /*new container*/ get_slave_devices()() nothrow {
9774 return clutter_input_device_get_slave_devices(&this);
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
));
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
9800 // <enabled>: %TRUE to enable the @device
9801 void set_enabled()(int enabled
) nothrow {
9802 clutter_input_device_set_enabled(&this, enabled
);
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
);
9818 // Releases the grab on the @device, if one is in place.
9819 void ungrab()() nothrow {
9820 clutter_input_device_ungrab(&this);
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:
9843 // ClutterEvent c_event;
9845 // translate_native_event_to_clutter (native_event, &c_event);
9847 // clutter_do_event (&c_event);
9850 // Before letting clutter_do_event() process the event, it is necessary to call
9851 // clutter_input_device_update_from_event():
9854 // ClutterEvent c_event;
9855 // ClutterDeviceManager *manager;
9856 // ClutterInputDevice *device;
9858 // translate_native_event_to_clutter (native_event, &c_event);
9860 // /* get the device manager */
9861 // manager = clutter_device_manager_get_default ();
9863 // /* use the default Core Pointer that Clutter
9864 // * backends register by default
9866 // device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE);
9868 // /* update the state of the input device */
9869 // clutter_input_device_update_from_event (device, &c_event, FALSE);
9871 // clutter_do_event (&c_event);
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 */ {
9894 KEYBOARD_DEVICE
= 1,
9895 EXTENSION_DEVICE
= 2,
9896 JOYSTICK_DEVICE
= 3,
9898 TOUCHPAD_DEVICE
= 5,
9899 TOUCHSCREEN_DEVICE
= 6,
9905 // The mode for input devices available.
9906 enum InputMode
/* Version 1.6 */ {
9911 enum int Insert
= 65379;
9912 // The mode of interpolation between key frames
9913 enum Interpolation
/* Version 1.2 */ {
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()
9930 // Creates a new #ClutterInterval holding values of type @gtype.
9932 // This function avoids using a #GValue for the initial and final values
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);
9940 // RETURNS: the newly created #ClutterInterval
9941 // <gtype>: the type of the values in the interval
9942 alias clutter_interval_new new_
; // Variadic
9945 // Creates a new #ClutterInterval of type @gtype, between @initial
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()
9962 // Sets the progress function for a given @value_type, like:
9965 // clutter_interval_register_progress_func (MY_TYPE_FOO,
9966 // my_foo_progress);
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,
9977 // my_int_progress (const GValue *a,
9979 // gdouble progress,
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);
9991 // clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress);
9994 // To unset a previously set progress function of a #GType, pass %NULL
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
);
10003 // Creates a copy of @interval.
10004 // RETURNS: the newly created #ClutterInterval
10005 Interval
* /*new*/ clone()() nothrow {
10006 return clutter_interval_clone(&this);
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
);
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
));
10038 // Retrieves the final value of @interval and copies
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
));
10049 // Retrieves the initial value of @interval and copies
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()
10061 // Variable arguments wrapper for clutter_interval_get_initial_value()
10062 // and clutter_interval_get_final_value() that avoids using the
10063 // #GValue arguments:
10066 // gint a = 0, b = 0;
10067 // clutter_interval_get_interval (interval, &a, &b);
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
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);
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);
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);
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
));
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()
10121 // Variable arguments wrapper for clutter_interval_set_initial_value()
10122 // and clutter_interval_set_final_value() that avoids using the
10123 // #GValue arguments:
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);
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
10138 // Validates the initial and final values of @interval against
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;
10173 enum int Jcircumflex
= 684;
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;
12487 struct KeyEvent
/* Version 0.2 */ {
12493 ModifierType modifier_state
;
12495 ushort hardware_keycode
;
12496 dchar unicode_value
;
12497 InputDevice
* device
;
12500 // Point in a path behaviour.
12501 struct Knot
/* 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);
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
));
12521 // Frees the memory of an allocated knot.
12522 void free()() nothrow {
12523 clutter_knot_free(&this);
12527 enum int Korean_Won
= 3839;
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
;
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
);
12580 // Begins an animation of @duration milliseconds, using the provided
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()
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
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
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()
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()
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
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
));
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);
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
));
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
12676 // RETURNS: the progress of the animation
12677 double get_animation_progress()() nothrow {
12678 return clutter_layout_manager_get_animation_progress(&this);
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
));
12697 // Computes the minimum and natural heights of the @container according
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
));
12710 // Computes the minimum and natural widths of the @container according
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
));
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);
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
));
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
));
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:
12762 // static void layout_changed (ClutterLayoutManager *manager,
12763 // ClutterActor *self)
12765 // clutter_actor_queue_relayout (self);
12768 // self->manager = g_object_ref_sink (manager);
12769 // g_signal_connect (self->manager, "layout-changed",
12770 // G_CALLBACK (layout_changed),
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
;
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()
12892 // Creates a new default model with @n_columns columns with the types
12893 // and names passed in.
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
12910 // RETURNS: a new #ClutterListModel
12911 // <n_columns>: number of columns in the model
12912 alias clutter_list_model_new new_
; // Variadic
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 */ {
12946 enum int Lstroke
= 419;
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
;
12967 // Creates a new #ClutterMargin.
12969 // clutter_margin_free() to free the resources associated with it when
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();
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);
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
13000 struct Media
/* Interface */ /* Version 0.2 */ {
13001 mixin template __interface__() {
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);
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);
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);
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);
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);
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);
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);
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);
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);
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
);
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
));
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
);
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
);
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:
13112 // clutter_media_set_subtitle_font_name (media, "Sans 24pt");
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
));
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
));
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
));
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
);
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
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()
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
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
));
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
));
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
);
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
));
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
);
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
);
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);
13281 // Retrieves a #ClutterModelIter representing the first non-filtered
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);
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
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
);
13306 // Retrieves a #ClutterModelIter representing the last non-filtered
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);
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);
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);
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()
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
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
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
));
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()
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
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
));
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
);
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);
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
);
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
));
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
);
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
);
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
));
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
);
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
);
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
);
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
);
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
;
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
;
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
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
;
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()
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
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);
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()
13647 // See clutter_model_iter_get(). This version takes a va_list for language
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
);
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
));
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);
13672 // Gets whether the iterator is at the end of the model to which it
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);
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);
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()
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
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()
13718 // See clutter_model_iter_set(); this version takes a va_list for language
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
);
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
{
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 */ {
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 */ {
13839 ModifierType modifier_state
;
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;
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;
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
;
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
);
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);
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
));
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,
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;
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
;
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
);
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);
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);
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);
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
);
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
);
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 */ {
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);
14079 // Frees the resources allocated by @pv
14080 void free()() nothrow {
14081 clutter_paint_volume_free(&this);
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
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);
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
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);
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
));
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
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);
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
);
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:
14191 // my_actor_get_paint_volume (ClutterActor *self,
14192 // ClutterPaintVolume *volume)
14194 // return clutter_paint_volume_set_from_allocation (volume, self);
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
));
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
);
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
));
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
);
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 */ {
14284 alias parent super_
;
14285 alias parent initiallyunowned
;
14286 GObject2
.InitiallyUnowned parent
;
14287 private PathPrivate
* priv
;
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();
14304 // Creates a new #ClutterPath instance with the nodes described in
14305 // @desc. See clutter_path_add_string() for details of the format of
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
));
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
));
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
14330 void add_close()() nothrow {
14331 clutter_path_add_close(&this);
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
);
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
);
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
);
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
));
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
);
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
);
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
);
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:
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>
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.
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));
14454 // Removes all nodes from the path.
14455 void clear()() nothrow {
14456 clutter_path_clear(&this);
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
));
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);
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);
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);
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
));
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
14504 // list of nodes in the path.
14506 GLib2
.SList
* /*new container*/ get_nodes()() nothrow {
14507 return clutter_path_get_nodes(&this);
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
));
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
));
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_
);
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
));
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
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));
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
));
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
;
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
);
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);
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);
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
);
14625 // Sets the @path to be followed by the #ClutterPathConstraint.
14627 // The @constraint will take ownership of the #ClutterPath passed to this
14629 // <path>: a #ClutterPath
14630 void set_path(AT0
)(AT0
/*Path*/ path
=null) nothrow {
14631 clutter_path_constraint_set_path(&this, UpCast
!(Path
*)(path
));
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 */ {
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);
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
));
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 */ {
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 */ {
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;
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
;
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__
;
14809 alias parent super_
;
14810 alias parent actor
;
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
));
14836 // Gets the color of the border used by @rectangle and places
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
));
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
));
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 */ {
14912 // Direction of a rotation.
14913 enum RotateDirection
/* Version 0.4 */ {
14917 enum int RotateWindows
= 269025140;
14918 enum int RotationKB
= 269025142;
14919 enum int RotationPB
= 269025141;
14920 enum int RupeeSign
= 16785576;
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 */ {
14934 alias parent super_
;
14935 alias parent object
;
14936 GObject2
.Object parent
;
14937 private ScorePrivate
* priv
;
14941 // Creates a new #ClutterScore. A #ClutterScore is an object that can
14942 // hold multiple #ClutterTimeline<!-- -->s in a sequential order.
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();
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
));
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
));
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);
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_
);
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);
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.
15022 GLib2
.SList
* /*new container*/ list_timelines()() nothrow {
15023 return clutter_score_list_timelines(&this);
15027 // Pauses a playing score @score.
15028 void pause()() nothrow {
15029 clutter_score_pause(&this);
15033 // Removes the #ClutterTimeline with the given id inside @score. If
15034 // the timeline has other timelines attached to it, those are removed
15036 // <id_>: the id of the timeline to remove
15037 void remove()(c_ulong id_
) nothrow {
15038 clutter_score_remove(&this, id_
);
15042 // Removes all the timelines inside @score.
15043 void remove_all()() nothrow {
15044 clutter_score_remove_all(&this);
15048 // Rewinds a #ClutterScore to its initial state.
15049 void rewind()() nothrow {
15050 clutter_score_rewind(&this);
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);
15062 // Starts the score.
15063 void start()() nothrow {
15064 clutter_score_start(&this);
15068 // Stops and rewinds a playing #ClutterScore instance.
15069 void stop()() nothrow {
15070 clutter_score_stop(&this);
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
);
15089 // The ::paused signal is emitted each time a #ClutterScore
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
);
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
);
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
);
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
;
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)
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();
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
);
15193 // Associates a #ClutterState to the #ClutterScript instance using the given
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
));
15208 // Connects all the signals defined into a UI definition file to their
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
));
15223 // Connects all the signals defined into a UI definition file to their
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
));
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);
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()
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", &my_label,
15268 // "a-button", &a_button,
15269 // "main-timeline", &main_timeline,
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
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
));
15296 // Looks up a type by name, using the virtual function that
15297 // #ClutterScript has for that purpose. This function should
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
));
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
15317 GLib2
.List
* /*new container*/ list_objects()() nothrow {
15318 return clutter_script_list_objects(&this);
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
));
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
));
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
));
15359 // Looks up @filename inside the search paths of @script. If @filename
15360 // is found, its full path will be returned .
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
));
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
;
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 */ {
15415 struct ScriptPrivate
{
15419 // #ClutterScriptable is an opaque structure whose members cannot be directly
15421 struct Scriptable
/* Interface */ /* Version 0.6 */ {
15422 mixin template __interface__() {
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);
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
));
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
));
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 */ {
15501 enum int ScrollDown
= 269025145;
15502 // Scroll wheel (or similar device) event
15503 struct ScrollEvent
/* Version 0.2 */ {
15510 ScrollDirection direction
;
15511 ModifierType modifier_state
;
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
;
15545 // Retrieves the singleton instance of #ClutterSettings
15547 // returned object is owned by Clutter and it should not be unreferenced
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 */ {
15563 alias parent super_
;
15564 alias parent object
;
15565 GObject2
.Object parent
;
15566 private ShaderPrivate
* priv
;
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();
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
));
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);
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);
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);
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);
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);
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);
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);
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);
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
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
);
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
15689 // <enabled>: The new state of the shader.
15690 void set_is_enabled()(int enabled
) nothrow {
15691 clutter_shader_set_is_enabled(&this, enabled
);
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
));
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
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
;
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()
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
);
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);
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);
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()
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:
15797 // clutter_shader_effect_set_uniform (effect, "sampler0",
15802 // While a uniform named "components" and containing a 3-elements vector
15803 // of floating point values (a "vec3") can be set using:
15806 // gfloat component_r, component_g, component_b;
15808 // clutter_shader_effect_set_uniform (effect, "components",
15809 // G_TYPE_FLOAT, 3,
15815 // or can be set using:
15818 // gfloat component_vec[3];
15820 // clutter_shader_effect_set_uniform (effect, "components",
15821 // CLUTTER_TYPE_SHADER_FLOAT, 3,
15825 // Finally, a uniform named "map" and containing a matrix can be set using:
15828 // clutter_shader_effect_set_uniform (effect, "map",
15829 // CLUTTER_TYPE_SHADER_MATRIX, 1,
15830 // cogl_matrix_get_array (&matrix));
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
15840 // Sets @value as the payload for the uniform @name inside the shader
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 */ {
15879 struct ShaderFloat
{
15885 struct ShaderMatrix
{
15888 struct ShaderPrivate
{
15891 // The type of GLSL shader program
15892 enum ShaderType
/* Version 1.4 */ {
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
;
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
);
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.
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);
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);
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
);
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
);
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 */ {
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
;
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
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
16124 // #ClutterStage. You should never destroy or unref the returned
16126 // RETURNS: the main
16127 static Clutter
.Stage
* get_default()() nothrow {
16128 return clutter_stage_get_default();
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);
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);
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);
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
));
16174 // Retrieves the value set with clutter_stage_set_accept_focus().
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.
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
));
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
));
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);
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);
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
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
));
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);
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
));
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
));
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);
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);
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);
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);
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);
16324 // Makes the cursor invisible on the stage window
16325 void hide_cursor()() nothrow {
16326 clutter_stage_hide_cursor(&this);
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
16338 // RETURNS: %TRUE if the passed stage is the default one
16339 int is_default()() nothrow {
16340 return clutter_stage_is_default(&this);
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
);
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
));
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,
16399 // clutter_stage_set_use_fog (stage, FALSE);
16400 // g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
16403 // The paint signal handler will call cogl_set_fog() with the
16404 // desired settings:
16408 // on_stage_paint (ClutterActor *actor)
16410 // ClutterColor stage_color = { 0, };
16411 // CoglColor fog_color = { 0, };
16413 // /* set the fog color to the stage background color */
16414 // clutter_stage_get_color (CLUTTER_STAGE (actor), &stage_color);
16415 // cogl_color_init_from_4ub (&fog_color,
16416 // stage_color.red,
16417 // stage_color.green,
16418 // stage_color.blue,
16419 // stage_color.alpha);
16421 // /* enable fog */
16422 // cogl_set_fog (&fog_color,
16423 // COGL_FOG_MODE_EXPONENTIAL, /* mode */
16424 // 0.5, /* density */
16425 // 5.0, 30.0); /* z_near and z_far */
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
));
16442 // Asks to place the stage window in the fullscreen or unfullscreen
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
);
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
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
));
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
);
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.
16494 // <listitem><para>#ClutterActor::motion-event</para></listitem>
16495 // <listitem><para>#ClutterActor::enter-event</para></listitem>
16496 // <listitem><para>#ClutterActor::leave-event</para></listitem>
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
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
);
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
));
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
);
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
));
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
);
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
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
);
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);
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
);
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
);
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
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
);
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
);
16655 // The ::unfullscreen signal is emitted when the stage leaves a fullscreen
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
;
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();
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);
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);
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
16719 // RETURNS: a pointer
16720 GLib2
.SList
* peek_stages()() nothrow {
16721 return clutter_stage_manager_peek_stages(&this);
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
));
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
);
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 */ {
16780 // Event signalling a change in the #ClutterStage state.
16781 struct StageStateEvent
/* Version 0.2 */ {
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__
;
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();
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
));
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
));
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
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
));
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);
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
16927 // RETURNS: a newly allocated
16928 GLib2
.List
* /*new container*/ get_states()() nothrow {
16929 return clutter_state_get_states(&this);
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);
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()
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:
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,
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:
16981 // clutter_state_set_state (state, "hover");
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.:
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,
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
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
));
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
);
17047 // Sets one specific end key for a state name, @object, @property_name
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
);
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
));
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
));
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 */ {
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);
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);
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);
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);
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);
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);
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);
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);
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 */ {
17243 CHOCOLATE_LIGHT
= 24,
17244 CHOCOLATE_DARK
= 25,
17246 CHAMELEON_LIGHT
= 27,
17247 CHAMELEON_DARK
= 28,
17249 SKY_BLUE_LIGHT
= 30,
17250 SKY_BLUE_DARK
= 31,
17255 SCARLET_RED_LIGHT
= 36,
17256 SCARLET_RED_DARK
= 37,
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
;
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();
17294 // The ::swept signal is emitted when a swipe gesture is recognized on the
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 */ {
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;
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 */ {
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
;
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();
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
));
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);
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);
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);
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);
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
);
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
);
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);
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);
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
);
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);
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
);
17483 // Sets the horizontal and vertical alignment policies for @actor
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
);
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
);
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
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
);
17511 // Sets the easing mode to be used by @layout when animating changes in layout
17514 // Use clutter_table_layout_set_use_animations() to enable and disable the
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
);
17522 // Sets the horizontal and vertical expand policies for @actor
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
);
17532 // Sets the horizontal and vertical fill policies for @actor
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
);
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
);
17549 // Sets the row and column span for @actor
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
);
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
;
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();
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
));
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
));
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
));
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);
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
);
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
);
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);
17703 // Deletes the text inside a #ClutterText actor between @start_pos
17706 // The starting and ending positions are expressed in characters,
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
);
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);
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);
17732 // Get the #ClutterTextBuffer object which holds the text for
17734 // RETURNS: A #GtkEntryBuffer object.
17735 TextBuffer
* get_buffer()() nothrow {
17736 return clutter_text_get_buffer(&this);
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
);
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
));
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
));
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);
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);
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);
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);
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);
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);
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);
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);
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);
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
);
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);
17858 // Retrieves the value set using clutter_text_set_line_wrap().
17861 // RETURNS: %TRUE if the #ClutterText actor should wrap
17862 int get_line_wrap()() nothrow {
17863 return clutter_text_get_line_wrap(&this);
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);
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);
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);
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);
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
));
17909 // Retrieves the currently selected text.
17911 // selected text, or %NULL. Use g_free() to free the returned
17913 // RETURNS: a newly allocated string containing the currently
17914 char* /*new*/ get_selection()() nothrow {
17915 return clutter_text_get_selection(&this);
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);
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
));
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);
17941 // Retrieves a pointer to the current contents of a #ClutterText
17944 // If you need a copy of the contents for manipulating, either
17945 // use g_strdup() on the returned string, or use:
17948 // copy = clutter_text_get_chars (text, 0, -1);
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
17958 // RETURNS: the contents of the actor. The returned
17959 char* get_text()() nothrow {
17960 return clutter_text_get_text(&this);
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);
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
);
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
);
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
));
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
);
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
));
18029 // Set the #ClutterTextBuffer object which holds the text for
18031 // <buffer>: a #ClutterTextBuffer
18032 void set_buffer(AT0
)(AT0
/*TextBuffer*/ buffer
) nothrow {
18033 clutter_text_set_buffer(&this, UpCast
!(TextBuffer
*)(buffer
));
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
));
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
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
));
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
);
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
);
18077 // Sets whether the cursor of a #ClutterText actor should be
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
);
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
);
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
);
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
));
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,
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");
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
));
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 < 1.18.
18144 // <justify>: whether the text should be justified
18145 void set_justify()(int justify
) nothrow {
18146 clutter_text_set_justify(&this, justify
);
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
);
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
);
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
);
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:
18185 // /* the order is important */
18186 // clutter_text_set_text (CLUTTER_TEXT (actor), markup);
18187 // clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
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
));
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
);
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
);
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
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
);
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
);
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
));
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
);
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
);
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
));
18284 // Sets whether a #ClutterText actor should be in single line mode
18285 // or not. Only editable #ClutterText<!-- -->s can be in single line
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
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
);
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
));
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
);
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
);
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
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
);
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
);
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
);
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
;
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();
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
);
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
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
);
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
);
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
);
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);
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);
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);
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
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);
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
);
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
);
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
);
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
);
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 */ {
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__
;
18638 alias parent super_
;
18639 alias parent actor
;
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();
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:
18668 // <para>The source actor must be made visible (i.e by calling
18669 // #clutter_actor_show).</para>
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>
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>
18699 // <para>Avoid reparenting the source with the created texture.</para>
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>
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>
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>
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>
18725 // directly on the intended #ClutterActor to replace the functionality of
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
));
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
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
);
18759 // Returns a handle to the underlying COGL material used for drawing
18762 // material is owned by the #ClutterTexture and it should not be
18764 // RETURNS: a handle for a #CoglMaterial. The
18765 Cogl
.Handle
get_cogl_material()() nothrow {
18766 return clutter_texture_get_cogl_material(&this);
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);
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);
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);
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);
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);
18820 // Gets the maximum waste that will be used when creating a texture or
18821 // -1 if slicing is disabled.
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);
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);
18839 // Retrieves the pixel format used by @texture. This is
18843 // handle = clutter_texture_get_pixel_format (texture);
18845 // if (handle != COGL_INVALID_HANDLE)
18846 // format = cogl_texture_get_format (handle);
18848 // RETURNS: a #CoglPixelFormat value
18849 Cogl
.PixelFormat
get_pixel_format()() nothrow {
18850 return clutter_texture_get_pixel_format(&this);
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
);
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);
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
));
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
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
);
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
);
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
);
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
));
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
));
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
));
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
);
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
);
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
);
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
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
);
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
);
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
);
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 */ {
19108 // Flags for clutter_texture_set_from_rgb_data() and
19109 // clutter_texture_set_from_yuv_data().
19110 enum TextureFlags
/* Version 0.4 */ {
19113 RGB_FLAG_PREMULT
= 4,
19116 struct TexturePrivate
{
19119 // Enumaration controlling the texture quality.
19120 enum TextureQuality
/* Version 0.8 */ {
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__
;
19217 alias parent super_
;
19218 alias parent object
;
19219 GObject2
.Object parent
;
19220 private TimelinePrivate
* priv
;
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
);
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.
19259 // <msecs>: Time to advance to
19260 void advance()(uint msecs
) nothrow {
19261 clutter_timeline_advance(&this, msecs
);
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
));
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
19282 // RETURNS: a new #ClutterTimeline, cloned
19283 Timeline
* /*new*/ clone()() nothrow {
19284 return clutter_timeline_clone(&this);
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);
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);
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
19312 // RETURNS: the amount of time in milliseconds elapsed since the
19313 uint get_delta()() nothrow {
19314 return clutter_timeline_get_delta(&this);
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);
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);
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);
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);
19367 // Retrieves the list of markers at time @msecs. If @msecs is a
19368 // negative integer, all the markers attached to @timeline will be
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);
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);
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:
19408 // reverse_timeline (ClutterTimeline *timeline)
19410 // ClutterTimelineDirection dir = clutter_timeline_get_direction (timeline);
19412 // if (dir == CLUTTER_TIMELINE_FORWARD)
19413 // dir = CLUTTER_TIMELINE_BACKWARD;
19415 // dir = CLUTTER_TIMELINE_FORWARD;
19417 // clutter_timeline_set_direction (timeline, dir);
19420 // timeline = clutter_timeline_new (1000);
19421 // clutter_timeline_set_loop (timeline);
19422 // g_signal_connect (timeline, "completed",
19423 // G_CALLBACK (reverse_timeline),
19427 // can be effectively replaced by:
19430 // timeline = clutter_timeline_new (1000);
19431 // clutter_timeline_set_loop (timeline);
19432 // clutter_timeline_set_auto_reverse (timeline);
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
);
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
);
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
);
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
);
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
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
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 */ {
19583 struct TimelinePrivate
{
19587 // <structname>ClutterTimeoutPool</structname> is an opaque structure
19588 // whose members cannot be directly accessed.
19589 struct TimeoutPool
/* Version 0.6 */ {
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
);
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()
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;
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 */ {
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
;
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);
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);
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
);
19740 // Stores a value in em inside @units, using the default font
19741 // name as returned by clutter_backend_get_font_name()
19743 void from_em()(float em
) nothrow {
19744 clutter_units_from_em(&this, em
);
19748 // Stores a value in em inside @units using @font_name
19749 // <font_name>: the font name and size
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
);
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
);
19763 // Stores a value in pixels inside @units
19765 void from_pixels()(int px
) nothrow {
19766 clutter_units_from_pixels(&this, px
);
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
);
19777 // Parses a value and updates @units with it
19779 // A #ClutterUnits expressed in string should match:
19782 // units: wsp* unit-value wsp* unit-name? wsp*
19783 // unit-value: number
19784 // unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm'
19786 // | digit* sep digit+
19788 // digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
19789 // wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+
19792 // For instance, these are valid strings:
19802 // While these are not:
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));
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);
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);
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);
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;
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 */ {
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
);
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);
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
));
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;
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;
19932 enum X11FilterReturn
{
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,
19945 enum int Xabovedot
= 16785034;
19946 enum int Xfer
= 269025162;
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;
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;
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;
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;
19998 enum int atilde
= 227;
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;
20292 enum int c_h
= 65187;
20293 enum int cabovedot
= 741;
20294 enum int cacute
= 486;
20297 // Utility function for setting the source color of @cr using
20298 // a #ClutterColor. This function is the equivalent of:
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);
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;
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
);
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:
20351 // #ifdef CLUTTER_WINDOWING_X11
20352 // if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
20354 // /* it is safe to use the clutter_x11_* API */
20358 // #ifdef CLUTTER_WINDOWING_WIN32
20359 // if (clutter_check_windowing_backend (CLUTTER_WINDOWING_WIN32))
20361 // /* it is safe to use the clutter_win32_* API */
20365 // g_error ("Unknown Clutter backend.");
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;
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
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;
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
));
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
);
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;
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
));
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;
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;
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;
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;
20594 // MOVED TO: Event.get
20595 // Pops an event off the event queue. Applications should not need to call
20597 // RETURNS: A #ClutterEvent or NULL if queue empty
20598 static Event
* /*new*/ event_get()() nothrow {
20599 return clutter_event_get();
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();
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;
20623 enum int fabovedot
= 16784927;
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
);
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()
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
));
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;
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;
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();
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_
);
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'
20736 // RETURNS: The current ClutterEvent, or %NULL if none
20737 static Event
* get_current_event()() nothrow {
20738 return clutter_get_current_event();
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.
20754 static int get_debug_enabled()() nothrow {
20755 return clutter_get_debug_enabled();
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();
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();
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();
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();
20807 // Retrieves the #PangoFontMap instance used by Clutter.
20808 // You can use the global font map object with the COGL
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();
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
20825 // ClutterDeviceManager *manager;
20826 // ClutterInputDevice *device;
20828 // manager = clutter_device_manager_get_default ();
20829 // device = clutter_device_manager_get_device (manager, id);
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_
);
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();
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()
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:
20866 // g_option_context_set_main_group (context, clutter_get_option_group ());
20867 // res = g_option_context_parse (context, &argc, &argc, NULL);
20870 // is functionally equivalent to:
20873 // clutter_init (&argc, &argv);
20876 // After g_option_context_parse() on a #GOptionContext containing the
20877 // Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be
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()
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();
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();
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
));
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
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.
20959 // RETURNS: Number of microseconds since clutter_init() was called, or
20960 static c_ulong
get_timestamp()() nothrow {
20961 return clutter_get_timestamp();
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
20972 // Like pointer grabs, keyboard grabs should only be used as a last
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
));
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
));
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;
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;
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
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();
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
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;
21152 enum int jcircumflex
= 700;
21153 enum int jot
= 3018;
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.
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;
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;
21262 enum int mabovedot
= 16784961;
21263 enum int macron
= 175;
21264 // Starts the Clutter mainloop.
21265 static void main_()() nothrow {
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;
21288 enum int multiply
= 215;
21289 enum int musicalflat
= 2806;
21290 enum int musicalsharp
= 2805;
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;
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;
21351 enum int pabovedot
= 16784983;
21352 enum int paragraph
= 182;
21354 // Unintrospectable function: param_spec_color() / clutter_param_spec_color()
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()
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()
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;
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;
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;
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;
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
);
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
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
);
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:
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>
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;
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()
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
));
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()
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
));
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:
21613 // idle_safe_callback (gpointer data)
21615 // SafeClosure *closure = data;
21616 // gboolean res = FALSE;
21618 // /* mark the critical section */
21620 // clutter_threads_enter();
21622 // /* the callback does not need to acquire the Clutter
21623 // * lock itself, as it is held by the this proxy handler
21625 // res = closure->callback (closure->data);
21627 // clutter_threads_leave();
21632 // add_safe_idle (GSourceFunc callback,
21635 // SafeClosure *closure = g_new0 (SafeClosure, 1);
21637 // closure->callback = callback;
21638 // closure->data = data;
21640 // return g_idle_add_full (G_PRIORITY_DEFAULT_IDLE,
21641 // idle_safe_callback,
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
21655 // update_ui (gpointer data)
21657 // SomeClosure *closure = data;
21659 // /* it is safe to call Clutter API from this function because
21660 // * it is invoked from the same thread that started the main
21661 // * loop and under the Clutter thread lock
21663 // clutter_label_set_text (CLUTTER_LABEL (closure->label),
21664 // closure->text);
21666 // g_object_unref (closure->label);
21667 // g_free (closure);
21672 // /* within another thread */
21673 // closure = g_new0 (SomeClosure, 1);
21674 // /* always take a reference on GObject instances */
21675 // closure->label = g_object_ref (my_application->label);
21676 // closure->text = g_strdup (processed_text_to_update_the_label);
21678 // clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
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
);
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()
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
));
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
);
21758 // Locks the Clutter thread lock.
21759 static void threads_enter()() nothrow {
21760 clutter_threads_enter();
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();
21784 // Unlocks the Clutter thread lock.
21785 static void threads_leave()() nothrow {
21786 clutter_threads_leave();
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()
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()
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;
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;
21892 // Removes an existing grab of the keyboard.
21893 static void ungrab_keyboard()() nothrow {
21894 clutter_ungrab_keyboard();
21899 // Removes an existing grab of the pointer.
21900 static void ungrab_pointer()() nothrow {
21901 clutter_ungrab_pointer();
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_
);
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;
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()
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
));
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
));
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
));
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
));
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
));
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()
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_
);
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
));
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
);
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
));
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;
22087 enum int wacute
= 16785027;
22088 enum int wcircumflex
= 16777589;
22089 enum int wdiaeresis
= 16785029;
22090 enum int wgrave
= 16785025;
22092 enum int xabovedot
= 16785035;
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;
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 ---
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;