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 () _clutter_action1
;
116 extern (C
) void function () _clutter_action2
;
117 extern (C
) void function () _clutter_action3
;
118 extern (C
) void function () _clutter_action4
;
119 extern (C
) void function () _clutter_action5
;
120 extern (C
) void function () _clutter_action6
;
121 extern (C
) void function () _clutter_action7
;
122 extern (C
) void function () _clutter_action8
;
125 // Base class for actors.
126 struct Actor
/* : GObject.InitiallyUnowned */ {
127 mixin Atk
.ImplementorIface
.__interface__
;
128 mixin Animatable
.__interface__
;
129 mixin Scriptable
.__interface__
;
130 alias parent_instance
this;
131 alias parent_instance super_
;
132 alias parent_instance initiallyunowned
;
133 GObject2
.InitiallyUnowned parent_instance
;
135 private uint private_flags
;
136 private ActorPrivate
* priv
;
140 // Adds @action to the list of actions applied to @self
142 // A #ClutterAction can only belong to one actor at a time
144 // The #ClutterActor will hold a reference on @action until either
145 // clutter_actor_remove_action() or clutter_actor_clear_actions()
147 // <action>: a #ClutterAction
148 void add_action()(Action
* action
) {
149 clutter_actor_add_action(&this, action
);
153 // A convenience function for setting the name of a #ClutterAction
154 // while adding it to the list of actions applied to @self
156 // This function is the logical equivalent of:
159 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
160 // clutter_actor_add_action (self, action);
162 // <name>: the name to set on the action
163 // <action>: a #ClutterAction
164 void add_action_with_name()(char* name
, Action
* action
) {
165 clutter_actor_add_action_with_name(&this, name
, action
);
169 // Adds @constraint to the list of #ClutterConstraint<!-- -->s applied
172 // The #ClutterActor will hold a reference on the @constraint until
173 // either clutter_actor_remove_constraint() or
174 // clutter_actor_clear_constraints() is called.
175 // <constraint>: a #ClutterConstraint
176 void add_constraint()(Constraint
* constraint
) {
177 clutter_actor_add_constraint(&this, constraint
);
181 // A convenience function for setting the name of a #ClutterConstraint
182 // while adding it to the list of constraints applied to @self
184 // This function is the logical equivalent of:
187 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
188 // clutter_actor_add_constraint (self, constraint);
190 // <name>: the name to set on the constraint
191 // <constraint>: a #ClutterConstraint
192 void add_constraint_with_name()(char* name
, Constraint
* constraint
) {
193 clutter_actor_add_constraint_with_name(&this, name
, constraint
);
197 // Adds @effect to the list of #ClutterEffect<!-- -->s applied to @self
199 // The #ClutterActor will hold a reference on the @effect until either
200 // clutter_actor_remove_effect() or clutter_actor_clear_effects() is
202 // <effect>: a #ClutterEffect
203 void add_effect()(Effect
* effect
) {
204 clutter_actor_add_effect(&this, effect
);
208 // A convenience function for setting the name of a #ClutterEffect
209 // while adding it to the list of effectss applied to @self
211 // This function is the logical equivalent of:
214 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
215 // clutter_actor_add_effect (self, effect);
217 // <name>: the name to set on the effect
218 // <effect>: a #ClutterEffect
219 void add_effect_with_name()(char* name
, Effect
* effect
) {
220 clutter_actor_add_effect_with_name(&this, name
, effect
);
224 // Called by the parent of an actor to assign the actor its size.
225 // Should never be called by applications (except when implementing
226 // a container or layout manager).
228 // Actors can know from their allocation box whether they have moved
229 // with respect to their parent actor. The @flags parameter describes
230 // additional information about the allocation, for instance whether
231 // the parent has moved with respect to the stage, for example because
232 // a grandparent's origin has moved.
233 // <box>: new allocation of the actor, in parent-relative coordinates
234 // <flags>: flags that control the allocation
235 void allocate()(ActorBox
* box
, AllocationFlags flags
) {
236 clutter_actor_allocate(&this, box
, flags
);
240 // Allocates @self by taking into consideration the available allocation
241 // area; an alignment factor on either axis; and whether the actor should
242 // fill the allocation on either axis.
244 // The @box should contain the available allocation width and height;
245 // if the x1 and y1 members of #ClutterActorBox are not set to 0, the
246 // allocation will be offset by their value.
248 // This function takes into consideration the geometry request specified by
249 // the #ClutterActor:request-mode property, and the text direction.
251 // This function is useful for fluid layout managers, like #ClutterBinLayout
252 // or #ClutterTableLayout
253 // <box>: a #ClutterActorBox, containing the available width and height
254 // <x_align>: the horizontal alignment, between 0 and 1
255 // <y_align>: the vertical alignment, between 0 and 1
256 // <x_fill>: whether the actor should fill horizontally
257 // <y_fill>: whether the actor should fill vertically
258 // <flags>: allocation flags to be passed to clutter_actor_allocate()
259 void allocate_align_fill()(ActorBox
* box
, double x_align
, double y_align
, int x_fill
, int y_fill
, AllocationFlags flags
) {
260 clutter_actor_allocate_align_fill(&this, box
, x_align
, y_align
, x_fill
, y_fill
, flags
);
264 // Allocates @self taking into account the #ClutterActor<!-- -->'s
265 // preferred size, but limiting it to the maximum available width
266 // and height provided.
268 // This function will do the right thing when dealing with the
269 // actor's request mode.
271 // The implementation of this function is equivalent to:
274 // if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
276 // clutter_actor_get_preferred_width (self, available_height,
278 // &natural_width);
279 // width = CLAMP (natural_width, min_width, available_width);
281 // clutter_actor_get_preferred_height (self, width,
283 // &natural_height);
284 // height = CLAMP (natural_height, min_height, available_height);
288 // clutter_actor_get_preferred_height (self, available_width,
290 // &natural_height);
291 // height = CLAMP (natural_height, min_height, available_height);
293 // clutter_actor_get_preferred_width (self, height,
295 // &natural_width);
296 // width = CLAMP (natural_width, min_width, available_width);
299 // box.x1 = x; box.y1 = y;
300 // box.x2 = box.x1 + available_width;
301 // box.y2 = box.y1 + available_height;
302 // clutter_actor_allocate (self, &box, flags);
305 // This function can be used by fluid layout managers to allocate
306 // an actor's preferred size without making it bigger than the area
307 // available for the container.
308 // <x>: the actor's X coordinate
309 // <y>: the actor's Y coordinate
310 // <available_width>: the maximum available width, or -1 to use the actor's natural width
311 // <available_height>: the maximum available height, or -1 to use the actor's natural height
312 // <flags>: flags controlling the allocation
313 void allocate_available_size()(float x
, float y
, float available_width
, float available_height
, AllocationFlags flags
) {
314 clutter_actor_allocate_available_size(&this, x
, y
, available_width
, available_height
, flags
);
318 // Allocates the natural size of @self.
320 // This function is a utility call for #ClutterActor implementations
321 // that allocates the actor's preferred natural size. It can be used
322 // by fixed layout managers (like #ClutterGroup or so called
323 // 'composite actors') inside the ClutterActor::allocate
324 // implementation to give each child exactly how much space it
327 // This function is not meant to be used by applications. It is also
328 // not meant to be used outside the implementation of the
329 // ClutterActor::allocate virtual function.
330 // <flags>: flags controlling the allocation
331 void allocate_preferred_size()(AllocationFlags flags
) {
332 clutter_actor_allocate_preferred_size(&this, flags
);
335 // Unintrospectable method: animate() / clutter_actor_animate()
337 // Animates the given list of properties of @actor between the current
338 // value for each property and a new final value. The animation has a
339 // definite duration and a speed given by the @mode.
341 // For example, this:
344 // clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
350 // will make width and height properties of the #ClutterActor "rectangle"
351 // grow linearly between the current value and 100 pixels, in 250 milliseconds.
353 // The animation @mode is a logical id, either from the #ClutterAnimationMode
354 // enumeration of from clutter_alpha_register_func().
356 // All the properties specified will be animated between the current value
357 // and the final value. If a property should be set at the beginning of
358 // the animation but not updated during the animation, it should be prefixed
359 // by the "fixed::" string, for instance:
362 // clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
363 // "rotation-angle-z", 360.0,
364 // "fixed::rotation-center-z", &center,
368 // Will animate the "rotation-angle-z" property between the current value
369 // and 360 degrees, and set the "rotation-center-z" property to the fixed
370 // value of the #ClutterVertex "center".
372 // This function will implicitly create a #ClutterAnimation object which
373 // will be assigned to the @actor and will be returned to the developer
374 // to control the animation or to know when the animation has been
377 // If a name argument starts with "signal::", "signal-after::",
378 // "signal-swapped::" or "signal-swapped-after::" the two following arguments
379 // are used as callback function and data for a signal handler installed on
380 // the #ClutterAnimation object for the specified signal name, for instance:
385 // on_animation_completed (ClutterAnimation *animation,
386 // ClutterActor *actor)
388 // clutter_actor_hide (actor);
391 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
393 // "signal::completed", on_animation_completed, actor,
397 // or, to automatically destroy an actor at the end of the animation:
400 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
402 // "signal-swapped-after::completed",
403 // clutter_actor_destroy,
408 // The "signal::" modifier is the equivalent of using g_signal_connect();
409 // the "signal-after::" modifier is the equivalent of using
410 // g_signal_connect_after() or g_signal_connect_data() with the
411 // %G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent
412 // of using g_signal_connect_swapped() or g_signal_connect_data() with the
413 // %G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier
414 // is the equivalent of using g_signal_connect_data() with both the
415 // %G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate()
416 // function will not keep track of multiple connections to the same signal,
417 // so it is your responsability to avoid them when calling
418 // clutter_actor_animate() multiple times on the same actor.
420 // Calling this function on an actor that is already being animated
421 // will cause the current animation to change with the new final values,
422 // the new easing mode and the new duration - that is, this code:
425 // clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
429 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
436 // is the equivalent of:
439 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
447 // <note>Unless the animation is looping, the #ClutterAnimation created by
448 // clutter_actor_animate() will become invalid as soon as it is
451 // Since the created #ClutterAnimation instance attached to @actor
452 // is guaranteed to be valid throughout the #ClutterAnimation::completed
453 // signal emission chain, you will not be able to create a new animation
454 // using clutter_actor_animate() on the same @actor from within the
455 // #ClutterAnimation::completed signal handler unless you use
456 // g_signal_connect_after() to connect the callback function, for instance:
460 // on_animation_completed (ClutterAnimation *animation,
461 // ClutterActor *actor)
463 // clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
470 // animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
474 // g_signal_connect (animation, "completed",
475 // G_CALLBACK (on_animation_completed),
480 // owned by the #ClutterActor and should not be unreferenced with
482 // RETURNS: a #ClutterAnimation object. The object is
483 // <mode>: an animation mode logical id
484 // <duration>: duration of the animation, in milliseconds
485 // <first_property_name>: the name of a property
486 /+ Not available -- variadic methods unsupported - use the C function directly.
487 alias clutter_actor_animate animate; // Variadic
490 // Unintrospectable method: animate_with_alpha() / clutter_actor_animate_with_alpha()
492 // Animates the given list of properties of @actor between the current
493 // value for each property and a new final value. The animation has a
494 // definite behaviour given by the passed @alpha.
496 // See clutter_actor_animate() for further details.
498 // This function is useful if you want to use an existing #ClutterAlpha
499 // to animate @actor.
501 // #ClutterActor and should not be unreferenced with g_object_unref()
502 // RETURNS: a #ClutterAnimation object. The object is owned by the
503 // <alpha>: a #ClutterAlpha
504 // <first_property_name>: the name of a property
505 /+ Not available -- variadic methods unsupported - use the C function directly.
506 alias clutter_actor_animate_with_alpha animate_with_alpha; // Variadic
510 // Animates the given list of properties of @actor between the current
511 // value for each property and a new final value. The animation has a
512 // definite behaviour given by the passed @alpha.
514 // See clutter_actor_animate() for further details.
516 // This function is useful if you want to use an existing #ClutterAlpha
517 // to animate @actor.
519 // This is the vector-based variant of clutter_actor_animate_with_alpha(),
520 // useful for language bindings.
522 // <warning>Unlike clutter_actor_animate_with_alpha(), this function will
523 // not allow you to specify "signal::" names and callbacks.</warning>
525 // #ClutterActor and should not be unreferenced with g_object_unref()
526 // RETURNS: a #ClutterAnimation object. The object is owned by the
527 // <alpha>: a #ClutterAlpha
528 // <n_properties>: number of property names and values
529 // <properties>: a vector containing the property names to set
530 // <values>: a vector containing the property values to set
531 Animation
* animate_with_alphav()(Alpha
* alpha
, int n_properties
, char* properties
, GObject2
.Value
* values
) {
532 return clutter_actor_animate_with_alphav(&this, alpha
, n_properties
, properties
, values
);
535 // Unintrospectable method: animate_with_timeline() / clutter_actor_animate_with_timeline()
537 // Animates the given list of properties of @actor between the current
538 // value for each property and a new final value. The animation has a
539 // definite duration given by @timeline and a speed given by the @mode.
541 // See clutter_actor_animate() for further details.
543 // This function is useful if you want to use an existing timeline
544 // to animate @actor.
546 // owned by the #ClutterActor and should not be unreferenced with
548 // RETURNS: a #ClutterAnimation object. The object is
549 // <mode>: an animation mode logical id
550 // <timeline>: a #ClutterTimeline
551 // <first_property_name>: the name of a property
552 /+ Not available -- variadic methods unsupported - use the C function directly.
553 alias clutter_actor_animate_with_timeline animate_with_timeline; // Variadic
557 // Animates the given list of properties of @actor between the current
558 // value for each property and a new final value. The animation has a
559 // definite duration given by @timeline and a speed given by the @mode.
561 // See clutter_actor_animate() for further details.
563 // This function is useful if you want to use an existing timeline
564 // to animate @actor.
566 // This is the vector-based variant of clutter_actor_animate_with_timeline(),
567 // useful for language bindings.
569 // <warning>Unlike clutter_actor_animate_with_timeline(), this function
570 // will not allow you to specify "signal::" names and callbacks.</warning>
572 // owned by the #ClutterActor and should not be unreferenced with
574 // RETURNS: a #ClutterAnimation object. The object is
575 // <mode>: an animation mode logical id
576 // <timeline>: a #ClutterTimeline
577 // <n_properties>: number of property names and values
578 // <properties>: a vector containing the property names to set
579 // <values>: a vector containing the property values to set
580 Animation
* animate_with_timelinev()(c_ulong mode
, Timeline
* timeline
, int n_properties
, char* properties
, GObject2
.Value
* values
) {
581 return clutter_actor_animate_with_timelinev(&this, mode
, timeline
, n_properties
, properties
, values
);
585 // Animates the given list of properties of @actor between the current
586 // value for each property and a new final value. The animation has a
587 // definite duration and a speed given by the @mode.
589 // This is the vector-based variant of clutter_actor_animate(), useful
590 // for language bindings.
592 // <warning>Unlike clutter_actor_animate(), this function will not
593 // allow you to specify "signal::" names and callbacks.</warning>
595 // owned by the #ClutterActor and should not be unreferenced with
597 // RETURNS: a #ClutterAnimation object. The object is
598 // <mode>: an animation mode logical id
599 // <duration>: duration of the animation, in milliseconds
600 // <n_properties>: number of property names and values
601 // <properties>: a vector containing the property names to set
602 // <values>: a vector containing the property values to set
603 Animation
* animatev()(c_ulong mode
, uint duration
, int n_properties
, char* properties
, GObject2
.Value
* values
) {
604 return clutter_actor_animatev(&this, mode
, duration
, n_properties
, properties
, values
);
608 // Transforms @point in coordinates relative to the actor into
609 // ancestor-relative coordinates using the relevant transform
610 // stack (i.e. scale, rotation, etc).
612 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
613 // this case, the coordinates returned will be the coordinates on
614 // the stage before the projection is applied. This is different from
615 // the behaviour of clutter_actor_apply_transform_to_point().
616 // <ancestor>: A #ClutterActor ancestor, or %NULL to use the default #ClutterStage
617 // <point>: A point as #ClutterVertex
618 // <vertex>: The translated #ClutterVertex
619 void apply_relative_transform_to_point()(Actor
* ancestor
, Vertex
* point
, /*out*/ Vertex
* vertex
) {
620 clutter_actor_apply_relative_transform_to_point(&this, ancestor
, point
, vertex
);
624 // Transforms @point in coordinates relative to the actor
625 // into screen-relative coordinates with the current actor
626 // transformation (i.e. scale, rotation, etc)
627 // <point>: A point as #ClutterVertex
628 // <vertex>: The translated #ClutterVertex
629 void apply_transform_to_point()(Vertex
* point
, /*out*/ Vertex
* vertex
) {
630 clutter_actor_apply_transform_to_point(&this, point
, vertex
);
634 // Clears the list of actions applied to @self
635 void clear_actions()() {
636 clutter_actor_clear_actions(&this);
640 // Clears the list of constraints applied to @self
641 void clear_constraints()() {
642 clutter_actor_clear_constraints(&this);
646 // Clears the list of effects applied to @self
647 void clear_effects()() {
648 clutter_actor_clear_effects(&this);
652 // Determines if @descendant is contained inside @self (either as an
653 // immediate child, or as a deeper descendant). If @self and
654 // @descendant point to the same actor then it will also return %TRUE.
655 // RETURNS: whether @descendent is contained within @self
656 // <descendant>: A #ClutterActor, possibly contained in @self
657 int contains()(Actor
* descendant
) {
658 return clutter_actor_contains(&this, descendant
);
662 // Run the next stage of the paint sequence. This function should only
663 // be called within the implementation of the ‘run’ virtual of a
664 // #ClutterEffect. It will cause the run method of the next effect to
665 // be applied, or it will paint the actual actor if the current effect
666 // is the last effect in the chain.
667 void continue_paint()() {
668 clutter_actor_continue_paint(&this);
672 // Creates a #PangoContext for the given actor. The #PangoContext
673 // is already configured using the appropriate font map, resolution
676 // See also clutter_actor_get_pango_context().
678 // Use g_object_unref() on the returned value to deallocate its
680 // RETURNS: the newly created #PangoContext.
681 Pango
.Context
* /*new*/ create_pango_context()() {
682 return clutter_actor_create_pango_context(&this);
686 // Creates a new #PangoLayout from the same #PangoContext used
687 // by the #ClutterActor. The #PangoLayout is already configured
688 // with the font map, resolution and font options, and the
691 // If you want to keep around a #PangoLayout created by this
692 // function you will have to connect to the #ClutterBackend::font-changed
693 // and #ClutterBackend::resolution-changed signals, and call
694 // pango_layout_context_changed() in response to them.
696 // Use g_object_unref() when done
697 // RETURNS: the newly created #PangoLayout.
698 // <text>: (allow-none) the text to set on the #PangoLayout, or %NULL
699 Pango
.Layout
* /*new*/ create_pango_layout()(char* text
) {
700 return clutter_actor_create_pango_layout(&this, text
);
703 // Destroys an actor. When an actor is destroyed, it will break any
704 // references it holds to other objects. If the actor is inside a
705 // container, the actor will be removed.
707 // When you destroy a container, its children will be destroyed as well.
709 // Note: you cannot destroy the #ClutterStage returned by
710 // clutter_stage_get_default().
712 clutter_actor_destroy(&this);
716 // Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate()
717 // has been called on @actor.
719 // Once the animation has been detached, it loses a reference. If it was
720 // the only reference then the #ClutterAnimation becomes invalid.
722 // The #ClutterAnimation::completed signal will not be emitted.
723 void detach_animation()() {
724 clutter_actor_detach_animation(&this);
728 // This function is used to emit an event on the main stage.
729 // You should rarely need to use this function, except for
730 // synthetising events.
732 // if the actor handled the event, or %FALSE if the event was
734 // RETURNS: the return value from the signal emission: %TRUE
735 // <event>: a #ClutterEvent
736 // <capture>: TRUE if event in in capture phase, FALSE otherwise.
737 int event()(Event
* event
, int capture
) {
738 return clutter_actor_event(&this, event
, capture
);
742 // Calculates the transformed screen coordinates of the four corners of
743 // the actor; the returned vertices relate to the #ClutterActorBox
744 // coordinates as follows:
746 // <listitem><para>v[0] contains (x1, y1)</para></listitem>
747 // <listitem><para>v[1] contains (x2, y1)</para></listitem>
748 // <listitem><para>v[2] contains (x1, y2)</para></listitem>
749 // <listitem><para>v[3] contains (x2, y2)</para></listitem>
751 // <verts>: Pointer to a location of an array of 4 #ClutterVertex where to store the result.
752 void get_abs_allocation_vertices()(/*out*/ Vertex verts
) {
753 clutter_actor_get_abs_allocation_vertices(&this, verts
);
756 // Returns the accessible object that describes the actor to an
757 // assistive technology.
759 // If no class-specific #AtkObject implementation is available for the
760 // actor instance in question, it will inherit an #AtkObject
761 // implementation from the first ancestor class for which such an
762 // implementation is defined.
764 // The documentation of the <ulink
765 // url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink>
766 // library contains more information about accessible objects and
768 // RETURNS: the #AtkObject associated with @actor
769 Atk
.Object
* get_accessible()() {
770 return clutter_actor_get_accessible(&this);
774 // Retrieves the #ClutterAction with the given name in the list
775 // of actions applied to @self
777 // name, or %NULL. The returned #ClutterAction is owned by the
778 // actor and it should not be unreferenced directly
779 // RETURNS: a #ClutterAction for the given
780 // <name>: the name of the action to retrieve
781 Action
* get_action()(char* name
) {
782 return clutter_actor_get_action(&this, name
);
786 // Retrieves the list of actions applied to @self
788 // of the list of #ClutterAction<!-- -->s. The contents of the list are
789 // owned by the #ClutterActor. Use g_list_free() to free the resources
790 // allocated by the returned #GList
792 GLib2
.List
* /*new container*/ get_actions()() {
793 return clutter_actor_get_actions(&this);
797 // Gets the layout box an actor has been assigned. The allocation can
798 // only be assumed valid inside a paint() method; anywhere else, it
799 // may be out-of-date.
801 // An allocation does not incorporate the actor's scale or anchor point;
802 // those transformations do not affect layout, only rendering.
804 // <note>Do not call any of the clutter_actor_get_allocation_*() family
805 // of functions inside the implementation of the get_preferred_width()
806 // or get_preferred_height() virtual functions.</note>
807 // <box>: the function fills this in with the actor's allocation
808 void get_allocation_box()(/*out*/ ActorBox
* box
) {
809 clutter_actor_get_allocation_box(&this, box
);
813 // Gets the layout box an actor has been assigned. The allocation can
814 // only be assumed valid inside a paint() method; anywhere else, it
815 // may be out-of-date.
817 // An allocation does not incorporate the actor's scale or anchor point;
818 // those transformations do not affect layout, only rendering.
820 // The returned rectangle is in pixels.
821 // <geom>: allocation geometry in pixels
822 void get_allocation_geometry()(/*out*/ Geometry
* geom
) {
823 clutter_actor_get_allocation_geometry(&this, geom
);
827 // Calculates the transformed coordinates of the four corners of the
828 // actor in the plane of @ancestor. The returned vertices relate to
829 // the #ClutterActorBox coordinates as follows:
831 // <listitem><para>@verts[0] contains (x1, y1)</para></listitem>
832 // <listitem><para>@verts[1] contains (x2, y1)</para></listitem>
833 // <listitem><para>@verts[2] contains (x1, y2)</para></listitem>
834 // <listitem><para>@verts[3] contains (x2, y2)</para></listitem>
837 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
838 // this case, the coordinates returned will be the coordinates on
839 // the stage before the projection is applied. This is different from
840 // the behaviour of clutter_actor_get_abs_allocation_vertices().
841 // <ancestor>: A #ClutterActor to calculate the vertices against, or %NULL to use the #ClutterStage
842 // <verts>: return location for an array of 4 #ClutterVertex in which to store the result
843 void get_allocation_vertices()(Actor
* ancestor
, /*out*/ Vertex verts
) {
844 clutter_actor_get_allocation_vertices(&this, ancestor
, verts
);
848 // Gets the current anchor point of the @actor in pixels.
849 // <anchor_x>: return location for the X coordinate of the anchor point
850 // <anchor_y>: return location for the Y coordinate of the anchor point
851 void get_anchor_point()(/*out*/ float* anchor_x
, /*out*/ float* anchor_y
) {
852 clutter_actor_get_anchor_point(&this, anchor_x
, anchor_y
);
856 // Retrieves the anchor position expressed as a #ClutterGravity. If
857 // the anchor point was specified using pixels or units this will
858 // return %CLUTTER_GRAVITY_NONE.
859 // RETURNS: the #ClutterGravity used by the anchor point
860 Gravity
get_anchor_point_gravity()() {
861 return clutter_actor_get_anchor_point_gravity(&this);
865 // Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate()
866 // has been called on @actor.
867 // RETURNS: a #ClutterAnimation, or %NULL
868 Animation
* get_animation()() {
869 return clutter_actor_get_animation(&this);
873 // Gets the clip area for @self, if any is set
874 // <xoff>: return location for the X offset of the clip rectangle, or %NULL
875 // <yoff>: return location for the Y offset of the clip rectangle, or %NULL
876 // <width>: return location for the width of the clip rectangle, or %NULL
877 // <height>: return location for the height of the clip rectangle, or %NULL
878 void get_clip()(/*out*/ float* xoff
=null, /*out*/ float* yoff
=null, /*out*/ float* width
=null, /*out*/ float* height
=null) {
879 clutter_actor_get_clip(&this, xoff
, yoff
, width
, height
);
883 // Retrieves the value set using clutter_actor_set_clip_to_allocation()
884 // RETURNS: %TRUE if the #ClutterActor is clipped to its allocation
885 int get_clip_to_allocation()() {
886 return clutter_actor_get_clip_to_allocation(&this);
890 // Retrieves the #ClutterConstraint with the given name in the list
891 // of constraints applied to @self
893 // name, or %NULL. The returned #ClutterConstraint is owned by the
894 // actor and it should not be unreferenced directly
895 // RETURNS: a #ClutterConstraint for the given
896 // <name>: the name of the constraint to retrieve
897 Constraint
* get_constraint()(char* name
) {
898 return clutter_actor_get_constraint(&this, name
);
902 // Retrieves the list of constraints applied to @self
904 // of the list of #ClutterConstraint<!-- -->s. The contents of the list are
905 // owned by the #ClutterActor. Use g_list_free() to free the resources
906 // allocated by the returned #GList
908 GLib2
.List
* /*new container*/ get_constraints()() {
909 return clutter_actor_get_constraints(&this);
912 // Retrieves the depth of @self.
913 // RETURNS: the depth of the actor
914 float get_depth()() {
915 return clutter_actor_get_depth(&this);
919 // Retrieves the #ClutterEffect with the given name in the list
920 // of effects applied to @self
922 // name, or %NULL. The returned #ClutterEffect is owned by the
923 // actor and it should not be unreferenced directly
924 // RETURNS: a #ClutterEffect for the given
925 // <name>: the name of the effect to retrieve
926 Effect
* get_effect()(char* name
) {
927 return clutter_actor_get_effect(&this, name
);
931 // Retrieves the #ClutterEffect<!-- -->s applied on @self, if any
933 // of #ClutterEffect<!-- -->s, or %NULL. The elements of the returned
934 // list are owned by Clutter and they should not be freed. You should
935 // free the returned list using g_list_free() when done
937 GLib2
.List
* /*new container*/ get_effects()() {
938 return clutter_actor_get_effects(&this);
942 // Checks whether an actor has a fixed position set (and will thus be
943 // unaffected by any layout manager).
944 // RETURNS: %TRUE if the fixed position is set on the actor
945 int get_fixed_position_set()() {
946 return clutter_actor_get_fixed_position_set(&this);
950 // Retrieves the flags set on @self
951 // RETURNS: a bitwise or of #ClutterActorFlags or 0
952 ActorFlags
get_flags()() {
953 return clutter_actor_get_flags(&this);
956 // Gets the size and position of an actor relative to its parent
957 // actor. This is the same as calling clutter_actor_get_position() and
958 // clutter_actor_get_size(). It tries to "do what you mean" and get the
959 // requested size and position if the actor's allocation is invalid.
960 // <geometry>: A location to store actors #ClutterGeometry
961 void get_geometry()(/*out*/ Geometry
* geometry
) {
962 clutter_actor_get_geometry(&this, geometry
);
966 // DEPRECATED (v1.8) method: get_gid - The id is not used any longer.
967 // Retrieves the unique id for @self.
968 // RETURNS: Globally unique value for this object instance.
970 return clutter_actor_get_gid(&this);
973 // Retrieves the height of a #ClutterActor.
975 // If the actor has a valid allocation, this function will return the
976 // height of the allocated area given to the actor.
978 // If the actor does not have a valid allocation, this function will
979 // return the actor's natural height, that is the preferred height of
982 // If you care whether you get the preferred height or the height that
983 // has been assigned to the actor, you should probably call a different
984 // function like clutter_actor_get_allocation_box() to retrieve the
985 // allocated size or clutter_actor_get_preferred_height() to retrieve the
988 // If an actor has a fixed height, for instance a height that has been
989 // assigned using clutter_actor_set_height(), the height returned will
990 // be the same value.
991 // RETURNS: the height of the actor, in pixels
992 float get_height()() {
993 return clutter_actor_get_height(&this);
996 // Retrieves the name of @self.
998 // owned by the actor and should not be modified or freed.
999 // RETURNS: the name of the actor, or %NULL. The returned string is
1000 char* get_name()() {
1001 return clutter_actor_get_name(&this);
1005 // Retrieves whether to redirect the actor to an offscreen buffer, as
1006 // set by clutter_actor_set_offscreen_redirect().
1007 // RETURNS: the value of the offscreen-redirect property of the actor
1008 OffscreenRedirect
get_offscreen_redirect()() {
1009 return clutter_actor_get_offscreen_redirect(&this);
1012 // Retrieves the opacity value of an actor, as set by
1013 // clutter_actor_set_opacity().
1015 // For retrieving the absolute opacity of the actor inside a paint
1016 // virtual function, see clutter_actor_get_paint_opacity().
1017 // RETURNS: the opacity of the actor
1018 ubyte get_opacity()() {
1019 return clutter_actor_get_opacity(&this);
1023 // Retrieves the paint volume of the passed #ClutterActor, and
1024 // transforms it into a 2D bounding box in stage coordinates.
1026 // This function is useful to determine the on screen area occupied by
1027 // the actor. The box is only an approximation and may often be
1028 // considerably larger due to the optimizations used to calculate the
1029 // box. The box is never smaller though, so it can reliably be used
1032 // There are times when a 2D paint box can't be determined, e.g.
1033 // because the actor isn't yet parented under a stage or because
1034 // the actor is unable to determine a paint volume.
1037 // RETURNS: %TRUE if a 2D paint box could be determined, else
1038 // <box>: return location for a #ClutterActorBox
1039 int get_paint_box()(/*out*/ ActorBox
* box
) {
1040 return clutter_actor_get_paint_box(&this, box
);
1044 // Retrieves the absolute opacity of the actor, as it appears on the stage.
1046 // This function traverses the hierarchy chain and composites the opacity of
1047 // the actor with that of its parents.
1049 // This function is intended for subclasses to use in the paint virtual
1050 // function, to paint themselves with the correct opacity.
1051 // RETURNS: The actor opacity value.
1052 ubyte get_paint_opacity()() {
1053 return clutter_actor_get_paint_opacity(&this);
1057 // Retrieves the 'paint' visibility of an actor recursively checking for non
1060 // This is by definition the same as CLUTTER_ACTOR_IS_MAPPED().
1061 // RETURNS: TRUE if the actor is visibile and will be painted.
1062 int get_paint_visibility()() {
1063 return clutter_actor_get_paint_visibility(&this);
1067 // Retrieves the paint volume of the passed #ClutterActor, or %NULL
1068 // when a paint volume can't be determined.
1070 // The paint volume is defined as the 3D space occupied by an actor
1071 // when being painted.
1073 // This function will call the <function>get_paint_volume()</function>
1074 // virtual function of the #ClutterActor class. Sub-classes of #ClutterActor
1075 // should not usually care about overriding the default implementation,
1076 // unless they are, for instance: painting outside their allocation, or
1077 // actors with a depth factor (not in terms of #ClutterActor:depth but real
1080 // <note>2D actors overriding <function>get_paint_volume()</function>
1081 // ensure their volume has a depth of 0. (This will be true so long as
1082 // you don't call clutter_paint_volume_set_depth().)</note>
1084 // or %NULL if no volume could be determined.
1085 // RETURNS: a pointer to a #ClutterPaintVolume
1086 PaintVolume
* get_paint_volume()() {
1087 return clutter_actor_get_paint_volume(&this);
1091 // Retrieves the #PangoContext for @self. The actor's #PangoContext
1092 // is already configured using the appropriate font map, resolution
1093 // and font options.
1095 // Unlike clutter_actor_create_pango_context(), this context is owend
1096 // by the #ClutterActor and it will be updated each time the options
1097 // stored by the #ClutterBackend change.
1099 // You can use the returned #PangoContext to create a #PangoLayout
1100 // and render text using cogl_pango_render_layout() to reuse the
1101 // glyphs cache also used by Clutter.
1103 // The returned #PangoContext is owned by the actor and should not be
1104 // unreferenced by the application code
1105 // RETURNS: the #PangoContext for a #ClutterActor.
1106 Pango
.Context
* get_pango_context()() {
1107 return clutter_actor_get_pango_context(&this);
1110 // Retrieves the parent of @self.
1112 // if no parent is set
1113 // RETURNS: The #ClutterActor parent, or %NULL
1114 Actor
* get_parent()() {
1115 return clutter_actor_get_parent(&this);
1119 // This function tries to "do what you mean" and tell you where the
1120 // actor is, prior to any transformations. Retrieves the fixed
1121 // position of an actor in pixels, if one has been set; otherwise, if
1122 // the allocation is valid, returns the actor's allocated position;
1123 // otherwise, returns 0,0.
1125 // The returned position is in pixels.
1126 // <x>: return location for the X coordinate, or %NULL
1127 // <y>: return location for the Y coordinate, or %NULL
1128 void get_position()(/*out*/ float* x
=null, /*out*/ float* y
=null) {
1129 clutter_actor_get_position(&this, x
, y
);
1133 // Computes the requested minimum and natural heights for an actor,
1134 // or if they are already computed, returns the cached values.
1136 // An actor may not get its request - depending on the layout
1137 // manager that's in effect.
1139 // A request should not incorporate the actor's scale or anchor point;
1140 // those transformations do not affect layout, only rendering.
1141 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
1142 // <min_height_p>: return location for minimum height, or %NULL
1143 // <natural_height_p>: return location for natural height, or %NULL
1144 void get_preferred_height()(float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* natural_height_p
=null) {
1145 clutter_actor_get_preferred_height(&this, for_width
, min_height_p
, natural_height_p
);
1149 // Computes the preferred minimum and natural size of an actor, taking into
1150 // account the actor's geometry management (either height-for-width
1151 // or width-for-height).
1153 // The width and height used to compute the preferred height and preferred
1154 // width are the actor's natural ones.
1156 // If you need to control the height for the preferred width, or the width for
1157 // the preferred height, you should use clutter_actor_get_preferred_width()
1158 // and clutter_actor_get_preferred_height(), and check the actor's preferred
1159 // geometry management using the #ClutterActor:request-mode property.
1160 // <min_width_p>: return location for the minimum width, or %NULL
1161 // <min_height_p>: return location for the minimum height, or %NULL
1162 // <natural_width_p>: return location for the natural width, or %NULL
1163 // <natural_height_p>: return location for the natural height, or %NULL
1164 void get_preferred_size()(/*out*/ float* min_width_p
=null, /*out*/ float* min_height_p
=null, /*out*/ float* natural_width_p
=null, /*out*/ float* natural_height_p
=null) {
1165 clutter_actor_get_preferred_size(&this, min_width_p
, min_height_p
, natural_width_p
, natural_height_p
);
1169 // Computes the requested minimum and natural widths for an actor,
1170 // optionally depending on the specified height, or if they are
1171 // already computed, returns the cached values.
1173 // An actor may not get its request - depending on the layout
1174 // manager that's in effect.
1176 // A request should not incorporate the actor's scale or anchor point;
1177 // those transformations do not affect layout, only rendering.
1178 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
1179 // <min_width_p>: return location for minimum width, or %NULL
1180 // <natural_width_p>: return location for the natural width, or %NULL
1181 void get_preferred_width()(float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* natural_width_p
=null) {
1182 clutter_actor_get_preferred_width(&this, for_height
, min_width_p
, natural_width_p
);
1186 // Checks whether @actor is marked as reactive.
1187 // RETURNS: %TRUE if the actor is reactive
1188 int get_reactive()() {
1189 return clutter_actor_get_reactive(&this);
1193 // Retrieves the geometry request mode of @self
1194 // RETURNS: the request mode for the actor
1195 RequestMode
get_request_mode()() {
1196 return clutter_actor_get_request_mode(&this);
1200 // Retrieves the angle and center of rotation on the given axis,
1201 // set using clutter_actor_set_rotation().
1202 // RETURNS: the angle of rotation
1203 // <axis>: the axis of rotation
1204 // <x>: return value for the X coordinate of the center of rotation
1205 // <y>: return value for the Y coordinate of the center of rotation
1206 // <z>: return value for the Z coordinate of the center of rotation
1207 double get_rotation()(RotateAxis axis
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* z
) {
1208 return clutter_actor_get_rotation(&this, axis
, x
, y
, z
);
1212 // Retrieves an actors scale factors.
1213 // <scale_x>: Location to store horizonal scale factor, or %NULL.
1214 // <scale_y>: Location to store vertical scale factor, or %NULL.
1215 void get_scale()(/*out*/ double* scale_x
=null, /*out*/ double* scale_y
=null) {
1216 clutter_actor_get_scale(&this, scale_x
, scale_y
);
1220 // Retrieves the scale center coordinate in pixels relative to the top
1221 // left corner of the actor. If the scale center was specified using a
1222 // #ClutterGravity this will calculate the pixel offset using the
1223 // current size of the actor.
1224 // <center_x>: Location to store the X position of the scale center, or %NULL.
1225 // <center_y>: Location to store the Y position of the scale center, or %NULL.
1226 void get_scale_center()(/*out*/ float* center_x
=null, /*out*/ float* center_y
=null) {
1227 clutter_actor_get_scale_center(&this, center_x
, center_y
);
1231 // Retrieves the scale center as a compass direction. If the scale
1232 // center was specified in pixels or units this will return
1233 // %CLUTTER_GRAVITY_NONE.
1234 // RETURNS: the scale gravity
1235 Gravity
get_scale_gravity()() {
1236 return clutter_actor_get_scale_gravity(&this);
1240 // DEPRECATED (v1.8) method: get_shader - Use clutter_actor_get_effect() instead.
1241 // Queries the currently set #ClutterShader on @self.
1243 // or %NULL if no shader is set.
1244 // RETURNS: The currently set #ClutterShader
1245 Shader
* get_shader()() {
1246 return clutter_actor_get_shader(&this);
1250 // This function tries to "do what you mean" and return
1251 // the size an actor will have. If the actor has a valid
1252 // allocation, the allocation will be returned; otherwise,
1253 // the actors natural size request will be returned.
1255 // If you care whether you get the request vs. the allocation, you
1256 // should probably call a different function like
1257 // clutter_actor_get_allocation_box() or
1258 // clutter_actor_get_preferred_width().
1259 // <width>: return location for the width, or %NULL.
1260 // <height>: return location for the height, or %NULL.
1261 void get_size()(/*out*/ float* width
=null, /*out*/ float* height
=null) {
1262 clutter_actor_get_size(&this, width
, height
);
1266 // Retrieves the #ClutterStage where @actor is contained.
1268 // containing the actor, or %NULL
1269 // RETURNS: the stage
1270 Actor
* get_stage()() {
1271 return clutter_actor_get_stage(&this);
1275 // Retrieves the value set using clutter_actor_set_text_direction()
1277 // If no text direction has been previously set, the default text
1278 // direction, as returned by clutter_get_default_text_direction(), will
1279 // be returned instead
1280 // RETURNS: the #ClutterTextDirection for the actor
1281 TextDirection
get_text_direction()() {
1282 return clutter_actor_get_text_direction(&this);
1286 // Retrieves the transformations applied to @self relative to its
1288 // <matrix>: the return location for a #CoglMatrix
1289 void get_transformation_matrix()(/*out*/ Cogl
.Matrix
* matrix
) {
1290 clutter_actor_get_transformation_matrix(&this, matrix
);
1294 // Retrieves the 3D paint volume of an actor like
1295 // clutter_actor_get_paint_volume() does (Please refer to the
1296 // documentation of clutter_actor_get_paint_volume() for more
1297 // details.) and it additionally transforms the paint volume into the
1298 // coordinate space of @relative_to_ancestor. (Or the stage if %NULL
1299 // is passed for @relative_to_ancestor)
1301 // This can be used by containers that base their paint volume on
1302 // the volume of their children. Such containers can query the
1303 // transformed paint volume of all of its children and union them
1304 // together using clutter_paint_volume_union().
1306 // or %NULL if no volume could be determined.
1307 // RETURNS: a pointer to a #ClutterPaintVolume
1308 // <relative_to_ancestor>: A #ClutterActor that is an ancestor of @self (or %NULL for the stage)
1309 PaintVolume
* get_transformed_paint_volume()(Actor
* relative_to_ancestor
) {
1310 return clutter_actor_get_transformed_paint_volume(&this, relative_to_ancestor
);
1314 // Gets the absolute position of an actor, in pixels relative to the stage.
1315 // <x>: return location for the X coordinate, or %NULL
1316 // <y>: return location for the Y coordinate, or %NULL
1317 void get_transformed_position()(/*out*/ float* x
=null, /*out*/ float* y
=null) {
1318 clutter_actor_get_transformed_position(&this, x
, y
);
1322 // Gets the absolute size of an actor in pixels, taking into account the
1325 // If the actor has a valid allocation, the allocated size will be used.
1326 // If the actor has not a valid allocation then the preferred size will
1327 // be transformed and returned.
1329 // If you want the transformed allocation, see
1330 // clutter_actor_get_abs_allocation_vertices() instead.
1332 // <note>When the actor (or one of its ancestors) is rotated around the
1333 // X or Y axis, it no longer appears as on the stage as a rectangle, but
1334 // as a generic quadrangle; in that case this function returns the size
1335 // of the smallest rectangle that encapsulates the entire quad. Please
1336 // note that in this case no assumptions can be made about the relative
1337 // position of this envelope to the absolute position of the actor, as
1338 // returned by clutter_actor_get_transformed_position(); if you need this
1339 // information, you need to use clutter_actor_get_abs_allocation_vertices()
1340 // to get the coords of the actual quadrangle.</note>
1341 // <width>: return location for the width, or %NULL
1342 // <height>: return location for the height, or %NULL
1343 void get_transformed_size()(/*out*/ float* width
=null, /*out*/ float* height
=null) {
1344 clutter_actor_get_transformed_size(&this, width
, height
);
1347 // Retrieves the width of a #ClutterActor.
1349 // If the actor has a valid allocation, this function will return the
1350 // width of the allocated area given to the actor.
1352 // If the actor does not have a valid allocation, this function will
1353 // return the actor's natural width, that is the preferred width of
1356 // If you care whether you get the preferred width or the width that
1357 // has been assigned to the actor, you should probably call a different
1358 // function like clutter_actor_get_allocation_box() to retrieve the
1359 // allocated size or clutter_actor_get_preferred_width() to retrieve the
1362 // If an actor has a fixed width, for instance a width that has been
1363 // assigned using clutter_actor_set_width(), the width returned will
1364 // be the same value.
1365 // RETURNS: the width of the actor, in pixels
1366 float get_width()() {
1367 return clutter_actor_get_width(&this);
1370 // Retrieves the X coordinate of a #ClutterActor.
1372 // This function tries to "do what you mean", by returning the
1373 // correct value depending on the actor's state.
1375 // If the actor has a valid allocation, this function will return
1376 // the X coordinate of the origin of the allocation box.
1378 // If the actor has any fixed coordinate set using clutter_actor_set_x(),
1379 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1380 // function will return that coordinate.
1382 // If both the allocation and a fixed position are missing, this function
1385 // transformation (i.e. scaling, rotation)
1386 // RETURNS: the X coordinate, in pixels, ignoring any
1388 return clutter_actor_get_x(&this);
1391 // Retrieves the Y coordinate of a #ClutterActor.
1393 // This function tries to "do what you mean", by returning the
1394 // correct value depending on the actor's state.
1396 // If the actor has a valid allocation, this function will return
1397 // the Y coordinate of the origin of the allocation box.
1399 // If the actor has any fixed coordinate set using clutter_actor_set_y(),
1400 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1401 // function will return that coordinate.
1403 // If both the allocation and a fixed position are missing, this function
1406 // transformation (i.e. scaling, rotation)
1407 // RETURNS: the Y coordinate, in pixels, ignoring any
1409 return clutter_actor_get_y(&this);
1413 // Retrieves the center for the rotation around the Z axis as a
1414 // compass direction. If the center was specified in pixels or units
1415 // this will return %CLUTTER_GRAVITY_NONE.
1416 // RETURNS: the Z rotation center
1417 Gravity
get_z_rotation_gravity()() {
1418 return clutter_actor_get_z_rotation_gravity(&this);
1422 // Sets the key focus of the #ClutterStage including @self
1423 // to this #ClutterActor.
1424 void grab_key_focus()() {
1425 clutter_actor_grab_key_focus(&this);
1429 // Checks if the actor has an up-to-date allocation assigned to
1430 // it. This means that the actor should have an allocation: it's
1431 // visible and has a parent. It also means that there is no
1432 // outstanding relayout request in progress for the actor or its
1433 // children (There might be other outstanding layout requests in
1434 // progress that will cause the actor to get a new allocation
1435 // when the stage is laid out, however).
1437 // If this function returns %FALSE, then the actor will normally
1438 // be allocated before it is next drawn on the screen.
1439 // RETURNS: %TRUE if the actor has an up-to-date allocation
1440 int has_allocation()() {
1441 return clutter_actor_has_allocation(&this);
1445 // Determines whether the actor has a clip area set or not.
1446 // RETURNS: %TRUE if the actor has a clip area set.
1448 return clutter_actor_has_clip(&this);
1452 // Checks whether @self is the #ClutterActor that has key focus
1453 // RETURNS: %TRUE if the actor has key focus, and %FALSE otherwise
1454 int has_key_focus()() {
1455 return clutter_actor_has_key_focus(&this);
1459 // Asks the actor's implementation whether it may contain overlapping
1462 // For example; Clutter may use this to determine whether the painting
1463 // should be redirected to an offscreen buffer to correctly implement
1464 // the opacity property.
1466 // Custom actors can override the default response by implementing the
1467 // #ClutterActor <function>has_overlaps</function> virtual function. See
1468 // clutter_actor_set_offscreen_redirect() for more information.
1471 // RETURNS: %TRUE if the actor may have overlapping primitives, and
1472 int has_overlaps()() {
1473 return clutter_actor_has_overlaps(&this);
1477 // Checks whether an actor contains the pointer of a
1478 // #ClutterInputDevice
1481 // RETURNS: %TRUE if the actor contains the pointer, and
1482 int has_pointer()() {
1483 return clutter_actor_has_pointer(&this);
1486 // Flags an actor to be hidden. A hidden actor will not be
1487 // rendered on the stage.
1489 // Actors are visible by default.
1491 // If this function is called on an actor without a parent, the
1492 // #ClutterActor:show-on-set-parent property will be set to %FALSE
1493 // as a side-effect.
1495 clutter_actor_hide(&this);
1499 // Calls clutter_actor_hide() on all child actors (if any).
1501 clutter_actor_hide_all(&this);
1505 // Checks whether @self is being currently painted by a #ClutterClone
1507 // This function is useful only inside the ::paint virtual function
1508 // implementations or within handlers for the #ClutterActor::paint
1511 // This function should not be used by applications
1513 // by a #ClutterClone, and %FALSE otherwise
1514 // RETURNS: %TRUE if the #ClutterActor is currently being painted
1515 int is_in_clone_paint()() {
1516 return clutter_actor_is_in_clone_paint(&this);
1520 // Checks whether any rotation is applied to the actor.
1521 // RETURNS: %TRUE if the actor is rotated.
1522 int is_rotated()() {
1523 return clutter_actor_is_rotated(&this);
1527 // Checks whether the actor is scaled in either dimension.
1528 // RETURNS: %TRUE if the actor is scaled.
1530 return clutter_actor_is_scaled(&this);
1533 // Puts @self below @above.
1535 // Both actors must have the same parent, and the parent must implement
1536 // the #ClutterContainer interface.
1538 // This function is the equivalent of clutter_container_lower_child().
1539 // <above>: A #ClutterActor to lower below
1540 void lower()(Actor
* above
=null) {
1541 clutter_actor_lower(&this, above
);
1544 // Lowers @self to the bottom.
1546 // This function calls clutter_actor_lower() internally.
1547 void lower_bottom()() {
1548 clutter_actor_lower_bottom(&this);
1552 // Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
1553 // and realizes its children if they are visible. Does nothing if the
1554 // actor is not visible.
1556 // Calling this is allowed in only one case: you are implementing the
1557 // #ClutterActor <function>map()</function> virtual function in an actor
1558 // and you need to map the children of that actor. It is not necessary
1559 // to call this if you implement #ClutterContainer because the default
1560 // implementation will automatically map children of containers.
1562 // When overriding map, it is mandatory to chain up to the parent
1565 clutter_actor_map(&this);
1569 // Sets an anchor point for the actor, and adjusts the actor postion so that
1570 // the relative position of the actor toward its parent remains the same.
1571 // <anchor_x>: X coordinate of the anchor point
1572 // <anchor_y>: Y coordinate of the anchor point
1573 void move_anchor_point()(float anchor_x
, float anchor_y
) {
1574 clutter_actor_move_anchor_point(&this, anchor_x
, anchor_y
);
1578 // Sets an anchor point on the actor based on the given gravity, adjusting the
1579 // actor postion so that its relative position within its parent remains
1582 // Since version 1.0 the anchor point will be stored as a gravity so
1583 // that if the actor changes size then the anchor point will move. For
1584 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
1585 // and later double the size of the actor, the anchor point will move
1586 // to the bottom right.
1587 // <gravity>: #ClutterGravity.
1588 void move_anchor_point_from_gravity()(Gravity gravity
) {
1589 clutter_actor_move_anchor_point_from_gravity(&this, gravity
);
1593 // Moves an actor by the specified distance relative to its current
1594 // position in pixels.
1596 // This function modifies the fixed position of an actor and thus removes
1597 // it from any layout management. Another way to move an actor is with an
1598 // anchor point, see clutter_actor_set_anchor_point().
1599 // <dx>: Distance to move Actor on X axis.
1600 // <dy>: Distance to move Actor on Y axis.
1601 void move_by()(float dx
, float dy
) {
1602 clutter_actor_move_by(&this, dx
, dy
);
1605 // Renders the actor to display.
1607 // This function should not be called directly by applications.
1608 // Call clutter_actor_queue_redraw() to queue paints, instead.
1610 // This function is context-aware, and will either cause a
1611 // regular paint or a pick paint.
1613 // This function will emit the #ClutterActor::paint signal or
1614 // the #ClutterActor::pick signal, depending on the context.
1616 // This function does not paint the actor if the actor is set to 0,
1617 // unless it is performing a pick paint.
1619 clutter_actor_paint(&this);
1623 // Disables the effects of clutter_actor_push_internal()
1624 void pop_internal()() {
1625 clutter_actor_pop_internal(&this);
1629 // Should be used by actors implementing the #ClutterContainer and with
1630 // internal children added through clutter_actor_set_parent(), for instance:
1634 // my_actor_init (MyActor *self)
1636 // self->priv = SELF_ACTOR_GET_PRIVATE (self);
1638 // clutter_actor_push_internal (CLUTTER_ACTOR (self));
1640 // /* calling clutter_actor_set_parent() now will result in
1641 // * the internal flag being set on a child of MyActor
1644 // /* internal child - a background texture */
1645 // self->priv->background_tex = clutter_texture_new ();
1646 // clutter_actor_set_parent (self->priv->background_tex,
1647 // CLUTTER_ACTOR (self));
1649 // /* internal child - a label */
1650 // self->priv->label = clutter_text_new ();
1651 // clutter_actor_set_parent (self->priv->label,
1652 // CLUTTER_ACTOR (self));
1654 // clutter_actor_pop_internal (CLUTTER_ACTOR (self));
1656 // /* calling clutter_actor_set_parent() now will not result in
1657 // * the internal flag being set on a child of MyActor
1662 // This function will be used by Clutter to toggle an "internal child"
1663 // flag whenever clutter_actor_set_parent() is called; internal children
1664 // are handled differently by Clutter, specifically when destroying their
1667 // Call clutter_actor_pop_internal() when you finished adding internal
1670 // Nested calls to clutter_actor_push_internal() are allowed, but each
1671 // one must by followed by a clutter_actor_pop_internal() call.
1672 void push_internal()() {
1673 clutter_actor_push_internal(&this);
1676 // Queues up a redraw of an actor and any children. The redraw occurs
1677 // once the main loop becomes idle (after the current batch of events
1678 // has been processed, roughly).
1680 // Applications rarely need to call this, as redraws are handled
1681 // automatically by modification functions.
1683 // This function will not do anything if @self is not visible, or
1684 // if the actor is inside an invisible part of the scenegraph.
1686 // Also be aware that painting is a NOP for actors with an opacity of
1689 // When you are implementing a custom actor you must queue a redraw
1690 // whenever some private state changes that will affect painting or
1691 // picking of your actor.
1692 void queue_redraw()() {
1693 clutter_actor_queue_redraw(&this);
1697 // Indicates that the actor's size request or other layout-affecting
1698 // properties may have changed. This function is used inside #ClutterActor
1699 // subclass implementations, not by applications directly.
1701 // Queueing a new layout automatically queues a redraw as well.
1702 void queue_relayout()() {
1703 clutter_actor_queue_relayout(&this);
1706 // Puts @self above @below.
1708 // Both actors must have the same parent, and the parent must implement
1709 // the #ClutterContainer interface
1711 // This function is the equivalent of clutter_container_raise_child().
1712 // <below>: A #ClutterActor to raise above.
1713 void raise()(Actor
* below
=null) {
1714 clutter_actor_raise(&this, below
);
1717 // Raises @self to the top.
1719 // This function calls clutter_actor_raise() internally.
1720 void raise_top()() {
1721 clutter_actor_raise_top(&this);
1724 // Realization informs the actor that it is attached to a stage. It
1725 // can use this to allocate resources if it wanted to delay allocation
1726 // until it would be rendered. However it is perfectly acceptable for
1727 // an actor to create resources before being realized because Clutter
1728 // only ever has a single rendering context so that actor is free to
1729 // be moved from one stage to another.
1731 // This function does nothing if the actor is already realized.
1733 // Because a realized actor must have realized parent actors, calling
1734 // clutter_actor_realize() will also realize all parents of the actor.
1736 // This function does not realize child actors, except in the special
1737 // case that realizing the stage, when the stage is visible, will
1738 // suddenly map (and thus realize) the children of the stage.
1740 clutter_actor_realize(&this);
1744 // Removes @action from the list of actions applied to @self
1746 // The reference held by @self on the #ClutterAction will be released
1747 // <action>: a #ClutterAction
1748 void remove_action()(Action
* action
) {
1749 clutter_actor_remove_action(&this, action
);
1753 // Removes the #ClutterAction with the given name from the list
1754 // of actions applied to @self
1755 // <name>: the name of the action to remove
1756 void remove_action_by_name()(char* name
) {
1757 clutter_actor_remove_action_by_name(&this, name
);
1759 // Removes clip area from @self.
1760 void remove_clip()() {
1761 clutter_actor_remove_clip(&this);
1765 // Removes @constraint from the list of constraints applied to @self
1767 // The reference held by @self on the #ClutterConstraint will be released
1768 // <constraint>: a #ClutterConstraint
1769 void remove_constraint()(Constraint
* constraint
) {
1770 clutter_actor_remove_constraint(&this, constraint
);
1774 // Removes the #ClutterConstraint with the given name from the list
1775 // of constraints applied to @self
1776 // <name>: the name of the constraint to remove
1777 void remove_constraint_by_name()(char* name
) {
1778 clutter_actor_remove_constraint_by_name(&this, name
);
1782 // Removes @effect from the list of effects applied to @self
1784 // The reference held by @self on the #ClutterEffect will be released
1785 // <effect>: a #ClutterEffect
1786 void remove_effect()(Effect
* effect
) {
1787 clutter_actor_remove_effect(&this, effect
);
1791 // Removes the #ClutterEffect with the given name from the list
1792 // of effects applied to @self
1793 // <name>: the name of the effect to remove
1794 void remove_effect_by_name()(char* name
) {
1795 clutter_actor_remove_effect_by_name(&this, name
);
1799 // This function resets the parent actor of @self. It is
1800 // logically equivalent to calling clutter_actor_unparent()
1801 // and clutter_actor_set_parent(), but more efficiently
1802 // implemented, ensures the child is not finalized
1803 // when unparented, and emits the parent-set signal only
1805 // <new_parent>: the new #ClutterActor parent
1806 void reparent()(Actor
* new_parent
) {
1807 clutter_actor_reparent(&this, new_parent
);
1811 // Sets an anchor point for @self. The anchor point is a point in the
1812 // coordinate space of an actor to which the actor position within its
1813 // parent is relative; the default is (0, 0), i.e. the top-left corner
1815 // <anchor_x>: X coordinate of the anchor point
1816 // <anchor_y>: Y coordinate of the anchor point
1817 void set_anchor_point()(float anchor_x
, float anchor_y
) {
1818 clutter_actor_set_anchor_point(&this, anchor_x
, anchor_y
);
1822 // Sets an anchor point on the actor, based on the given gravity (this is a
1823 // convenience function wrapping clutter_actor_set_anchor_point()).
1825 // Since version 1.0 the anchor point will be stored as a gravity so
1826 // that if the actor changes size then the anchor point will move. For
1827 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
1828 // and later double the size of the actor, the anchor point will move
1829 // to the bottom right.
1830 // <gravity>: #ClutterGravity.
1831 void set_anchor_point_from_gravity()(Gravity gravity
) {
1832 clutter_actor_set_anchor_point_from_gravity(&this, gravity
);
1836 // Sets clip area for @self. The clip area is always computed from the
1837 // upper left corner of the actor, even if the anchor point is set
1839 // <xoff>: X offset of the clip rectangle
1840 // <yoff>: Y offset of the clip rectangle
1841 // <width>: Width of the clip rectangle
1842 // <height>: Height of the clip rectangle
1843 void set_clip()(float xoff
, float yoff
, float width
, float height
) {
1844 clutter_actor_set_clip(&this, xoff
, yoff
, width
, height
);
1848 // Sets whether @self should be clipped to the same size as its
1850 // <clip_set>: %TRUE to apply a clip tracking the allocation
1851 void set_clip_to_allocation()(int clip_set
) {
1852 clutter_actor_set_clip_to_allocation(&this, clip_set
);
1855 // Sets the Z coordinate of @self to @depth.
1857 // The unit used by @depth is dependant on the perspective setup. See
1858 // also clutter_stage_set_perspective().
1859 // <depth>: Z co-ord
1860 void set_depth()(float depth
) {
1861 clutter_actor_set_depth(&this, depth
);
1865 // Sets whether an actor has a fixed position set (and will thus be
1866 // unaffected by any layout manager).
1867 // <is_set>: whether to use fixed position
1868 void set_fixed_position_set()(int is_set
) {
1869 clutter_actor_set_fixed_position_set(&this, is_set
);
1873 // Sets @flags on @self
1875 // This function will emit notifications for the changed properties
1876 // <flags>: the flags to set
1877 void set_flags()(ActorFlags flags
) {
1878 clutter_actor_set_flags(&this, flags
);
1881 // Sets the actor's fixed position and forces its minimum and natural
1882 // size, in pixels. This means the untransformed actor will have the
1883 // given geometry. This is the same as calling clutter_actor_set_position()
1884 // and clutter_actor_set_size().
1885 // <geometry>: A #ClutterGeometry
1886 void set_geometry()(Geometry
* geometry
) {
1887 clutter_actor_set_geometry(&this, geometry
);
1891 // Forces a height on an actor, causing the actor's preferred width
1892 // and height (if any) to be ignored.
1894 // If @height is -1 the actor will use its preferred height instead of
1895 // overriding it, i.e. you can "unset" the height with -1.
1897 // This function sets both the minimum and natural size of the actor.
1898 // <height>: Requested new height for the actor, in pixels, or -1
1899 void set_height()(float height
) {
1900 clutter_actor_set_height(&this, height
);
1903 // Sets the given name to @self. The name can be used to identify
1905 // <name>: Textual tag to apply to actor
1906 void set_name()(char* name
) {
1907 clutter_actor_set_name(&this, name
);
1911 // Defines the circumstances where the actor should be redirected into
1912 // an offscreen image. The offscreen image is used to flatten the
1913 // actor into a single image while painting for two main reasons.
1914 // Firstly, when the actor is painted a second time without any of its
1915 // contents changing it can simply repaint the cached image without
1916 // descending further down the actor hierarchy. Secondly, it will make
1917 // the opacity look correct even if there are overlapping primitives
1920 // Caching the actor could in some cases be a performance win and in
1921 // some cases be a performance lose so it is important to determine
1922 // which value is right for an actor before modifying this value. For
1923 // example, there is never any reason to flatten an actor that is just
1924 // a single texture (such as a #ClutterTexture) because it is
1925 // effectively already cached in an image so the offscreen would be
1926 // redundant. Also if the actor contains primitives that are far apart
1927 // with a large transparent area in the middle (such as a large
1928 // CluterGroup with a small actor in the top left and a small actor in
1929 // the bottom right) then the cached image will contain the entire
1930 // image of the large area and the paint will waste time blending all
1931 // of the transparent pixels in the middle.
1933 // The default method of implementing opacity on a container simply
1934 // forwards on the opacity to all of the children. If the children are
1935 // overlapping then it will appear as if they are two separate glassy
1936 // objects and there will be a break in the color where they
1937 // overlap. By redirecting to an offscreen buffer it will be as if the
1938 // two opaque objects are combined into one and then made transparent
1939 // which is usually what is expected.
1941 // The image below demonstrates the difference between redirecting and
1942 // not. The image shows two Clutter groups, each containing a red and
1943 // a green rectangle which overlap. The opacity on the group is set to
1944 // 128 (which is 50%). When the offscreen redirect is not used, the
1945 // red rectangle can be seen through the blue rectangle as if the two
1946 // rectangles were separately transparent. When the redirect is used
1947 // the group as a whole is transparent instead so the red rectangle is
1948 // not visible where they overlap.
1950 // <figure id="offscreen-redirect">
1951 // <title>Sample of using an offscreen redirect for transparency</title>
1952 // <graphic fileref="offscreen-redirect.png" format="PNG"/>
1955 // The default value for this property is 0, so we effectively will
1956 // never redirect an actor offscreen by default. This means that there
1957 // are times that transparent actors may look glassy as described
1958 // above. The reason this is the default is because there is a
1959 // performance trade off between quality and performance here. In many
1960 // cases the default form of glassy opacity looks good enough, but if
1961 // it's not you will need to set the
1962 // %CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY flag to enable
1963 // redirection for opacity.
1965 // Custom actors that don't contain any overlapping primitives are
1966 // recommended to override the has_overlaps() virtual to return %FALSE
1967 // for maximum efficiency.
1968 // <redirect>: New offscreen redirect flags for the actor.
1969 void set_offscreen_redirect()(OffscreenRedirect redirect
) {
1970 clutter_actor_set_offscreen_redirect(&this, redirect
);
1973 // Sets the actor's opacity, with zero being completely transparent and
1974 // 255 (0xff) being fully opaque.
1975 // <opacity>: New opacity value for the actor.
1976 void set_opacity()(ubyte opacity
) {
1977 clutter_actor_set_opacity(&this, opacity
);
1980 // Sets the parent of @self to @parent. The opposite function is
1981 // clutter_actor_unparent().
1983 // This function should not be used by applications, but by custom
1984 // container actor subclasses.
1985 // <parent>: A new #ClutterActor parent
1986 void set_parent()(Actor
* parent
) {
1987 clutter_actor_set_parent(&this, parent
);
1990 // Sets the actor's fixed position in pixels relative to any parent
1993 // If a layout manager is in use, this position will override the
1994 // layout manager and force a fixed position.
1995 // <x>: New left position of actor in pixels.
1996 // <y>: New top position of actor in pixels.
1997 void set_position()(float x
, float y
) {
1998 clutter_actor_set_position(&this, x
, y
);
2002 // Sets @actor as reactive. Reactive actors will receive events.
2003 // <reactive>: whether the actor should be reactive to events
2004 void set_reactive()(int reactive
) {
2005 clutter_actor_set_reactive(&this, reactive
);
2009 // Sets the geometry request mode of @self.
2011 // The @mode determines the order for invoking
2012 // clutter_actor_get_preferred_width() and
2013 // clutter_actor_get_preferred_height()
2014 // <mode>: the request mode
2015 void set_request_mode()(RequestMode mode
) {
2016 clutter_actor_set_request_mode(&this, mode
);
2020 // Sets the rotation angle of @self around the given axis.
2022 // The rotation center coordinates used depend on the value of @axis:
2024 // <listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem>
2025 // <listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem>
2026 // <listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem>
2029 // The rotation coordinates are relative to the anchor point of the
2030 // actor, set using clutter_actor_set_anchor_point(). If no anchor
2031 // point is set, the upper left corner is assumed as the origin.
2032 // <axis>: the axis of rotation
2033 // <angle>: the angle of rotation
2034 // <x>: X coordinate of the rotation center
2035 // <y>: Y coordinate of the rotation center
2036 // <z>: Z coordinate of the rotation center
2037 void set_rotation()(RotateAxis axis
, double angle
, float x
, float y
, float z
) {
2038 clutter_actor_set_rotation(&this, axis
, angle
, x
, y
, z
);
2042 // Scales an actor with the given factors. The scaling is relative to
2043 // the scale center and the anchor point. The scale center is
2044 // unchanged by this function and defaults to 0,0.
2045 // <scale_x>: double factor to scale actor by horizontally.
2046 // <scale_y>: double factor to scale actor by vertically.
2047 void set_scale()(double scale_x
, double scale_y
) {
2048 clutter_actor_set_scale(&this, scale_x
, scale_y
);
2052 // Scales an actor with the given factors around the given center
2053 // point. The center point is specified in pixels relative to the
2054 // anchor point (usually the top left corner of the actor).
2055 // <scale_x>: double factor to scale actor by horizontally.
2056 // <scale_y>: double factor to scale actor by vertically.
2057 // <center_x>: X coordinate of the center of the scale.
2058 // <center_y>: Y coordinate of the center of the scale
2059 void set_scale_full()(double scale_x
, double scale_y
, float center_x
, float center_y
) {
2060 clutter_actor_set_scale_full(&this, scale_x
, scale_y
, center_x
, center_y
);
2064 // Scales an actor with the given factors around the given
2065 // center point. The center point is specified as one of the compass
2066 // directions in #ClutterGravity. For example, setting it to north
2067 // will cause the top of the actor to remain unchanged and the rest of
2068 // the actor to expand left, right and downwards.
2069 // <scale_x>: double factor to scale actor by horizontally.
2070 // <scale_y>: double factor to scale actor by vertically.
2071 // <gravity>: the location of the scale center expressed as a compass direction.
2072 void set_scale_with_gravity()(double scale_x
, double scale_y
, Gravity gravity
) {
2073 clutter_actor_set_scale_with_gravity(&this, scale_x
, scale_y
, gravity
);
2077 // DEPRECATED (v1.8) method: set_shader - Use #ClutterShaderEffect and
2078 // Sets the #ClutterShader to be used when rendering @self.
2080 // If @shader is %NULL this function will unset any currently set shader
2083 // <note>Any #ClutterEffect applied to @self will take the precedence
2084 // over the #ClutterShader set using this function.</note>
2089 // clutter_actor_add_effect() instead.
2090 // RETURNS: %TRUE if the shader was successfully applied
2091 // <shader>: a #ClutterShader or %NULL to unset the shader.
2092 int set_shader()(Shader
* shader
=null) {
2093 return clutter_actor_set_shader(&this, shader
);
2097 // DEPRECATED (v1.8) method: set_shader_param - Use clutter_shader_effect_set_uniform_value() instead
2098 // Sets the value for a named parameter of the shader applied
2100 // <param>: the name of the parameter
2101 // <value>: the value of the parameter
2102 void set_shader_param()(char* param
, GObject2
.Value
* value
) {
2103 clutter_actor_set_shader_param(&this, param
, value
);
2107 // DEPRECATED (v1.8) method: set_shader_param_float - Use clutter_shader_effect_set_uniform() instead
2108 // Sets the value for a named float parameter of the shader applied
2110 // <param>: the name of the parameter
2111 // <value>: the value of the parameter
2112 void set_shader_param_float()(char* param
, float value
) {
2113 clutter_actor_set_shader_param_float(&this, param
, value
);
2117 // DEPRECATED (v1.8) method: set_shader_param_int - Use clutter_shader_effect_set_uniform() instead
2118 // Sets the value for a named int parameter of the shader applied to
2120 // <param>: the name of the parameter
2121 // <value>: the value of the parameter
2122 void set_shader_param_int()(char* param
, int value
) {
2123 clutter_actor_set_shader_param_int(&this, param
, value
);
2126 // Sets the actor's size request in pixels. This overrides any
2127 // "normal" size request the actor would have. For example
2128 // a text actor might normally request the size of the text;
2129 // this function would force a specific size instead.
2131 // If @width and/or @height are -1 the actor will use its
2132 // "normal" size request instead of overriding it, i.e.
2133 // you can "unset" the size with -1.
2135 // This function sets or unsets both the minimum and natural size.
2136 // <width>: New width of actor in pixels, or -1
2137 // <height>: New height of actor in pixels, or -1
2138 void set_size()(float width
, float height
) {
2139 clutter_actor_set_size(&this, width
, height
);
2143 // Sets the #ClutterTextDirection for an actor
2145 // The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT
2147 // If @self implements #ClutterContainer then this function will recurse
2148 // inside all the children of @self (including the internal ones).
2150 // Composite actors not implementing #ClutterContainer, or actors requiring
2151 // special handling when the text direction changes, should connect to
2152 // the #GObject::notify signal for the #ClutterActor:text-direction property
2153 // <text_dir>: the text direction for @self
2154 void set_text_direction()(TextDirection text_dir
) {
2155 clutter_actor_set_text_direction(&this, text_dir
);
2159 // Forces a width on an actor, causing the actor's preferred width
2160 // and height (if any) to be ignored.
2162 // If @width is -1 the actor will use its preferred width request
2163 // instead of overriding it, i.e. you can "unset" the width with -1.
2165 // This function sets both the minimum and natural size of the actor.
2166 // <width>: Requested new width for the actor, in pixels, or -1
2167 void set_width()(float width
) {
2168 clutter_actor_set_width(&this, width
);
2172 // Sets the actor's X coordinate, relative to its parent, in pixels.
2174 // Overrides any layout manager and forces a fixed position for
2176 // <x>: the actor's position on the X axis
2177 void set_x()(float x
) {
2178 clutter_actor_set_x(&this, x
);
2182 // Sets the actor's Y coordinate, relative to its parent, in pixels.#
2184 // Overrides any layout manager and forces a fixed position for
2186 // <y>: the actor's position on the Y axis
2187 void set_y()(float y
) {
2188 clutter_actor_set_y(&this, y
);
2192 // Sets the rotation angle of @self around the Z axis using the center
2193 // point specified as a compass point. For example to rotate such that
2194 // the center of the actor remains static you can use
2195 // %CLUTTER_GRAVITY_CENTER. If the actor changes size the center point
2196 // will move accordingly.
2197 // <angle>: the angle of rotation
2198 // <gravity>: the center point of the rotation
2199 void set_z_rotation_from_gravity()(double angle
, Gravity gravity
) {
2200 clutter_actor_set_z_rotation_from_gravity(&this, angle
, gravity
);
2203 // Should be called inside the implementation of the
2204 // #ClutterActor::pick virtual function in order to check whether
2205 // the actor should paint itself in pick mode or not.
2207 // This function should never be called directly by applications.
2210 // RETURNS: %TRUE if the actor should paint its silhouette,
2211 int should_pick_paint()() {
2212 return clutter_actor_should_pick_paint(&this);
2215 // Flags an actor to be displayed. An actor that isn't shown will not
2216 // be rendered on the stage.
2218 // Actors are visible by default.
2220 // If this function is called on an actor without a parent, the
2221 // #ClutterActor:show-on-set-parent will be set to %TRUE as a side
2224 clutter_actor_show(&this);
2228 // Calls clutter_actor_show() on all children of an actor (if any).
2230 clutter_actor_show_all(&this);
2234 // This function translates screen coordinates (@x, @y) to
2235 // coordinates relative to the actor. For example, it can be used to translate
2236 // screen events from global screen coordinates into actor-local coordinates.
2238 // The conversion can fail, notably if the transform stack results in the
2239 // actor being projected on the screen as a mere line.
2241 // The conversion should not be expected to be pixel-perfect due to the
2242 // nature of the operation. In general the error grows when the skewing
2243 // of the actor rectangle on screen increases.
2245 // <note><para>This function can be computationally intensive.</para></note>
2247 // <note><para>This function only works when the allocation is up-to-date,
2248 // i.e. inside of paint().</para></note>
2249 // RETURNS: %TRUE if conversion was successful.
2250 // <x>: x screen coordinate of the point to unproject
2251 // <y>: y screen coordinate of the point to unproject
2252 // <x_out>: return location for the unprojected x coordinance
2253 // <y_out>: return location for the unprojected y coordinance
2254 int transform_stage_point()(float x
, float y
, /*out*/ float* x_out
, /*out*/ float* y_out
) {
2255 return clutter_actor_transform_stage_point(&this, x
, y
, x_out
, y_out
);
2259 // Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
2260 // unmaps its children if they were mapped.
2262 // Calling this is allowed in only one case: you are implementing the
2263 // #ClutterActor <function>unmap()</function> virtual function in an actor
2264 // and you need to unmap the children of that actor. It is not necessary
2265 // to call this if you implement #ClutterContainer because the default
2266 // implementation will automatically unmap children of containers.
2268 // When overriding unmap, it is mandatory to chain up to the parent
2271 clutter_actor_unmap(&this);
2275 // Removes the parent of @self.
2277 // This function should not be used in applications.
2279 // This function should only be called by implementations of the
2280 // #ClutterContainer interface, or by composite actors that do
2281 // not implicitly create their children.
2283 clutter_actor_unparent(&this);
2286 // Unrealization informs the actor that it may be being destroyed or
2287 // moved to another stage. The actor may want to destroy any
2288 // underlying graphics resources at this point. However it is
2289 // perfectly acceptable for it to retain the resources until the actor
2290 // is destroyed because Clutter only ever uses a single rendering
2291 // context and all of the graphics resources are valid on any stage.
2293 // Because mapped actors must be realized, actors may not be
2294 // unrealized if they are mapped. This function hides the actor to be
2295 // sure it isn't mapped, an application-visible side effect that you
2296 // may not be expecting.
2298 // This function should not be called by application code.
2299 void unrealize()() {
2300 clutter_actor_unrealize(&this);
2304 // Unsets @flags on @self
2306 // This function will emit notifications for the changed properties
2307 // <flags>: the flags to unset
2308 void unset_flags()(ActorFlags flags
) {
2309 clutter_actor_unset_flags(&this, flags
);
2313 // The ::allocation-changed signal is emitted when the
2314 // #ClutterActor:allocation property changes. Usually, application
2315 // code should just use the notifications for the :allocation property
2316 // but if you want to track the allocation flags as well, for instance
2317 // to know whether the absolute origin of @actor changed, then you might
2318 // want use this signal instead.
2319 // <box>: a #ClutterActorBox with the new allocation
2320 // <flags>: #ClutterAllocationFlags for the allocation
2321 extern (C
) alias static void function (Actor
* this_
, ActorBox
* box
, AllocationFlags
* flags
, void* user_data
=null) signal_allocation_changed
;
2323 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2324 return super_
.signal_connect
!name(cb
, data
, cf
);
2327 ulong signal_connect(string name
:"allocation-changed", CB
:signal_allocation_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2328 return signal_connect_data
!()(&this, cast(char*)"allocation-changed",
2329 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2333 // The ::button-press-event signal is emitted each time a mouse button
2334 // is pressed on @actor.
2336 // or %FALSE to continue the emission.
2337 // RETURNS: %TRUE if the event has been handled by the actor,
2338 // <event>: a #ClutterButtonEvent
2339 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_button_press_event
;
2340 ulong signal_connect(string name
:"button-press-event", CB
:signal_button_press_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2341 return signal_connect_data
!()(&this, cast(char*)"button-press-event",
2342 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2346 // The ::button-release-event signal is emitted each time a mouse button
2347 // is released on @actor.
2349 // or %FALSE to continue the emission.
2350 // RETURNS: %TRUE if the event has been handled by the actor,
2351 // <event>: a #ClutterButtonEvent
2352 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_button_release_event
;
2353 ulong signal_connect(string name
:"button-release-event", CB
:signal_button_release_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2354 return signal_connect_data
!()(&this, cast(char*)"button-release-event",
2355 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2359 // The ::captured-event signal is emitted when an event is captured
2360 // by Clutter. This signal will be emitted starting from the top-level
2361 // container (the #ClutterStage) to the actor which received the event
2362 // going down the hierarchy. This signal can be used to intercept every
2363 // event before the specialized events (like
2364 // ClutterActor::button-press-event or ::key-released-event) are
2367 // or %FALSE to continue the emission.
2368 // RETURNS: %TRUE if the event has been handled by the actor,
2369 // <event>: a #ClutterEvent
2370 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_captured_event
;
2371 ulong signal_connect(string name
:"captured-event", CB
:signal_captured_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2372 return signal_connect_data
!()(&this, cast(char*)"captured-event",
2373 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2377 // The ::destroy signal notifies that all references held on the
2378 // actor which emitted it should be released.
2380 // The ::destroy signal should be used by all holders of a reference
2383 // This signal might result in the finalization of the #ClutterActor
2384 // if all references are released.
2386 // Composite actors and actors implementing the #ClutterContainer
2387 // interface should override the default implementation of the
2388 // class handler of this signal and call clutter_actor_destroy() on
2389 // their children. When overriding the default class handler, it is
2390 // required to chain up to the parent's implementation.
2391 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_destroy
;
2392 ulong signal_connect(string name
:"destroy", CB
:signal_destroy
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2393 return signal_connect_data
!()(&this, cast(char*)"destroy",
2394 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2398 // The ::enter-event signal is emitted when the pointer enters the @actor
2400 // or %FALSE to continue the emission.
2401 // RETURNS: %TRUE if the event has been handled by the actor,
2402 // <event>: a #ClutterCrossingEvent
2403 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_enter_event
;
2404 ulong signal_connect(string name
:"enter-event", CB
:signal_enter_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2405 return signal_connect_data
!()(&this, cast(char*)"enter-event",
2406 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2410 // The ::event signal is emitted each time an event is received
2411 // by the @actor. This signal will be emitted on every actor,
2412 // following the hierarchy chain, until it reaches the top-level
2413 // container (the #ClutterStage).
2415 // or %FALSE to continue the emission.
2416 // RETURNS: %TRUE if the event has been handled by the actor,
2417 // <event>: a #ClutterEvent
2418 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_event
;
2419 ulong signal_connect(string name
:"event", CB
:signal_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2420 return signal_connect_data
!()(&this, cast(char*)"event",
2421 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2425 // The ::hide signal is emitted when an actor is no longer rendered
2427 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_hide
;
2428 ulong signal_connect(string name
:"hide", CB
:signal_hide
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2429 return signal_connect_data
!()(&this, cast(char*)"hide",
2430 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2434 // The ::key-focus-in signal is emitted when @actor receives key focus.
2435 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_key_focus_in
;
2436 ulong signal_connect(string name
:"key-focus-in", CB
:signal_key_focus_in
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2437 return signal_connect_data
!()(&this, cast(char*)"key-focus-in",
2438 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2442 // The ::key-focus-out signal is emitted when @actor loses key focus.
2443 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_key_focus_out
;
2444 ulong signal_connect(string name
:"key-focus-out", CB
:signal_key_focus_out
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2445 return signal_connect_data
!()(&this, cast(char*)"key-focus-out",
2446 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2450 // The ::key-press-event signal is emitted each time a keyboard button
2451 // is pressed while @actor has key focus (see clutter_stage_set_key_focus()).
2453 // or %FALSE to continue the emission.
2454 // RETURNS: %TRUE if the event has been handled by the actor,
2455 // <event>: a #ClutterKeyEvent
2456 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_key_press_event
;
2457 ulong signal_connect(string name
:"key-press-event", CB
:signal_key_press_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2458 return signal_connect_data
!()(&this, cast(char*)"key-press-event",
2459 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2463 // The ::key-release-event signal is emitted each time a keyboard button
2464 // is released while @actor has key focus (see
2465 // clutter_stage_set_key_focus()).
2467 // or %FALSE to continue the emission.
2468 // RETURNS: %TRUE if the event has been handled by the actor,
2469 // <event>: a #ClutterKeyEvent
2470 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_key_release_event
;
2471 ulong signal_connect(string name
:"key-release-event", CB
:signal_key_release_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2472 return signal_connect_data
!()(&this, cast(char*)"key-release-event",
2473 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2477 // The ::leave-event signal is emitted when the pointer leaves the @actor.
2479 // or %FALSE to continue the emission.
2480 // RETURNS: %TRUE if the event has been handled by the actor,
2481 // <event>: a #ClutterCrossingEvent
2482 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_leave_event
;
2483 ulong signal_connect(string name
:"leave-event", CB
:signal_leave_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2484 return signal_connect_data
!()(&this, cast(char*)"leave-event",
2485 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2489 // The ::motion-event signal is emitted each time the mouse pointer is
2490 // moved over @actor.
2492 // or %FALSE to continue the emission.
2493 // RETURNS: %TRUE if the event has been handled by the actor,
2494 // <event>: a #ClutterMotionEvent
2495 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_motion_event
;
2496 ulong signal_connect(string name
:"motion-event", CB
:signal_motion_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2497 return signal_connect_data
!()(&this, cast(char*)"motion-event",
2498 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2502 // The ::paint signal is emitted each time an actor is being painted.
2504 // Subclasses of #ClutterActor should override the class signal handler
2505 // and paint themselves in that function.
2507 // It is possible to connect a handler to the ::paint signal in order
2508 // to set up some custom aspect of a paint.
2509 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_paint
;
2510 ulong signal_connect(string name
:"paint", CB
:signal_paint
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2511 return signal_connect_data
!()(&this, cast(char*)"paint",
2512 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2516 // This signal is emitted when the parent of the actor changes.
2517 // <old_parent>: the previous parent of the actor, or %NULL
2518 extern (C
) alias static void function (Actor
* this_
, Actor
* old_parent
, void* user_data
=null) signal_parent_set
;
2519 ulong signal_connect(string name
:"parent-set", CB
:signal_parent_set
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2520 return signal_connect_data
!()(&this, cast(char*)"parent-set",
2521 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2525 // The ::pick signal is emitted each time an actor is being painted
2526 // in "pick mode". The pick mode is used to identify the actor during
2527 // the event handling phase, or by clutter_stage_get_actor_at_pos().
2528 // The actor should paint its shape using the passed @pick_color.
2530 // Subclasses of #ClutterActor should override the class signal handler
2531 // and paint themselves in that function.
2533 // It is possible to connect a handler to the ::pick signal in order
2534 // to set up some custom aspect of a paint in pick mode.
2535 // <color>: the #ClutterColor to be used when picking
2536 extern (C
) alias static void function (Actor
* this_
, Color
* color
, void* user_data
=null) signal_pick
;
2537 ulong signal_connect(string name
:"pick", CB
:signal_pick
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2538 return signal_connect_data
!()(&this, cast(char*)"pick",
2539 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2543 // The ::queue_redraw signal is emitted when clutter_actor_queue_redraw()
2544 // is called on @origin.
2546 // The default implementation for #ClutterActor chains up to the
2547 // parent actor and queues a redraw on the parent, thus "bubbling"
2548 // the redraw queue up through the actor graph. The default
2549 // implementation for #ClutterStage queues a clutter_redraw() in a
2550 // main loop idle handler.
2552 // Note that the @origin actor may be the stage, or a container; it
2553 // does not have to be a leaf node in the actor graph.
2555 // Toolkits embedding a #ClutterStage which require a redraw and
2556 // relayout cycle can stop the emission of this signal using the
2557 // GSignal API, redraw the UI and then call clutter_redraw()
2558 // themselves, like:
2562 // on_redraw_complete (void)
2564 // /* execute the Clutter drawing pipeline */
2565 // clutter_redraw ();
2569 // on_stage_queue_redraw (ClutterStage *stage)
2571 // /* this prevents the default handler to run */
2572 // g_signal_stop_emission_by_name (stage, "queue-redraw");
2574 // /* queue a redraw with the host toolkit and call
2575 // * a function when the redraw has been completed
2577 // queue_a_redraw (G_CALLBACK (on_redraw_complete));
2581 // <note><para>This signal is emitted before the Clutter paint
2582 // pipeline is executed. If you want to know when the pipeline has
2583 // been completed you should connect to the ::paint signal on the
2584 // Stage with g_signal_connect_after().</para></note>
2585 // <origin>: the actor which initiated the redraw request
2586 extern (C
) alias static void function (Actor
* this_
, Actor
* origin
, void* user_data
=null) signal_queue_redraw
;
2587 ulong signal_connect(string name
:"queue-redraw", CB
:signal_queue_redraw
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2588 return signal_connect_data
!()(&this, cast(char*)"queue-redraw",
2589 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2593 // The ::queue_layout signal is emitted when clutter_actor_queue_relayout()
2594 // is called on an actor.
2596 // The default implementation for #ClutterActor chains up to the
2597 // parent actor and queues a relayout on the parent, thus "bubbling"
2598 // the relayout queue up through the actor graph.
2600 // The main purpose of this signal is to allow relayout to be propagated
2601 // properly in the procense of #ClutterClone actors. Applications will
2602 // not normally need to connect to this signal.
2603 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_queue_relayout
;
2604 ulong signal_connect(string name
:"queue-relayout", CB
:signal_queue_relayout
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2605 return signal_connect_data
!()(&this, cast(char*)"queue-relayout",
2606 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2610 // The ::realize signal is emitted each time an actor is being
2612 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_realize
;
2613 ulong signal_connect(string name
:"realize", CB
:signal_realize
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2614 return signal_connect_data
!()(&this, cast(char*)"realize",
2615 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2619 // The ::scroll-event signal is emitted each time the mouse is
2620 // scrolled on @actor
2622 // or %FALSE to continue the emission.
2623 // RETURNS: %TRUE if the event has been handled by the actor,
2624 // <event>: a #ClutterScrollEvent
2625 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_scroll_event
;
2626 ulong signal_connect(string name
:"scroll-event", CB
:signal_scroll_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2627 return signal_connect_data
!()(&this, cast(char*)"scroll-event",
2628 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2632 // The ::show signal is emitted when an actor is visible and
2633 // rendered on the stage.
2634 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_show
;
2635 ulong signal_connect(string name
:"show", CB
:signal_show
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2636 return signal_connect_data
!()(&this, cast(char*)"show",
2637 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2641 // The ::unrealize signal is emitted each time an actor is being
2643 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_unrealize
;
2644 ulong signal_connect(string name
:"unrealize", CB
:signal_unrealize
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2645 return signal_connect_data
!()(&this, cast(char*)"unrealize",
2646 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2651 // Bounding box of an actor. The coordinates of the top left and right bottom
2652 // corners of an actor. The coordinates of the two points are expressed in
2653 // pixels with sub-pixel precision
2655 float x1
, y1
, x2
, y2
;
2659 // Allocates a new #ClutterActorBox using the passed coordinates
2660 // for the top left and bottom right points
2662 // clutter_actor_box_free() to free the resources
2663 // RETURNS: the newly allocated #ClutterActorBox. Use
2664 // <x_1>: X coordinate of the top left point
2665 // <y_1>: Y coordinate of the top left point
2666 // <x_2>: X coordinate of the bottom right point
2667 // <y_2>: Y coordinate of the bottom right point
2668 static ActorBox
* /*new*/ new_()(float x_1
, float y_1
, float x_2
, float y_2
) {
2669 return clutter_actor_box_new(x_1
, y_1
, x_2
, y_2
);
2673 // Clamps the components of @box to the nearest integer
2674 void clamp_to_pixel()() {
2675 clutter_actor_box_clamp_to_pixel(&this);
2679 // Checks whether a point with @x, @y coordinates is contained
2681 // RETURNS: %TRUE if the point is contained by the #ClutterActorBox
2682 // <x>: X coordinate of the point
2683 // <y>: Y coordinate of the point
2684 int contains()(float x
, float y
) {
2685 return clutter_actor_box_contains(&this, x
, y
);
2691 // clutter_actor_box_free() to free the allocated resources
2692 // RETURNS: a newly allocated copy of #ClutterActorBox. Use
2693 ActorBox
* /*new*/ copy()() {
2694 return clutter_actor_box_copy(&this);
2698 // Checks @box_a and @box_b for equality
2699 // RETURNS: %TRUE if the passed #ClutterActorBox are equal
2700 // <box_b>: a #ClutterActorBox
2701 int equal()(ActorBox
* box_b
) {
2702 return clutter_actor_box_equal(&this, box_b
);
2706 // Frees a #ClutterActorBox allocated using clutter_actor_box_new()
2707 // or clutter_actor_box_copy()
2709 clutter_actor_box_free(&this);
2713 // Calculates the bounding box represented by the four vertices; for details
2714 // of the vertex array see clutter_actor_get_abs_allocation_vertices().
2715 // <verts>: array of four #ClutterVertex
2716 void from_vertices()(Vertex verts
) {
2717 clutter_actor_box_from_vertices(&this, verts
);
2721 // Retrieves the area of @box
2722 // RETURNS: the area of a #ClutterActorBox, in pixels
2723 float get_area()() {
2724 return clutter_actor_box_get_area(&this);
2728 // Retrieves the height of the @box
2729 // RETURNS: the height of the box
2730 float get_height()() {
2731 return clutter_actor_box_get_height(&this);
2735 // Retrieves the origin of @box
2736 // <x>: return location for the X coordinate, or %NULL
2737 // <y>: return location for the Y coordinate, or %NULL
2738 void get_origin()(/*out*/ float* x
=null, /*out*/ float* y
=null) {
2739 clutter_actor_box_get_origin(&this, x
, y
);
2743 // Retrieves the size of @box
2744 // <width>: return location for the width, or %NULL
2745 // <height>: return location for the height, or %NULL
2746 void get_size()(/*out*/ float* width
=null, /*out*/ float* height
=null) {
2747 clutter_actor_box_get_size(&this, width
, height
);
2751 // Retrieves the width of the @box
2752 // RETURNS: the width of the box
2753 float get_width()() {
2754 return clutter_actor_box_get_width(&this);
2758 // Retrieves the X coordinate of the origin of @box
2759 // RETURNS: the X coordinate of the origin
2761 return clutter_actor_box_get_x(&this);
2765 // Retrieves the Y coordinate of the origin of @box
2766 // RETURNS: the Y coordinate of the origin
2768 return clutter_actor_box_get_y(&this);
2772 // Interpolates between @initial and @final #ClutterActorBox<!-- -->es
2774 // <final>: the final #ClutterActorBox
2775 // <progress>: the interpolation progress
2776 // <result>: return location for the interpolation
2777 void interpolate()(ActorBox
* final_
, double progress
, /*out*/ ActorBox
* result
) {
2778 clutter_actor_box_interpolate(&this, final_
, progress
, result
);
2782 // Changes the origin of @box, maintaining the size of the #ClutterActorBox.
2783 // <x>: the X coordinate of the new origin
2784 // <y>: the Y coordinate of the new origin
2785 void set_origin()(float x
, float y
) {
2786 clutter_actor_box_set_origin(&this, x
, y
);
2790 // Sets the size of @box, maintaining the origin of the #ClutterActorBox.
2791 // <width>: the new width
2792 // <height>: the new height
2793 void set_size()(float width
, float height
) {
2794 clutter_actor_box_set_size(&this, width
, height
);
2798 // Unions the two boxes @a and @b and stores the result in @result.
2799 // <b>: the second #ClutterActorBox
2800 // <result>: the #ClutterActorBox representing a union of @a and @b
2801 void union_()(ActorBox
* b
, /*out*/ ActorBox
* result
) {
2802 clutter_actor_box_union(&this, b
, result
);
2806 // Base class for actors.
2808 private GObject2
.InitiallyUnownedClass parent_class
;
2809 extern (C
) void function (Actor
* self
) show
;
2810 extern (C
) void function (Actor
* self
) show_all
;
2811 extern (C
) void function (Actor
* self
) hide
;
2812 extern (C
) void function (Actor
* self
) hide_all
;
2813 extern (C
) void function (Actor
* self
) realize
;
2814 extern (C
) void function (Actor
* self
) unrealize
;
2815 extern (C
) void function (Actor
* self
) map
;
2816 extern (C
) void function (Actor
* self
) unmap
;
2817 extern (C
) void function (Actor
* self
) paint
;
2818 extern (C
) void function (Actor
* actor
, Actor
* old_parent
) parent_set
;
2819 extern (C
) void function (Actor
* self
) destroy
;
2820 extern (C
) void function (Actor
* actor
, Color
* color
) pick
;
2821 extern (C
) void function (Actor
* actor
, Actor
* leaf_that_queued
) queue_redraw
;
2823 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
2824 // <min_width_p>: return location for minimum width, or %NULL
2825 // <natural_width_p>: return location for the natural width, or %NULL
2826 extern (C
) void function (Actor
* self
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* natural_width_p
=null) get_preferred_width
;
2828 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
2829 // <min_height_p>: return location for minimum height, or %NULL
2830 // <natural_height_p>: return location for natural height, or %NULL
2831 extern (C
) void function (Actor
* self
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* natural_height_p
=null) get_preferred_height
;
2833 // <box>: new allocation of the actor, in parent-relative coordinates
2834 // <flags>: flags that control the allocation
2835 extern (C
) void function (Actor
* self
, ActorBox
* box
, AllocationFlags flags
) allocate
;
2836 extern (C
) void function (Actor
* actor
, Cogl
.Matrix
* matrix
) apply_transform
;
2837 extern (C
) int function (Actor
* actor
, Event
* event
) event
;
2838 extern (C
) int function (Actor
* actor
, ButtonEvent
* event
) button_press_event
;
2839 extern (C
) int function (Actor
* actor
, ButtonEvent
* event
) button_release_event
;
2840 extern (C
) int function (Actor
* actor
, ScrollEvent
* event
) scroll_event
;
2841 extern (C
) int function (Actor
* actor
, KeyEvent
* event
) key_press_event
;
2842 extern (C
) int function (Actor
* actor
, KeyEvent
* event
) key_release_event
;
2843 extern (C
) int function (Actor
* actor
, MotionEvent
* event
) motion_event
;
2844 extern (C
) int function (Actor
* actor
, CrossingEvent
* event
) enter_event
;
2845 extern (C
) int function (Actor
* actor
, CrossingEvent
* event
) leave_event
;
2846 extern (C
) int function (Actor
* actor
, Event
* event
) captured_event
;
2847 extern (C
) void function (Actor
* actor
) key_focus_in
;
2848 extern (C
) void function (Actor
* actor
) key_focus_out
;
2849 extern (C
) void function (Actor
* self
) queue_relayout
;
2850 // RETURNS: the #AtkObject associated with @actor
2851 extern (C
) Atk
.Object
* function (Actor
* self
) get_accessible
;
2852 extern (C
) int function (Actor
* actor
, PaintVolume
* volume
) get_paint_volume
;
2853 // RETURNS: %TRUE if the actor may have overlapping primitives, and
2854 extern (C
) int function (Actor
* self
) has_overlaps
;
2855 private void*[28] _padding_dummy
;
2858 // Flags used to signal the state of an actor.
2867 // The <structname>ClutterActorMeta</structname> structure contains only
2868 // private data and should be accessed using the provided API
2869 struct ActorMeta
/* : GObject.InitiallyUnowned */ /* Version 1.4 */ {
2870 alias parent_instance
this;
2871 alias parent_instance super_
;
2872 alias parent_instance initiallyunowned
;
2873 GObject2
.InitiallyUnowned parent_instance
;
2874 private ActorMetaPrivate
* priv
;
2878 // Retrieves a pointer to the #ClutterActor that owns @meta
2879 // RETURNS: a pointer to a #ClutterActor or %NULL
2880 Actor
* get_actor()() {
2881 return clutter_actor_meta_get_actor(&this);
2885 // Retrieves whether @meta is enabled
2886 // RETURNS: %TRUE if the #ClutterActorMeta instance is enabled
2887 int get_enabled()() {
2888 return clutter_actor_meta_get_enabled(&this);
2892 // Retrieves the name set using clutter_actor_meta_set_name()
2894 // instance, or %NULL if none was set. The returned string is owned
2895 // by the #ClutterActorMeta instance and it should not be modified
2897 // RETURNS: the name of the #ClutterActorMeta
2898 char* get_name()() {
2899 return clutter_actor_meta_get_name(&this);
2903 // Sets whether @meta should be enabled or not
2904 // <is_enabled>: whether @meta is enabled
2905 void set_enabled()(int is_enabled
) {
2906 clutter_actor_meta_set_enabled(&this, is_enabled
);
2910 // Sets the name of @meta
2912 // The name can be used to identify the #ClutterActorMeta instance
2913 // <name>: the name of @meta
2914 void set_name()(char* name
) {
2915 clutter_actor_meta_set_name(&this, name
);
2920 // The <structname>ClutterActorMetaClass</structname> structure contains
2921 // only private data
2922 struct ActorMetaClass
/* Version 1.4 */ {
2923 private GObject2
.InitiallyUnownedClass parent_class
;
2924 extern (C
) void function (ActorMeta
* meta
, Actor
* actor
) set_actor
;
2925 extern (C
) void function () _clutter_meta1
;
2926 extern (C
) void function () _clutter_meta2
;
2927 extern (C
) void function () _clutter_meta3
;
2928 extern (C
) void function () _clutter_meta4
;
2929 extern (C
) void function () _clutter_meta5
;
2930 extern (C
) void function () _clutter_meta6
;
2931 extern (C
) void function () _clutter_meta7
;
2934 struct ActorMetaPrivate
{
2937 struct ActorPrivate
{
2940 enum int AddFavorite
= 269025081;
2941 enum int Adiaeresis
= 196;
2942 enum int Agrave
= 192;
2943 enum int Ahook
= 16785058;
2945 // Specifies the axis on which #ClutterAlignConstraint should maintain
2947 enum AlignAxis
/* Version 1.4 */ {
2952 // <structname>ClutterAlignConstraint</structname> is an opaque structure
2953 // whose members cannot be directly accesses
2954 struct AlignConstraint
/* : Constraint */ /* Version 1.4 */ {
2955 alias method_parent
this;
2956 alias method_parent super_
;
2957 alias method_parent constraint
;
2958 Constraint method_parent
;
2962 // Creates a new constraint, aligning a #ClutterActor's position with
2963 // regards of the size of the actor to @source, with the given
2964 // alignment @factor
2965 // RETURNS: the newly created #ClutterAlignConstraint
2966 // <source>: the #ClutterActor to use as the source of the alignment, or %NULL
2967 // <axis>: the axis to be used to compute the alignment
2968 // <factor>: the alignment factor, between 0.0 and 1.0
2969 static AlignConstraint
* new_()(Actor
* source
, AlignAxis axis
, float factor
) {
2970 return clutter_align_constraint_new(source
, axis
, factor
);
2974 // Retrieves the value set using clutter_align_constraint_set_align_axis()
2975 // RETURNS: the alignment axis
2976 AlignAxis
get_align_axis()() {
2977 return clutter_align_constraint_get_align_axis(&this);
2981 // Retrieves the factor set using clutter_align_constraint_set_factor()
2982 // RETURNS: the alignment factor
2983 float get_factor()() {
2984 return clutter_align_constraint_get_factor(&this);
2988 // Retrieves the source of the alignment
2991 // RETURNS: the #ClutterActor used as the source
2992 Actor
* get_source()() {
2993 return clutter_align_constraint_get_source(&this);
2997 // Sets the axis to which the alignment refers to
2998 // <axis>: the axis to which the alignment refers to
2999 void set_align_axis()(AlignAxis axis
) {
3000 clutter_align_constraint_set_align_axis(&this, axis
);
3004 // Sets the alignment factor of the constraint
3006 // The factor depends on the #ClutterAlignConstraint:align-axis property
3007 // and it is a value between 0.0 (meaning left, when
3008 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
3009 // meaning top, when #ClutterAlignConstraint:align-axis is set to
3010 // %CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when
3011 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
3012 // meaning bottom, when #ClutterAlignConstraint:align-axis is set to
3013 // %CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
3015 // <factor>: the alignment factor, between 0.0 and 1.0
3016 void set_factor()(float factor
) {
3017 clutter_align_constraint_set_factor(&this, factor
);
3021 // Sets the source of the alignment constraint
3022 // <source>: a #ClutterActor, or %NULL to unset the source
3023 void set_source()(Actor
* source
=null) {
3024 clutter_align_constraint_set_source(&this, source
);
3028 struct AlignConstraintClass
{
3032 // Flags passed to the #ClutterActor::allocate() virtual function and
3033 // to the clutter_actor_allocate() function
3034 enum AllocationFlags
/* Version 1.0 */ {
3035 ALLOCATION_NONE
= 0,
3036 ABSOLUTE_ORIGIN_CHANGED
= 2
3039 // #ClutterAlpha combines a #ClutterTimeline and a function.
3040 // The contents of the #ClutterAlpha structure are private and should
3041 // only be accessed using the provided API.
3042 struct Alpha
/* : GObject.InitiallyUnowned */ /* Version 0.2 */ {
3043 mixin Scriptable
.__interface__
;
3045 alias parent super_
;
3046 alias parent initiallyunowned
;
3047 GObject2
.InitiallyUnowned parent
;
3048 private AlphaPrivate
* priv
;
3052 // Creates a new #ClutterAlpha instance. You must set a function
3053 // to compute the alpha value using clutter_alpha_set_func() and
3054 // bind a #ClutterTimeline object to the #ClutterAlpha instance
3055 // using clutter_alpha_set_timeline().
3057 // You should use the newly created #ClutterAlpha instance inside
3058 // a #ClutterBehaviour object.
3059 // RETURNS: the newly created empty #ClutterAlpha instance.
3060 static Alpha
* new_()() {
3061 return clutter_alpha_new();
3065 // Creates a new #ClutterAlpha instance and sets the timeline
3066 // and animation mode.
3068 // See also clutter_alpha_set_timeline() and clutter_alpha_set_mode().
3069 // RETURNS: the newly created #ClutterAlpha
3070 // <timeline>: #ClutterTimeline timeline
3071 // <mode>: animation mode
3072 static Alpha
* new_full()(Timeline
* timeline
, c_ulong mode
) {
3073 return clutter_alpha_new_full(timeline
, mode
);
3077 // Creates a new #ClutterAlpha instances and sets the timeline
3078 // and the alpha function.
3080 // This function will not register @func as a global alpha function.
3082 // See also clutter_alpha_set_timeline() and clutter_alpha_set_func().
3083 // RETURNS: the newly created #ClutterAlpha
3084 // <timeline>: a #ClutterTimeline
3085 // <func>: a #ClutterAlphaFunc
3086 // <data>: data to pass to the function, or %NULL
3087 // <destroy>: function to call when removing the alpha function, or %NULL
3088 static Alpha
* new_with_func()(Timeline
* timeline
, AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
) {
3089 return clutter_alpha_new_with_func(timeline
, func
, data
, destroy
);
3093 // #GClosure variant of clutter_alpha_register_func().
3095 // Registers a global alpha function and returns its logical id
3096 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
3098 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
3099 // RETURNS: the logical id of the alpha function
3100 // <closure>: a #GClosure
3101 static c_ulong
register_closure()(GObject2
.Closure
* closure
) {
3102 return clutter_alpha_register_closure(closure
);
3105 // Unintrospectable function: register_func() / clutter_alpha_register_func()
3107 // Registers a global alpha function and returns its logical id
3108 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
3110 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
3111 // RETURNS: the logical id of the alpha function
3112 // <func>: a #ClutterAlphaFunc
3113 // <data>: user data to pass to @func, or %NULL
3114 static c_ulong
register_func()(AlphaFunc func
, void* data
) {
3115 return clutter_alpha_register_func(func
, data
);
3119 // Query the current alpha value.
3120 // RETURNS: The current alpha value for the alpha
3121 double get_alpha()() {
3122 return clutter_alpha_get_alpha(&this);
3126 // Retrieves the #ClutterAnimationMode used by @alpha.
3127 // RETURNS: the animation mode
3128 c_ulong
get_mode()() {
3129 return clutter_alpha_get_mode(&this);
3133 // Gets the #ClutterTimeline bound to @alpha.
3134 // RETURNS: a #ClutterTimeline instance
3135 Timeline
* get_timeline()() {
3136 return clutter_alpha_get_timeline(&this);
3140 // Sets the #GClosure used to compute the alpha value at each
3141 // frame of the #ClutterTimeline bound to @alpha.
3142 // <closure>: A #GClosure
3143 void set_closure()(GObject2
.Closure
* closure
) {
3144 clutter_alpha_set_closure(&this, closure
);
3148 // Sets the #ClutterAlphaFunc function used to compute
3149 // the alpha value at each frame of the #ClutterTimeline
3152 // This function will not register @func as a global alpha function.
3153 // <func>: A #ClutterAlphaFunc
3154 // <data>: user data to be passed to the alpha function, or %NULL
3155 // <destroy>: notify function used when disposing the alpha function
3156 void set_func()(AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
) {
3157 clutter_alpha_set_func(&this, func
, data
, destroy
);
3161 // Sets the progress function of @alpha using the symbolic value
3162 // of @mode, as taken by the #ClutterAnimationMode enumeration or
3163 // using the value returned by clutter_alpha_register_func().
3164 // <mode>: a #ClutterAnimationMode
3165 void set_mode()(c_ulong mode
) {
3166 clutter_alpha_set_mode(&this, mode
);
3170 // Binds @alpha to @timeline.
3171 // <timeline>: A #ClutterTimeline
3172 void set_timeline()(Timeline
* timeline
) {
3173 clutter_alpha_set_timeline(&this, timeline
);
3177 // Base class for #ClutterAlpha
3178 struct AlphaClass
/* Version 0.2 */ {
3179 private GObject2
.InitiallyUnownedClass parent_class
;
3180 extern (C
) void function () _clutter_alpha_1
;
3181 extern (C
) void function () _clutter_alpha_2
;
3182 extern (C
) void function () _clutter_alpha_3
;
3183 extern (C
) void function () _clutter_alpha_4
;
3184 extern (C
) void function () _clutter_alpha_5
;
3189 // A function returning a value depending on the position of
3190 // the #ClutterTimeline bound to @alpha.
3191 // RETURNS: a floating point value
3192 // <alpha>: a #ClutterAlpha
3193 // <user_data>: user data passed to the function
3194 extern (C
) alias double function (Alpha
* alpha
, void* user_data
) AlphaFunc
;
3196 struct AlphaPrivate
{
3199 enum int Alt_L
= 65513;
3200 enum int Alt_R
= 65514;
3201 enum int Amacron
= 960;
3203 // #ClutterAnimatable is an opaque structure whose members cannot be directly
3205 struct Animatable
/* Interface */ /* Version 1.0 */ {
3206 mixin template __interface__() {
3208 // DEPRECATED (v1.8) method: animate_property - Use clutter_animatable_interpolate_value()
3209 // Calls the animate_property() virtual function for @animatable.
3211 // The @initial_value and @final_value #GValue<!-- -->s must contain
3212 // the same type; @value must have been initialized to the same
3213 // type of @initial_value and @final_value.
3215 // All implementation of the #ClutterAnimatable interface must
3216 // implement this function.
3218 // be applied to the #ClutterAnimatable, and %FALSE otherwise
3222 // RETURNS: %TRUE if the value has been validated and can
3223 // <animation>: a #ClutterAnimation
3224 // <property_name>: the name of the animated property
3225 // <initial_value>: the initial value of the animation interval
3226 // <final_value>: the final value of the animation interval
3227 // <progress>: the progress factor
3228 // <value>: return location for the animation value
3229 int animate_property()(Animation
* animation
, char* property_name
, GObject2
.Value
* initial_value
, GObject2
.Value
* final_value
, double progress
, GObject2
.Value
* value
) {
3230 return clutter_animatable_animate_property(cast(Animatable
*)&this, animation
, property_name
, initial_value
, final_value
, progress
, value
);
3234 // Finds the #GParamSpec for @property_name
3237 // RETURNS: The #GParamSpec for the given property
3238 // <property_name>: the name of the animatable property to find
3239 GObject2
.ParamSpec
* find_property()(char* property_name
) {
3240 return clutter_animatable_find_property(cast(Animatable
*)&this, property_name
);
3244 // Retrieves the current state of @property_name and sets @value with it
3245 // <property_name>: the name of the animatable property to retrieve
3246 // <value>: a #GValue initialized to the type of the property to retrieve
3247 void get_initial_state()(char* property_name
, GObject2
.Value
* value
) {
3248 clutter_animatable_get_initial_state(cast(Animatable
*)&this, property_name
, value
);
3252 // Asks a #ClutterAnimatable implementation to interpolate a
3253 // a named property between the initial and final values of
3254 // a #ClutterInterval, using @progress as the interpolation
3255 // value, and store the result inside @value.
3257 // This function should be used for every property animation
3258 // involving #ClutterAnimatable<!-- -->s.
3260 // This function replaces clutter_animatable_animate_property().
3262 // and %FALSE otherwise
3263 // RETURNS: %TRUE if the interpolation was successful,
3264 // <property_name>: the name of the property to interpolate
3265 // <interval>: a #ClutterInterval with the animation range
3266 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
3267 // <value>: return location for an initialized #GValue using the same type of the @interval
3268 int interpolate_value()(char* property_name
, Interval
* interval
, double progress
, /*out*/ GObject2
.Value
* value
) {
3269 return clutter_animatable_interpolate_value(cast(Animatable
*)&this, property_name
, interval
, progress
, value
);
3273 // Sets the current state of @property_name to @value
3274 // <property_name>: the name of the animatable property to set
3275 // <value>: the value of the animatable property to set
3276 void set_final_state()(char* property_name
, GObject2
.Value
* value
) {
3277 clutter_animatable_set_final_state(cast(Animatable
*)&this, property_name
, value
);
3280 mixin __interface__
;
3284 // Base interface for #GObject<!-- -->s that can be animated by a
3285 // a #ClutterAnimation.
3286 struct AnimatableIface
/* Version 1.0 */ {
3287 private GObject2
.TypeInterface parent_iface
;
3289 // RETURNS: %TRUE if the value has been validated and can
3290 // <animation>: a #ClutterAnimation
3291 // <property_name>: the name of the animated property
3292 // <initial_value>: the initial value of the animation interval
3293 // <final_value>: the final value of the animation interval
3294 // <progress>: the progress factor
3295 // <value>: return location for the animation value
3296 extern (C
) int function (Animatable
* animatable
, Animation
* animation
, char* property_name
, GObject2
.Value
* initial_value
, GObject2
.Value
* final_value
, double progress
, GObject2
.Value
* value
) animate_property
;
3298 // RETURNS: The #GParamSpec for the given property
3299 // <property_name>: the name of the animatable property to find
3300 extern (C
) GObject2
.ParamSpec
* function (Animatable
* animatable
, char* property_name
) find_property
;
3302 // <property_name>: the name of the animatable property to retrieve
3303 // <value>: a #GValue initialized to the type of the property to retrieve
3304 extern (C
) void function (Animatable
* animatable
, char* property_name
, GObject2
.Value
* value
) get_initial_state
;
3306 // <property_name>: the name of the animatable property to set
3307 // <value>: the value of the animatable property to set
3308 extern (C
) void function (Animatable
* animatable
, char* property_name
, GObject2
.Value
* value
) set_final_state
;
3310 // RETURNS: %TRUE if the interpolation was successful,
3311 // <property_name>: the name of the property to interpolate
3312 // <interval>: a #ClutterInterval with the animation range
3313 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
3314 // <value>: return location for an initialized #GValue using the same type of the @interval
3315 extern (C
) int function (Animatable
* animatable
, char* property_name
, Interval
* interval
, double progress
, /*out*/ GObject2
.Value
* value
) interpolate_value
;
3319 // The #ClutterAnimation structure contains only private data and should
3320 // be accessed using the provided functions.
3321 struct Animation
/* : GObject.Object */ /* Version 1.0 */ {
3322 mixin Scriptable
.__interface__
;
3323 alias parent_instance
this;
3324 alias parent_instance super_
;
3325 alias parent_instance object
;
3326 GObject2
.Object parent_instance
;
3327 private AnimationPrivate
* priv
;
3331 // Creates a new #ClutterAnimation instance. You should set the
3332 // #GObject to be animated using clutter_animation_set_object(),
3333 // set the duration with clutter_animation_set_duration() and the
3334 // easing mode using clutter_animation_set_mode().
3336 // Use clutter_animation_bind() or clutter_animation_bind_interval()
3337 // to define the properties to be animated. The interval and the
3338 // animated properties can be updated at runtime.
3340 // The clutter_actor_animate() and relative family of functions provide
3341 // an easy way to animate a #ClutterActor and automatically manage the
3342 // lifetime of a #ClutterAnimation instance, so you should consider using
3343 // those functions instead of manually creating an animation.
3345 // to release the associated resources
3346 // RETURNS: the newly created #ClutterAnimation. Use g_object_unref()
3347 static Animation
* /*new*/ new_()() {
3348 return clutter_animation_new();
3352 // Adds a single property with name @property_name to the
3353 // animation @animation. For more information about animations,
3354 // see clutter_actor_animate().
3356 // This method returns the animation primarily to make chained
3357 // calls convenient in language bindings.
3358 // RETURNS: The animation itself.
3359 // <property_name>: the property to control
3360 // <final>: The final value of the property
3361 Animation
* bind()(char* property_name
, GObject2
.Value
* final_
) {
3362 return clutter_animation_bind(&this, property_name
, final_
);
3366 // Binds @interval to the @property_name of the #GObject
3367 // attached to @animation. The #ClutterAnimation will take
3368 // ownership of the passed #ClutterInterval. For more information
3369 // about animations, see clutter_actor_animate().
3371 // If you need to update the interval instance use
3372 // clutter_animation_update_interval() instead.
3373 // RETURNS: The animation itself.
3374 // <property_name>: the property to control
3375 // <interval>: a #ClutterInterval
3376 Animation
* bind_interval()(char* property_name
, Interval
* interval
) {
3377 return clutter_animation_bind_interval(&this, property_name
, interval
);
3381 // Emits the ::completed signal on @animation
3383 // When using this function with a #ClutterAnimation created
3384 // by the clutter_actor_animate() family of functions, @animation
3385 // will be unreferenced and it will not be valid anymore,
3386 // unless g_object_ref() was called before calling this function
3387 // or unless a reference was taken inside a handler for the
3388 // #ClutterAnimation::completed signal
3389 void completed()() {
3390 clutter_animation_completed(&this);
3394 // Retrieves the #ClutterAlpha used by @animation.
3395 // RETURNS: the alpha object used by the animation
3396 Alpha
* get_alpha()() {
3397 return clutter_animation_get_alpha(&this);
3401 // Retrieves the duration of @animation, in milliseconds.
3402 // RETURNS: the duration of the animation
3403 uint get_duration()() {
3404 return clutter_animation_get_duration(&this);
3408 // Retrieves the #ClutterInterval associated to @property_name
3409 // inside @animation.
3411 // property with the same name was found. The returned interval is
3412 // owned by the #ClutterAnimation and should not be unreferenced
3413 // RETURNS: a #ClutterInterval or %NULL if no
3414 // <property_name>: name of the property
3415 Interval
* get_interval()(char* property_name
) {
3416 return clutter_animation_get_interval(&this, property_name
);
3420 // Retrieves whether @animation is looping.
3421 // RETURNS: %TRUE if the animation is looping
3423 return clutter_animation_get_loop(&this);
3427 // Retrieves the animation mode of @animation, as set by
3428 // clutter_animation_set_mode().
3429 // RETURNS: the mode for the animation
3430 c_ulong
get_mode()() {
3431 return clutter_animation_get_mode(&this);
3435 // Retrieves the #GObject attached to @animation.
3436 // RETURNS: a #GObject
3437 GObject2
.Object
* get_object()() {
3438 return clutter_animation_get_object(&this);
3442 // Retrieves the #ClutterTimeline used by @animation
3443 // RETURNS: the timeline used by the animation
3444 Timeline
* get_timeline()() {
3445 return clutter_animation_get_timeline(&this);
3449 // Checks whether @animation is controlling @property_name.
3451 // #ClutterAnimation, %FALSE otherwise
3452 // RETURNS: %TRUE if the property is animated by the
3453 // <property_name>: name of the property
3454 int has_property()(char* property_name
) {
3455 return clutter_animation_has_property(&this, property_name
);
3459 // Sets @alpha as the #ClutterAlpha used by @animation.
3461 // If @alpha is not %NULL, the #ClutterAnimation will take ownership
3462 // of the #ClutterAlpha instance.
3463 // <alpha>: a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha
3464 void set_alpha()(Alpha
* alpha
) {
3465 clutter_animation_set_alpha(&this, alpha
);
3469 // Sets the duration of @animation in milliseconds.
3471 // This function will set #ClutterAnimation:alpha and
3472 // #ClutterAnimation:timeline if needed.
3473 // <msecs>: the duration in milliseconds
3474 void set_duration()(uint msecs
) {
3475 clutter_animation_set_duration(&this, msecs
);
3479 // Sets whether @animation should loop over itself once finished.
3481 // A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
3482 // signal when finished.
3484 // This function will set #ClutterAnimation:alpha and
3485 // #ClutterAnimation:timeline if needed.
3486 // <loop>: %TRUE if the animation should loop
3487 void set_loop()(int loop) {
3488 clutter_animation_set_loop(&this, loop);
3492 // Sets the animation @mode of @animation. The animation @mode is
3493 // a logical id, either coming from the #ClutterAnimationMode enumeration
3494 // or the return value of clutter_alpha_register_func().
3496 // This function will also set #ClutterAnimation:alpha if needed.
3497 // <mode>: an animation mode logical id
3498 void set_mode()(c_ulong mode
) {
3499 clutter_animation_set_mode(&this, mode
);
3503 // Attaches @animation to @object. The #ClutterAnimation will take a
3504 // reference on @object.
3505 // <object>: a #GObject
3506 void set_object()(GObject2
.Object
* object
) {
3507 clutter_animation_set_object(&this, object
);
3511 // Sets the #ClutterTimeline used by @animation.
3512 // <timeline>: a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline
3513 void set_timeline()(Timeline
* timeline
) {
3514 clutter_animation_set_timeline(&this, timeline
);
3518 // Removes @property_name from the list of animated properties.
3519 // <property_name>: name of the property
3520 void unbind_property()(char* property_name
) {
3521 clutter_animation_unbind_property(&this, property_name
);
3525 // Updates the @final value of the interval for @property_name
3526 // RETURNS: The animation itself.
3527 // <property_name>: name of the property
3528 // <final>: The final value of the property
3529 Animation
* update()(char* property_name
, GObject2
.Value
* final_
) {
3530 return clutter_animation_update(&this, property_name
, final_
);
3534 // Changes the @interval for @property_name. The #ClutterAnimation
3535 // will take ownership of the passed #ClutterInterval.
3536 // <property_name>: name of the property
3537 // <interval>: a #ClutterInterval
3538 void update_interval()(char* property_name
, Interval
* interval
) {
3539 clutter_animation_update_interval(&this, property_name
, interval
);
3543 // The ::completed signal is emitted once the animation has
3546 // The @animation instance is guaranteed to be valid for the entire
3547 // duration of the signal emission chain.
3548 extern (C
) alias static void function (Animation
* this_
, void* user_data
=null) signal_completed
;
3550 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3551 return super_
.signal_connect
!name(cb
, data
, cf
);
3554 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3555 return signal_connect_data
!()(&this, cast(char*)"completed",
3556 cast(GObject2
.Callback
)cb
, data
, null, cf
);
3560 // The ::started signal is emitted once the animation has been
3562 extern (C
) alias static void function (Animation
* this_
, void* user_data
=null) signal_started
;
3563 ulong signal_connect(string name
:"started", CB
:signal_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3564 return signal_connect_data
!()(&this, cast(char*)"started",
3565 cast(GObject2
.Callback
)cb
, data
, null, cf
);
3570 // The #ClutterAnimationClass structure contains only private data and
3571 // should be accessed using the provided functions.
3572 struct AnimationClass
/* Version 1.0 */ {
3573 private GObject2
.ObjectClass parent_class
;
3574 extern (C
) void function (Animation
* animation
) started
;
3575 extern (C
) void function (Animation
* animation
) completed
;
3576 extern (C
) void function () _clutter_reserved1
;
3577 extern (C
) void function () _clutter_reserved2
;
3578 extern (C
) void function () _clutter_reserved3
;
3579 extern (C
) void function () _clutter_reserved4
;
3580 extern (C
) void function () _clutter_reserved5
;
3581 extern (C
) void function () _clutter_reserved6
;
3582 extern (C
) void function () _clutter_reserved7
;
3583 extern (C
) void function () _clutter_reserved8
;
3587 // The animation modes used by #ClutterAlpha and #ClutterAnimation. This
3588 // enumeration can be expanded in later versions of Clutter. See the
3589 // #ClutterAlpha documentation for a graph of all the animation modes.
3591 // Every global alpha function registered using clutter_alpha_register_func()
3592 // or clutter_alpha_register_closure() will have a logical id greater than
3593 // %CLUTTER_ANIMATION_LAST.
3594 enum AnimationMode
/* Version 1.0 */ {
3599 EASE_IN_OUT_QUAD
= 4,
3602 EASE_IN_OUT_CUBIC
= 7,
3605 EASE_IN_OUT_QUART
= 10,
3607 EASE_OUT_QUINT
= 12,
3608 EASE_IN_OUT_QUINT
= 13,
3611 EASE_IN_OUT_SINE
= 16,
3614 EASE_IN_OUT_EXPO
= 19,
3617 EASE_IN_OUT_CIRC
= 22,
3618 EASE_IN_ELASTIC
= 23,
3619 EASE_OUT_ELASTIC
= 24,
3620 EASE_IN_OUT_ELASTIC
= 25,
3623 EASE_IN_OUT_BACK
= 28,
3624 EASE_IN_BOUNCE
= 29,
3625 EASE_OUT_BOUNCE
= 30,
3626 EASE_IN_OUT_BOUNCE
= 31,
3629 struct AnimationPrivate
{
3633 // The #ClutterAnimator structure contains only private data and
3634 // should be accessed using the provided API
3635 struct Animator
/* : GObject.Object */ /* Version 1.2 */ {
3636 mixin Scriptable
.__interface__
;
3637 alias parent_instance
this;
3638 alias parent_instance super_
;
3639 alias parent_instance object
;
3640 GObject2
.Object parent_instance
;
3641 private AnimatorPrivate
* priv
;
3645 // Creates a new #ClutterAnimator instance
3646 // RETURNS: a new #ClutterAnimator.
3647 static Animator
* /*new*/ new_()() {
3648 return clutter_animator_new();
3652 // Compute the value for a managed property at a given progress.
3654 // If the property is an ease-in property, the current value of the property
3655 // on the object will be used as the starting point for computation.
3657 // an error occurs or the progress is before any of the keys) %FALSE is
3658 // returned and the #GValue is left untouched
3659 // RETURNS: %TRUE if the computation yields has a value, otherwise (when
3660 // <object>: a #GObject
3661 // <property_name>: the name of the property on object to check
3662 // <progress>: a value between 0.0 and 1.0
3663 // <value>: an initialized value to store the computed result
3664 int compute_value()(GObject2
.Object
* object
, char* property_name
, double progress
, GObject2
.Value
* value
) {
3665 return clutter_animator_compute_value(&this, object
, property_name
, progress
, value
);
3669 // Retrieves the current duration of an animator
3670 // RETURNS: the duration of the animation, in milliseconds
3671 uint get_duration()() {
3672 return clutter_animator_get_duration(&this);
3676 // Returns a list of pointers to opaque structures with accessor functions
3677 // that describe the keys added to an animator.
3679 // list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned
3680 // by the #ClutterAnimator, but you should free the returned list when done,
3681 // using g_list_free()
3683 // <object>: a #GObject to search for, or %NULL for all objects
3684 // <property_name>: a specific property name to query for, or %NULL for all properties
3685 // <progress>: a specific progress to search for, or a negative value for all progresses
3686 GLib2
.List
* /*new container*/ get_keys()(GObject2
.Object
* object
, char* property_name
, double progress
) {
3687 return clutter_animator_get_keys(&this, object
, property_name
, progress
);
3691 // Get the timeline hooked up for driving the #ClutterAnimator
3692 // RETURNS: the #ClutterTimeline that drives the animator
3693 Timeline
* get_timeline()() {
3694 return clutter_animator_get_timeline(&this);
3698 // Checks if a property value is to be eased into the animation.
3699 // RETURNS: %TRUE if the property is eased in
3700 // <object>: a #GObject
3701 // <property_name>: the name of a property on object
3702 int property_get_ease_in()(GObject2
.Object
* object
, char* property_name
) {
3703 return clutter_animator_property_get_ease_in(&this, object
, property_name
);
3707 // Get the interpolation used by animator for a property on a particular
3709 // RETURNS: a ClutterInterpolation value.
3710 // <object>: a #GObject
3711 // <property_name>: the name of a property on object
3712 Interpolation
property_get_interpolation()(GObject2
.Object
* object
, char* property_name
) {
3713 return clutter_animator_property_get_interpolation(&this, object
, property_name
);
3717 // Sets whether a property value is to be eased into the animation.
3718 // <object>: a #GObject
3719 // <property_name>: the name of a property on object
3720 // <ease_in>: we are going to be easing in this property
3721 void property_set_ease_in()(GObject2
.Object
* object
, char* property_name
, int ease_in
) {
3722 clutter_animator_property_set_ease_in(&this, object
, property_name
, ease_in
);
3726 // Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes
3727 // the values to linearly change between the values, and
3728 // %CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between
3730 // <object>: a #GObject
3731 // <property_name>: the name of a property on object
3732 // <interpolation>: the #ClutterInterpolation to use
3733 void property_set_interpolation()(GObject2
.Object
* object
, char* property_name
, Interpolation interpolation
) {
3734 clutter_animator_property_set_interpolation(&this, object
, property_name
, interpolation
);
3738 // Removes all keys matching the conditions specificed in the arguments.
3739 // <object>: a #GObject to search for, or %NULL for all
3740 // <property_name>: a specific property name to query for, or %NULL for all
3741 // <progress>: a specific progress to search for or a negative value for all
3742 void remove_key()(GObject2
.Object
* object
, char* property_name
, double progress
) {
3743 clutter_animator_remove_key(&this, object
, property_name
, progress
);
3746 // Unintrospectable method: set() / clutter_animator_set()
3748 // Adds multiple keys to a #ClutterAnimator, specifying the value a given
3749 // property should have at a given progress of the animation. The mode
3750 // specified is the mode used when going to this key from the previous key of
3751 // the @property_name
3753 // If a given (object, property, progress) tuple already exist the mode and
3754 // value will be replaced with the new values.
3755 // <first_object>: a #GObject
3756 // <first_property_name>: the property to specify a key for
3757 // <first_mode>: the id of the alpha function to use
3758 // <first_progress>: at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1
3759 /+ Not available -- variadic methods unsupported - use the C function directly.
3760 alias clutter_animator_set set; // Variadic
3764 // Runs the timeline of the #ClutterAnimator with a duration in msecs
3766 // <duration>: milliseconds a run of the animator should last.
3767 void set_duration()(uint duration
) {
3768 clutter_animator_set_duration(&this, duration
);
3772 // Sets a single key in the #ClutterAnimator for the @property_name of
3773 // @object at @progress.
3775 // See also: clutter_animator_set()
3776 // RETURNS: The animator instance
3777 // <object>: a #GObject
3778 // <property_name>: the property to specify a key for
3779 // <mode>: the id of the alpha function to use
3780 // <progress>: the normalized range at which stage of the animation this value applies
3781 // <value>: the value property_name should have at progress.
3782 Animator
* set_key()(GObject2
.Object
* object
, char* property_name
, uint mode
, double progress
, GObject2
.Value
* value
) {
3783 return clutter_animator_set_key(&this, object
, property_name
, mode
, progress
, value
);
3787 // Sets an external timeline that will be used for driving the animation
3788 // <timeline>: a #ClutterTimeline
3789 void set_timeline()(Timeline
* timeline
) {
3790 clutter_animator_set_timeline(&this, timeline
);
3794 // Start the ClutterAnimator, this is a thin wrapper that rewinds
3795 // and starts the animators current timeline.
3797 // the animator. The returned timeline is owned by the #ClutterAnimator
3798 // and it should not be unreferenced
3799 // RETURNS: the #ClutterTimeline that drives
3800 Timeline
* start()() {
3801 return clutter_animator_start(&this);
3805 // The #ClutterAnimatorClass structure contains only private data
3806 struct AnimatorClass
/* Version 1.2 */ {
3807 private GObject2
.ObjectClass parent_class
;
3808 private void*[16] _padding_dummy
;
3811 // A key frame inside a #ClutterAnimator
3812 struct AnimatorKey
/* Version 1.2 */ {
3815 // Retrieves the mode of a #ClutterAnimator key, for the first key of a
3816 // property for an object this represents the whether the animation is
3817 // open ended and or curved for the remainding keys for the property it
3818 // represents the easing mode.
3819 // RETURNS: the mode of a #ClutterAnimatorKey
3820 c_ulong
get_mode()() {
3821 return clutter_animator_key_get_mode(&this);
3825 // Retrieves the object a key applies to.
3826 // RETURNS: the object an animator_key exist for.
3827 GObject2
.Object
* get_object()() {
3828 return clutter_animator_key_get_object(&this);
3832 // Retrieves the progress of an clutter_animator_key
3833 // RETURNS: the progress defined for a #ClutterAnimator key.
3834 double get_progress()() {
3835 return clutter_animator_key_get_progress(&this);
3839 // Retrieves the name of the property a key applies to.
3840 // RETURNS: the name of the property an animator_key exist for.
3841 char* get_property_name()() {
3842 return clutter_animator_key_get_property_name(&this);
3846 // Retrieves the #GType of the property a key applies to
3848 // You can use this type to initialize the #GValue to pass to
3849 // clutter_animator_key_get_value()
3850 // RETURNS: the #GType of the property
3851 Type
get_property_type()() {
3852 return clutter_animator_key_get_property_type(&this);
3856 // Retrieves a copy of the value for a #ClutterAnimatorKey.
3858 // The passed in #GValue needs to be already initialized for the value
3859 // type of the key or to a type that allow transformation from the value
3862 // Use g_value_unset() when done.
3865 // RETURNS: %TRUE if the passed #GValue was successfully set, and
3866 // <value>: a #GValue initialized with the correct type for the animator key
3867 int get_value()(GObject2
.Value
* value
) {
3868 return clutter_animator_key_get_value(&this, value
);
3872 struct AnimatorPrivate
{
3875 // Common members for a #ClutterEvent
3876 struct AnyEvent
/* Version 0.2 */ {
3884 enum int Aogonek
= 417;
3885 enum int ApplicationLeft
= 269025104;
3886 enum int ApplicationRight
= 269025105;
3887 enum int Arabic_0
= 16778848;
3888 enum int Arabic_1
= 16778849;
3889 enum int Arabic_2
= 16778850;
3890 enum int Arabic_3
= 16778851;
3891 enum int Arabic_4
= 16778852;
3892 enum int Arabic_5
= 16778853;
3893 enum int Arabic_6
= 16778854;
3894 enum int Arabic_7
= 16778855;
3895 enum int Arabic_8
= 16778856;
3896 enum int Arabic_9
= 16778857;
3897 enum int Arabic_ain
= 1497;
3898 enum int Arabic_alef
= 1479;
3899 enum int Arabic_alefmaksura
= 1513;
3900 enum int Arabic_beh
= 1480;
3901 enum int Arabic_comma
= 1452;
3902 enum int Arabic_dad
= 1494;
3903 enum int Arabic_dal
= 1487;
3904 enum int Arabic_damma
= 1519;
3905 enum int Arabic_dammatan
= 1516;
3906 enum int Arabic_ddal
= 16778888;
3907 enum int Arabic_farsi_yeh
= 16778956;
3908 enum int Arabic_fatha
= 1518;
3909 enum int Arabic_fathatan
= 1515;
3910 enum int Arabic_feh
= 1505;
3911 enum int Arabic_fullstop
= 16778964;
3912 enum int Arabic_gaf
= 16778927;
3913 enum int Arabic_ghain
= 1498;
3914 enum int Arabic_ha
= 1511;
3915 enum int Arabic_hah
= 1485;
3916 enum int Arabic_hamza
= 1473;
3917 enum int Arabic_hamza_above
= 16778836;
3918 enum int Arabic_hamza_below
= 16778837;
3919 enum int Arabic_hamzaonalef
= 1475;
3920 enum int Arabic_hamzaonwaw
= 1476;
3921 enum int Arabic_hamzaonyeh
= 1478;
3922 enum int Arabic_hamzaunderalef
= 1477;
3923 enum int Arabic_heh
= 1511;
3924 enum int Arabic_heh_doachashmee
= 16778942;
3925 enum int Arabic_heh_goal
= 16778945;
3926 enum int Arabic_jeem
= 1484;
3927 enum int Arabic_jeh
= 16778904;
3928 enum int Arabic_kaf
= 1507;
3929 enum int Arabic_kasra
= 1520;
3930 enum int Arabic_kasratan
= 1517;
3931 enum int Arabic_keheh
= 16778921;
3932 enum int Arabic_khah
= 1486;
3933 enum int Arabic_lam
= 1508;
3934 enum int Arabic_madda_above
= 16778835;
3935 enum int Arabic_maddaonalef
= 1474;
3936 enum int Arabic_meem
= 1509;
3937 enum int Arabic_noon
= 1510;
3938 enum int Arabic_noon_ghunna
= 16778938;
3939 enum int Arabic_peh
= 16778878;
3940 enum int Arabic_percent
= 16778858;
3941 enum int Arabic_qaf
= 1506;
3942 enum int Arabic_question_mark
= 1471;
3943 enum int Arabic_ra
= 1489;
3944 enum int Arabic_rreh
= 16778897;
3945 enum int Arabic_sad
= 1493;
3946 enum int Arabic_seen
= 1491;
3947 enum int Arabic_semicolon
= 1467;
3948 enum int Arabic_shadda
= 1521;
3949 enum int Arabic_sheen
= 1492;
3950 enum int Arabic_sukun
= 1522;
3951 enum int Arabic_superscript_alef
= 16778864;
3952 enum int Arabic_switch
= 65406;
3953 enum int Arabic_tah
= 1495;
3954 enum int Arabic_tatweel
= 1504;
3955 enum int Arabic_tcheh
= 16778886;
3956 enum int Arabic_teh
= 1482;
3957 enum int Arabic_tehmarbuta
= 1481;
3958 enum int Arabic_thal
= 1488;
3959 enum int Arabic_theh
= 1483;
3960 enum int Arabic_tteh
= 16778873;
3961 enum int Arabic_veh
= 16778916;
3962 enum int Arabic_waw
= 1512;
3963 enum int Arabic_yeh
= 1514;
3964 enum int Arabic_yeh_baree
= 16778962;
3965 enum int Arabic_zah
= 1496;
3966 enum int Arabic_zain
= 1490;
3967 enum int Aring
= 197;
3968 enum int Armenian_AT
= 16778552;
3969 enum int Armenian_AYB
= 16778545;
3970 enum int Armenian_BEN
= 16778546;
3971 enum int Armenian_CHA
= 16778569;
3972 enum int Armenian_DA
= 16778548;
3973 enum int Armenian_DZA
= 16778561;
3974 enum int Armenian_E
= 16778551;
3975 enum int Armenian_FE
= 16778582;
3976 enum int Armenian_GHAT
= 16778562;
3977 enum int Armenian_GIM
= 16778547;
3978 enum int Armenian_HI
= 16778565;
3979 enum int Armenian_HO
= 16778560;
3980 enum int Armenian_INI
= 16778555;
3981 enum int Armenian_JE
= 16778571;
3982 enum int Armenian_KE
= 16778580;
3983 enum int Armenian_KEN
= 16778559;
3984 enum int Armenian_KHE
= 16778557;
3985 enum int Armenian_LYUN
= 16778556;
3986 enum int Armenian_MEN
= 16778564;
3987 enum int Armenian_NU
= 16778566;
3988 enum int Armenian_O
= 16778581;
3989 enum int Armenian_PE
= 16778570;
3990 enum int Armenian_PYUR
= 16778579;
3991 enum int Armenian_RA
= 16778572;
3992 enum int Armenian_RE
= 16778576;
3993 enum int Armenian_SE
= 16778573;
3994 enum int Armenian_SHA
= 16778567;
3995 enum int Armenian_TCHE
= 16778563;
3996 enum int Armenian_TO
= 16778553;
3997 enum int Armenian_TSA
= 16778558;
3998 enum int Armenian_TSO
= 16778577;
3999 enum int Armenian_TYUN
= 16778575;
4000 enum int Armenian_VEV
= 16778574;
4001 enum int Armenian_VO
= 16778568;
4002 enum int Armenian_VYUN
= 16778578;
4003 enum int Armenian_YECH
= 16778549;
4004 enum int Armenian_ZA
= 16778550;
4005 enum int Armenian_ZHE
= 16778554;
4006 enum int Armenian_accent
= 16778587;
4007 enum int Armenian_amanak
= 16778588;
4008 enum int Armenian_apostrophe
= 16778586;
4009 enum int Armenian_at
= 16778600;
4010 enum int Armenian_ayb
= 16778593;
4011 enum int Armenian_ben
= 16778594;
4012 enum int Armenian_but
= 16778589;
4013 enum int Armenian_cha
= 16778617;
4014 enum int Armenian_da
= 16778596;
4015 enum int Armenian_dza
= 16778609;
4016 enum int Armenian_e
= 16778599;
4017 enum int Armenian_exclam
= 16778588;
4018 enum int Armenian_fe
= 16778630;
4019 enum int Armenian_full_stop
= 16778633;
4020 enum int Armenian_ghat
= 16778610;
4021 enum int Armenian_gim
= 16778595;
4022 enum int Armenian_hi
= 16778613;
4023 enum int Armenian_ho
= 16778608;
4024 enum int Armenian_hyphen
= 16778634;
4025 enum int Armenian_ini
= 16778603;
4026 enum int Armenian_je
= 16778619;
4027 enum int Armenian_ke
= 16778628;
4028 enum int Armenian_ken
= 16778607;
4029 enum int Armenian_khe
= 16778605;
4030 enum int Armenian_ligature_ew
= 16778631;
4031 enum int Armenian_lyun
= 16778604;
4032 enum int Armenian_men
= 16778612;
4033 enum int Armenian_nu
= 16778614;
4034 enum int Armenian_o
= 16778629;
4035 enum int Armenian_paruyk
= 16778590;
4036 enum int Armenian_pe
= 16778618;
4037 enum int Armenian_pyur
= 16778627;
4038 enum int Armenian_question
= 16778590;
4039 enum int Armenian_ra
= 16778620;
4040 enum int Armenian_re
= 16778624;
4041 enum int Armenian_se
= 16778621;
4042 enum int Armenian_separation_mark
= 16778589;
4043 enum int Armenian_sha
= 16778615;
4044 enum int Armenian_shesht
= 16778587;
4045 enum int Armenian_tche
= 16778611;
4046 enum int Armenian_to
= 16778601;
4047 enum int Armenian_tsa
= 16778606;
4048 enum int Armenian_tso
= 16778625;
4049 enum int Armenian_tyun
= 16778623;
4050 enum int Armenian_verjaket
= 16778633;
4051 enum int Armenian_vev
= 16778622;
4052 enum int Armenian_vo
= 16778616;
4053 enum int Armenian_vyun
= 16778626;
4054 enum int Armenian_yech
= 16778597;
4055 enum int Armenian_yentamna
= 16778634;
4056 enum int Armenian_za
= 16778598;
4057 enum int Armenian_zhe
= 16778602;
4058 enum int Atilde
= 195;
4059 enum int AudibleBell_Enable
= 65146;
4060 enum int AudioCycleTrack
= 269025179;
4061 enum int AudioForward
= 269025175;
4062 enum int AudioLowerVolume
= 269025041;
4063 enum int AudioMedia
= 269025074;
4064 enum int AudioMute
= 269025042;
4065 enum int AudioNext
= 269025047;
4066 enum int AudioPause
= 269025073;
4067 enum int AudioPlay
= 269025044;
4068 enum int AudioPrev
= 269025046;
4069 enum int AudioRaiseVolume
= 269025043;
4070 enum int AudioRandomPlay
= 269025177;
4071 enum int AudioRecord
= 269025052;
4072 enum int AudioRepeat
= 269025176;
4073 enum int AudioRewind
= 269025086;
4074 enum int AudioStop
= 269025045;
4075 enum int Away
= 269025165;
4077 enum int Babovedot
= 16784898;
4078 enum int Back
= 269025062;
4079 enum int BackForward
= 269025087;
4080 enum int BackSpace
= 65288;
4082 // <structname>ClutterBackend</structname> is an opaque structure whose
4083 // members cannot be directly accessed.
4084 struct Backend
/* : GObject.Object */ /* Version 0.4 */ {
4085 alias method_parent
this;
4086 alias method_parent super_
;
4087 alias method_parent object
;
4088 GObject2
.Object method_parent
;
4092 // DEPRECATED (v1.4) method: get_double_click_distance - Use #ClutterSettings:double-click-distance instead
4093 // Retrieves the distance used to verify a double click event
4094 // RETURNS: a distance, in pixels.
4095 uint get_double_click_distance()() {
4096 return clutter_backend_get_double_click_distance(&this);
4100 // DEPRECATED (v1.4) method: get_double_click_time - Use #ClutterSettings:double-click-time instead
4101 // Gets the maximum time between two button press events, as set
4102 // by clutter_backend_set_double_click_time().
4103 // RETURNS: a time in milliseconds
4104 uint get_double_click_time()() {
4105 return clutter_backend_get_double_click_time(&this);
4109 // DEPRECATED (v1.4) method: get_font_name - Use #ClutterSettings:font-name instead
4110 // Retrieves the default font name as set by
4111 // clutter_backend_set_font_name().
4113 // owned by the #ClutterBackend and should never be modified or freed
4114 // RETURNS: the font name for the backend. The returned string is
4115 char* get_font_name()() {
4116 return clutter_backend_get_font_name(&this);
4120 // Retrieves the font options for @backend.
4122 // The returned #cairo_font_options_t is owned by the backend and should
4123 // not be modified or freed
4124 // RETURNS: the font options of the #ClutterBackend.
4125 cairo
.FontOptions
* get_font_options()() {
4126 return clutter_backend_get_font_options(&this);
4130 // Gets the resolution for font handling on the screen.
4132 // The resolution is a scale factor between points specified in a
4133 // #PangoFontDescription and cairo units. The default value is 96.0,
4134 // meaning that a 10 point font will be 13 units
4135 // high (10 * 96. / 72. = 13.3).
4137 // Clutter will set the resolution using the current backend when
4138 // initializing; the resolution is also stored in the
4139 // #ClutterSettings:font-dpi property.
4142 // RETURNS: the current resolution, or -1 if no resolution
4143 double get_resolution()() {
4144 return clutter_backend_get_resolution(&this);
4148 // DEPRECATED (v1.4) method: set_double_click_distance - Use #ClutterSettings:double-click-distance instead
4149 // Sets the maximum distance used to verify a double click event.
4150 // <distance>: a distance, in pixels
4151 void set_double_click_distance()(uint distance
) {
4152 clutter_backend_set_double_click_distance(&this, distance
);
4156 // DEPRECATED (v1.4) method: set_double_click_time - Use #ClutterSettings:double-click-time instead
4157 // Sets the maximum time between two button press events, used to
4158 // verify whether it's a double click event or not.
4159 // <msec>: milliseconds between two button press events
4160 void set_double_click_time()(uint msec
) {
4161 clutter_backend_set_double_click_time(&this, msec
);
4165 // DEPRECATED (v1.4) method: set_font_name - Use #ClutterSettings:font-name instead
4166 // Sets the default font to be used by Clutter. The @font_name string
4167 // must either be %NULL, which means that the font name from the
4168 // default #ClutterBackend will be used; or be something that can
4169 // be parsed by the pango_font_description_from_string() function.
4170 // <font_name>: the name of the font
4171 void set_font_name()(char* font_name
) {
4172 clutter_backend_set_font_name(&this, font_name
);
4176 // Sets the new font options for @backend. The #ClutterBackend will
4177 // copy the #cairo_font_options_t.
4179 // If @options is %NULL, the first following call to
4180 // clutter_backend_get_font_options() will return the default font
4181 // options for @backend.
4183 // This function is intended for actors creating a Pango layout
4184 // using the PangoCairo API.
4185 // <options>: Cairo font options for the backend, or %NULL
4186 void set_font_options()(cairo
.FontOptions
* options
) {
4187 clutter_backend_set_font_options(&this, options
);
4191 // DEPRECATED method: set_resolution - Use #ClutterSettings:font-dpi instead
4192 // Sets the resolution for font handling on the screen. This is a
4193 // scale factor between points specified in a #PangoFontDescription
4194 // and cairo units. The default value is 96, meaning that a 10 point
4195 // font will be 13 units high. (10 * 96. / 72. = 13.3).
4197 // Applications should never need to call this function.
4198 // <dpi>: the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional).
4199 void set_resolution()(double dpi
) {
4200 clutter_backend_set_resolution(&this, dpi
);
4204 // The ::font-changed signal is emitted each time the font options
4205 // have been changed through #ClutterSettings.
4206 extern (C
) alias static void function (Backend
* this_
, void* user_data
=null) signal_font_changed
;
4208 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4209 return super_
.signal_connect
!name(cb
, data
, cf
);
4212 ulong signal_connect(string name
:"font-changed", CB
:signal_font_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4213 return signal_connect_data
!()(&this, cast(char*)"font-changed",
4214 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4218 // The ::resolution-changed signal is emitted each time the font
4219 // resolutions has been changed through #ClutterSettings.
4220 extern (C
) alias static void function (Backend
* this_
, void* user_data
=null) signal_resolution_changed
;
4221 ulong signal_connect(string name
:"resolution-changed", CB
:signal_resolution_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4222 return signal_connect_data
!()(&this, cast(char*)"resolution-changed",
4223 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4227 // The ::settings-changed signal is emitted each time the #ClutterSettings
4228 // properties have been changed.
4229 extern (C
) alias static void function (Backend
* this_
, void* user_data
=null) signal_settings_changed
;
4230 ulong signal_connect(string name
:"settings-changed", CB
:signal_settings_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4231 return signal_connect_data
!()(&this, cast(char*)"settings-changed",
4232 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4236 struct BackendClass
{
4239 enum int Battery
= 269025171;
4240 enum int Begin
= 65368;
4242 // #ClutterBehaviour-struct contains only private data and should
4243 // be accessed with the functions below.
4244 struct Behaviour
/* : GObject.Object */ /* Version 0.2 */ {
4245 mixin Scriptable
.__interface__
;
4247 alias parent super_
;
4248 alias parent object
;
4249 GObject2
.Object parent
;
4250 private BehaviourPrivate
* priv
;
4254 // Calls @func for every actor driven by @behave.
4255 // <func>: a function called for each actor
4256 // <data>: optional data to be passed to the function, or %NULL
4257 void actors_foreach()(BehaviourForeachFunc func
, void* data
) {
4258 clutter_behaviour_actors_foreach(&this, func
, data
);
4262 // Applies @behave to @actor. This function adds a reference on
4264 // <actor>: a #ClutterActor
4265 void apply()(Actor
* actor
) {
4266 clutter_behaviour_apply(&this, actor
);
4270 // Retrieves all the actors to which @behave applies. It is not recommended
4271 // for derived classes to use this in there alpha notify method but use
4272 // #clutter_behaviour_actors_foreach as it avoids alot of needless allocations.
4274 // actors. You should free the returned list with g_slist_free() when
4275 // finished using it.
4276 // RETURNS: a list of
4277 GLib2
.SList
* /*new container*/ get_actors()() {
4278 return clutter_behaviour_get_actors(&this);
4282 // Retrieves the #ClutterAlpha object bound to @behave.
4284 // object has been bound to this behaviour.
4285 // RETURNS: a #ClutterAlpha object, or %NULL if no alpha
4286 Alpha
* get_alpha()() {
4287 return clutter_behaviour_get_alpha(&this);
4291 // Gets the number of actors this behaviour is applied too.
4292 // RETURNS: The number of applied actors
4293 int get_n_actors()() {
4294 return clutter_behaviour_get_n_actors(&this);
4298 // Gets an actor the behaviour was applied to referenced by index num.
4299 // RETURNS: A Clutter actor or NULL if @index_ is invalid.
4300 // <index_>: the index of an actor this behaviour is applied too.
4301 Actor
* get_nth_actor()(int index_
) {
4302 return clutter_behaviour_get_nth_actor(&this, index_
);
4306 // Check if @behave applied to @actor.
4307 // RETURNS: TRUE if actor has behaviour. FALSE otherwise.
4308 // <actor>: a #ClutterActor
4309 int is_applied()(Actor
* actor
) {
4310 return clutter_behaviour_is_applied(&this, actor
);
4314 // Removes @actor from the list of #ClutterActor<!-- -->s to which
4315 // @behave applies. This function removes a reference on the actor.
4316 // <actor>: a #ClutterActor
4317 void remove()(Actor
* actor
) {
4318 clutter_behaviour_remove(&this, actor
);
4322 // Removes every actor from the list that @behave holds.
4323 void remove_all()() {
4324 clutter_behaviour_remove_all(&this);
4328 // Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object
4329 // is what makes a behaviour work: for each tick of the timeline
4330 // used by #ClutterAlpha a new value of the alpha parameter is
4331 // computed by the alpha function; the value should be used by
4332 // the #ClutterBehaviour to update one or more properties of the
4333 // actors to which the behaviour applies.
4335 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4336 // of the #ClutterAlpha instance.
4337 // <alpha>: a #ClutterAlpha or %NULL to unset a previously set alpha
4338 void set_alpha()(Alpha
* alpha
) {
4339 clutter_behaviour_set_alpha(&this, alpha
);
4343 // The ::apply signal is emitted each time the behaviour is applied
4345 // <actor>: the actor the behaviour was applied to.
4346 extern (C
) alias static void function (Behaviour
* this_
, Actor
* actor
, void* user_data
=null) signal_applied
;
4348 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4349 return super_
.signal_connect
!name(cb
, data
, cf
);
4352 ulong signal_connect(string name
:"applied", CB
:signal_applied
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4353 return signal_connect_data
!()(&this, cast(char*)"applied",
4354 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4358 // The ::removed signal is emitted each time a behaviour is not applied
4359 // to an actor anymore.
4360 // <actor>: the removed actor
4361 extern (C
) alias static void function (Behaviour
* this_
, Actor
* actor
, void* user_data
=null) signal_removed
;
4362 ulong signal_connect(string name
:"removed", CB
:signal_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4363 return signal_connect_data
!()(&this, cast(char*)"removed",
4364 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4368 // Base class for behaviours.
4369 struct BehaviourClass
/* Version 0.2 */ {
4370 private GObject2
.ObjectClass parent_class
;
4371 extern (C
) void function (Behaviour
* behave
, double alpha_value
) alpha_notify
;
4372 extern (C
) void function (Behaviour
* behave
, Actor
* actor
) applied
;
4373 extern (C
) void function (Behaviour
* behave
, Actor
* actor
) removed
;
4374 extern (C
) void function () _clutter_behaviour1
;
4375 extern (C
) void function () _clutter_behaviour2
;
4376 extern (C
) void function () _clutter_behaviour3
;
4377 extern (C
) void function () _clutter_behaviour4
;
4378 extern (C
) void function () _clutter_behaviour5
;
4379 extern (C
) void function () _clutter_behaviour6
;
4383 // The #ClutterBehaviourDepth structure contains only private data
4384 // and should be accessed using the provided API
4388 struct BehaviourDepth
/* : Behaviour */ /* Version 0.2 */ {
4389 mixin Scriptable
.__interface__
;
4390 alias parent_instance
this;
4391 alias parent_instance super_
;
4392 alias parent_instance behaviour
;
4393 Behaviour parent_instance
;
4394 private BehaviourDepthPrivate
* priv
;
4398 // DEPRECATED constructor: new - 1.6
4399 // Creates a new #ClutterBehaviourDepth which can be used to control
4400 // the ClutterActor:depth property of a set of #ClutterActor<!-- -->s.
4402 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4403 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4404 // it can be set later with clutter_behaviour_set_alpha().
4405 // RETURNS: the newly created behaviour
4406 // <alpha>: a #ClutterAlpha instance, or %NULL
4407 // <depth_start>: initial value of the depth
4408 // <depth_end>: final value of the depth
4409 static BehaviourDepth
* /*new*/ new_()(Alpha
* alpha
, int depth_start
, int depth_end
) {
4410 return clutter_behaviour_depth_new(alpha
, depth_start
, depth_end
);
4414 // DEPRECATED method: get_bounds - 1.6
4415 // Gets the boundaries of the @behaviour
4416 // <depth_start>: return location for the initial depth value, or %NULL
4417 // <depth_end>: return location for the final depth value, or %NULL
4418 void get_bounds()(/*out*/ int* depth_start
, /*out*/ int* depth_end
) {
4419 clutter_behaviour_depth_get_bounds(&this, depth_start
, depth_end
);
4423 // DEPRECATED method: set_bounds - 1.6
4424 // Sets the boundaries of the @behaviour.
4425 // <depth_start>: initial value of the depth
4426 // <depth_end>: final value of the depth
4427 void set_bounds()(int depth_start
, int depth_end
) {
4428 clutter_behaviour_depth_set_bounds(&this, depth_start
, depth_end
);
4432 // The #ClutterBehaviourDepthClass structure contains only private data
4433 struct BehaviourDepthClass
/* Version 0.2 */ {
4434 private BehaviourClass parent_class
;
4437 struct BehaviourDepthPrivate
{
4441 // The #ClutterBehaviourEllipse struct contains only private data
4442 // and should be accessed using the provided API
4443 struct BehaviourEllipse
/* : Behaviour */ /* Version 0.4 */ {
4444 mixin Scriptable
.__interface__
;
4445 alias parent_instance
this;
4446 alias parent_instance super_
;
4447 alias parent_instance behaviour
;
4448 Behaviour parent_instance
;
4449 private BehaviourEllipsePrivate
* priv
;
4453 // Creates a behaviour that drives actors along an elliptical path with
4454 // given center, width and height; the movement starts at @start
4455 // degrees (with 0 corresponding to 12 o'clock) and ends at @end
4456 // degrees. Angles greated than 360 degrees get clamped to the canonical
4457 // interval <0, 360); if @start is equal to @end, the behaviour will
4458 // rotate by exacly 360 degrees.
4460 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4461 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4462 // it can be set later with clutter_behaviour_set_alpha().
4463 // RETURNS: the newly created #ClutterBehaviourEllipse
4464 // <alpha>: a #ClutterAlpha instance, or %NULL
4465 // <x>: x coordinace of the center
4466 // <y>: y coordiance of the center
4467 // <width>: width of the ellipse
4468 // <height>: height of the ellipse
4469 // <direction>: #ClutterRotateDirection of rotation
4470 // <start>: angle in degrees at which movement starts, between 0 and 360
4471 // <end>: angle in degrees at which movement ends, between 0 and 360
4472 static BehaviourEllipse
* /*new*/ new_()(Alpha
* alpha
, int x
, int y
, int width
, int height
, RotateDirection direction
, double start
, double end
) {
4473 return clutter_behaviour_ellipse_new(alpha
, x
, y
, width
, height
, direction
, start
, end
);
4477 // Gets the at which movements ends.
4478 // RETURNS: angle in degrees
4479 double get_angle_end()() {
4480 return clutter_behaviour_ellipse_get_angle_end(&this);
4484 // Gets the angle at which movements starts.
4485 // RETURNS: angle in degrees
4486 double get_angle_start()() {
4487 return clutter_behaviour_ellipse_get_angle_start(&this);
4491 // Gets the tilt of the ellipse around the center in the given axis.
4492 // RETURNS: angle in degrees.
4493 // <axis>: a #ClutterRotateAxis
4494 double get_angle_tilt()(RotateAxis axis
) {
4495 return clutter_behaviour_ellipse_get_angle_tilt(&this, axis
);
4499 // Gets the center of the elliptical path path.
4500 // <x>: return location for the X coordinate of the center, or %NULL
4501 // <y>: return location for the Y coordinate of the center, or %NULL
4502 void get_center()(/*out*/ int* x
, /*out*/ int* y
) {
4503 clutter_behaviour_ellipse_get_center(&this, x
, y
);
4507 // Retrieves the #ClutterRotateDirection used by the ellipse behaviour.
4508 // RETURNS: the rotation direction
4509 RotateDirection
get_direction()() {
4510 return clutter_behaviour_ellipse_get_direction(&this);
4514 // Gets the height of the elliptical path.
4515 // RETURNS: the height of the path
4516 int get_height()() {
4517 return clutter_behaviour_ellipse_get_height(&this);
4521 // Gets the tilt of the ellipse around the center in Y axis.
4522 // <angle_tilt_x>: return location for tilt angle on the X axis, or %NULL.
4523 // <angle_tilt_y>: return location for tilt angle on the Y axis, or %NULL.
4524 // <angle_tilt_z>: return location for tilt angle on the Z axis, or %NULL.
4525 void get_tilt()(/*out*/ double* angle_tilt_x
, /*out*/ double* angle_tilt_y
, /*out*/ double* angle_tilt_z
) {
4526 clutter_behaviour_ellipse_get_tilt(&this, angle_tilt_x
, angle_tilt_y
, angle_tilt_z
);
4530 // Gets the width of the elliptical path.
4531 // RETURNS: the width of the path
4533 return clutter_behaviour_ellipse_get_width(&this);
4537 // Sets the angle at which movement ends; angles >= 360 degress get clamped
4538 // to the canonical interval <0, 360).
4539 // <angle_end>: angle at which movement ends in degrees, between 0 and 360.
4540 void set_angle_end()(double angle_end
) {
4541 clutter_behaviour_ellipse_set_angle_end(&this, angle_end
);
4545 // Sets the angle at which movement starts; angles >= 360 degress get clamped
4546 // to the canonical interval <0, 360).
4547 // <angle_start>: angle at which movement starts in degrees, between 0 and 360.
4548 void set_angle_start()(double angle_start
) {
4549 clutter_behaviour_ellipse_set_angle_start(&this, angle_start
);
4553 // Sets the angle at which the ellipse should be tilted around it's center.
4554 // <axis>: a #ClutterRotateAxis
4555 // <angle_tilt>: tilt of the elipse around the center in the given axis in degrees.
4556 void set_angle_tilt()(RotateAxis axis
, double angle_tilt
) {
4557 clutter_behaviour_ellipse_set_angle_tilt(&this, axis
, angle_tilt
);
4561 // Sets the center of the elliptical path to the point represented by knot.
4562 // <x>: x coordinace of centre
4563 // <y>: y coordinace of centre
4564 void set_center()(int x
, int y
) {
4565 clutter_behaviour_ellipse_set_center(&this, x
, y
);
4569 // Sets the rotation direction used by the ellipse behaviour.
4570 // <direction>: the rotation direction
4571 void set_direction()(RotateDirection direction
) {
4572 clutter_behaviour_ellipse_set_direction(&this, direction
);
4576 // Sets the height of the elliptical path.
4577 // <height>: height of the ellipse
4578 void set_height()(int height
) {
4579 clutter_behaviour_ellipse_set_height(&this, height
);
4583 // Sets the angles at which the ellipse should be tilted around it's center.
4584 // <angle_tilt_x>: tilt of the elipse around the center in X axis in degrees.
4585 // <angle_tilt_y>: tilt of the elipse around the center in Y axis in degrees.
4586 // <angle_tilt_z>: tilt of the elipse around the center in Z axis in degrees.
4587 void set_tilt()(double angle_tilt_x
, double angle_tilt_y
, double angle_tilt_z
) {
4588 clutter_behaviour_ellipse_set_tilt(&this, angle_tilt_x
, angle_tilt_y
, angle_tilt_z
);
4592 // Sets the width of the elliptical path.
4593 // <width>: width of the ellipse
4594 void set_width()(int width
) {
4595 clutter_behaviour_ellipse_set_width(&this, width
);
4599 // The #ClutterBehaviourEllipseClass struct contains only private data
4600 struct BehaviourEllipseClass
/* Version 0.4 */ {
4601 private BehaviourClass parent_class
;
4604 struct BehaviourEllipsePrivate
{
4609 // DEPRECATED callback: BehaviourForeachFunc - 1.6
4610 // This function is passed to clutter_behaviour_actors_foreach() and
4611 // will be called for each actor driven by @behaviour.
4612 // <behaviour>: the #ClutterBehaviour
4613 // <actor>: an actor driven by @behaviour
4614 // <data>: optional data passed to the function
4615 extern (C
) alias void function (Behaviour
* behaviour
, Actor
* actor
, void* data
) BehaviourForeachFunc
;
4618 // The #ClutterBehaviourOpacity structure contains only private data and
4619 // should be accessed using the provided API
4623 struct BehaviourOpacity
/* : Behaviour */ /* Version 0.2 */ {
4624 mixin Scriptable
.__interface__
;
4626 alias parent super_
;
4627 alias parent behaviour
;
4629 private BehaviourOpacityPrivate
* priv
;
4633 // DEPRECATED constructor: new - 1.6
4634 // Creates a new #ClutterBehaviourOpacity object, driven by @alpha
4635 // which controls the opacity property of every actor, making it
4636 // change in the interval between @opacity_start and @opacity_end.
4638 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4639 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4640 // it can be set later with clutter_behaviour_set_alpha().
4641 // RETURNS: the newly created #ClutterBehaviourOpacity
4642 // <alpha>: a #ClutterAlpha instance, or %NULL
4643 // <opacity_start>: minimum level of opacity
4644 // <opacity_end>: maximum level of opacity
4645 static BehaviourOpacity
* /*new*/ new_()(Alpha
* alpha
, ubyte opacity_start
, ubyte opacity_end
) {
4646 return clutter_behaviour_opacity_new(alpha
, opacity_start
, opacity_end
);
4650 // DEPRECATED method: get_bounds - 1.6
4651 // Gets the initial and final levels of the opacity applied by @behaviour
4652 // on each actor it controls.
4653 // <opacity_start>: return location for the minimum level of opacity, or %NULL
4654 // <opacity_end>: return location for the maximum level of opacity, or %NULL
4655 void get_bounds()(/*out*/ ubyte* opacity_start
, /*out*/ ubyte* opacity_end
) {
4656 clutter_behaviour_opacity_get_bounds(&this, opacity_start
, opacity_end
);
4660 // DEPRECATED method: set_bounds - 1.6
4661 // Sets the initial and final levels of the opacity applied by @behaviour
4662 // on each actor it controls.
4663 // <opacity_start>: minimum level of opacity
4664 // <opacity_end>: maximum level of opacity
4665 void set_bounds()(ubyte opacity_start
, ubyte opacity_end
) {
4666 clutter_behaviour_opacity_set_bounds(&this, opacity_start
, opacity_end
);
4670 // The #ClutterBehaviourOpacityClass structure contains only private data
4671 struct BehaviourOpacityClass
/* Version 0.2 */ {
4672 private BehaviourClass parent_class
;
4675 struct BehaviourOpacityPrivate
{
4679 // The #ClutterBehaviourPath structure contains only private data
4680 // and should be accessed using the provided API
4684 struct BehaviourPath
/* : Behaviour */ /* Version 0.2 */ {
4685 mixin Scriptable
.__interface__
;
4687 alias parent super_
;
4688 alias parent behaviour
;
4690 private BehaviourPathPrivate
* priv
;
4694 // DEPRECATED constructor: new - 1.6
4695 // Creates a new path behaviour. You can use this behaviour to drive
4696 // actors along the nodes of a path, described by @path.
4698 // This will claim the floating reference on the #ClutterPath so you
4699 // do not need to unref if it.
4701 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4702 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4703 // it can be set later with clutter_behaviour_set_alpha().
4704 // RETURNS: a #ClutterBehaviour
4705 // <alpha>: a #ClutterAlpha instance, or %NULL
4706 // <path>: a #ClutterPath or %NULL for an empty path
4707 static BehaviourPath
* /*new*/ new_()(Alpha
* alpha
, Path
* path
) {
4708 return clutter_behaviour_path_new(alpha
, path
);
4712 // DEPRECATED constructor: new_with_description - 1.6
4713 // Creates a new path behaviour using the path described by @desc. See
4714 // clutter_path_add_string() for a description of the format.
4716 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4717 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4718 // it can be set later with clutter_behaviour_set_alpha().
4719 // RETURNS: a #ClutterBehaviour
4720 // <alpha>: a #ClutterAlpha instance, or %NULL
4721 // <desc>: a string description of the path
4722 static BehaviourPath
* /*new*/ new_with_description()(Alpha
* alpha
, char* desc
) {
4723 return clutter_behaviour_path_new_with_description(alpha
, desc
);
4727 // DEPRECATED constructor: new_with_knots - 1.6
4728 // Creates a new path behaviour that will make the actors visit all of
4729 // the given knots in order with straight lines in between.
4731 // A path will be created where the first knot is used in a
4732 // %CLUTTER_PATH_MOVE_TO and the subsequent knots are used in
4733 // %CLUTTER_PATH_LINE_TO<!-- -->s.
4735 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4736 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4737 // it can be set later with clutter_behaviour_set_alpha().
4738 // RETURNS: a #ClutterBehaviour
4739 // <alpha>: a #ClutterAlpha instance, or %NULL
4740 // <knots>: an array of #ClutterKnot<!-- -->s
4741 // <n_knots>: number of entries in @knots
4742 static BehaviourPath
* /*new*/ new_with_knots()(Alpha
* alpha
, Knot
* knots
, uint n_knots
) {
4743 return clutter_behaviour_path_new_with_knots(alpha
, knots
, n_knots
);
4747 // DEPRECATED method: get_path - 1.6
4748 // Get the current path of the behaviour
4749 // RETURNS: the path
4750 Path
* get_path()() {
4751 return clutter_behaviour_path_get_path(&this);
4755 // DEPRECATED method: set_path - 1.6
4756 // Change the path that the actors will follow. This will take the
4757 // floating reference on the #ClutterPath so you do not need to unref
4759 // <path>: the new path to follow
4760 void set_path()(Path
* path
) {
4761 clutter_behaviour_path_set_path(&this, path
);
4765 // DEPRECATED glib:signal: knot-reached - 1.6
4766 // This signal is emitted each time a node defined inside the path
4768 // <knot_num>: the index of the #ClutterKnot reached
4769 extern (C
) alias static void function (BehaviourPath
* this_
, c_uint knot_num
, void* user_data
=null) signal_knot_reached
;
4771 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4772 return super_
.signal_connect
!name(cb
, data
, cf
);
4775 ulong signal_connect(string name
:"knot-reached", CB
:signal_knot_reached
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4776 return signal_connect_data
!()(&this, cast(char*)"knot-reached",
4777 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4781 // The #ClutterBehaviourPathClass struct contains only private data
4782 struct BehaviourPathClass
/* Version 0.2 */ {
4783 private BehaviourClass parent_class
;
4784 extern (C
) void function (BehaviourPath
* pathb
, uint knot_num
) knot_reached
;
4785 extern (C
) void function () _clutter_path_1
;
4786 extern (C
) void function () _clutter_path_2
;
4787 extern (C
) void function () _clutter_path_3
;
4788 extern (C
) void function () _clutter_path_4
;
4791 struct BehaviourPathPrivate
{
4794 struct BehaviourPrivate
{
4798 // The #ClutterBehaviourRotate struct contains only private data and
4799 // should be accessed using the provided API
4800 struct BehaviourRotate
/* : Behaviour */ /* Version 0.4 */ {
4801 mixin Scriptable
.__interface__
;
4802 alias parent_instance
this;
4803 alias parent_instance super_
;
4804 alias parent_instance behaviour
;
4805 Behaviour parent_instance
;
4806 private BehaviourRotatePrivate
* priv
;
4810 // Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors
4811 // bound to it on @axis, following @direction, between @angle_start and
4812 // @angle_end. Angles >= 360 degrees will be clamped to the canonical interval
4813 // <0, 360), if angle_start == angle_end, the behaviour will carry out a
4814 // single rotation of 360 degrees.
4816 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4817 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4818 // it can be set later with clutter_behaviour_set_alpha().
4819 // RETURNS: the newly created #ClutterBehaviourRotate.
4820 // <alpha>: a #ClutterAlpha instance, or %NULL
4821 // <axis>: the rotation axis
4822 // <direction>: the rotation direction
4823 // <angle_start>: the starting angle in degrees, between 0 and 360.
4824 // <angle_end>: the final angle in degrees, between 0 and 360.
4825 static BehaviourRotate
* /*new*/ new_()(Alpha
* alpha
, RotateAxis axis
, RotateDirection direction
, double angle_start
, double angle_end
) {
4826 return clutter_behaviour_rotate_new(alpha
, axis
, direction
, angle_start
, angle_end
);
4830 // Retrieves the #ClutterRotateAxis used by the rotate behaviour.
4831 // RETURNS: the rotation axis
4832 RotateAxis
get_axis()() {
4833 return clutter_behaviour_rotate_get_axis(&this);
4837 // Retrieves the rotation boundaries of the rotate behaviour.
4838 // <angle_start>: return value for the initial angle
4839 // <angle_end>: return value for the final angle
4840 void get_bounds()(/*out*/ double* angle_start
, /*out*/ double* angle_end
) {
4841 clutter_behaviour_rotate_get_bounds(&this, angle_start
, angle_end
);
4845 // Retrieves the center of rotation set using
4846 // clutter_behaviour_rotate_set_center().
4847 // <x>: return location for the X center of rotation
4848 // <y>: return location for the Y center of rotation
4849 // <z>: return location for the Z center of rotation
4850 void get_center()(/*out*/ int* x
, /*out*/ int* y
, /*out*/ int* z
) {
4851 clutter_behaviour_rotate_get_center(&this, x
, y
, z
);
4855 // Retrieves the #ClutterRotateDirection used by the rotate behaviour.
4856 // RETURNS: the rotation direction
4857 RotateDirection
get_direction()() {
4858 return clutter_behaviour_rotate_get_direction(&this);
4862 // Sets the axis used by the rotate behaviour.
4863 // <axis>: a #ClutterRotateAxis
4864 void set_axis()(RotateAxis axis
) {
4865 clutter_behaviour_rotate_set_axis(&this, axis
);
4869 // Sets the initial and final angles of a rotation behaviour; angles >= 360
4870 // degrees get clamped to the canonical interval <0, 360).
4871 // <angle_start>: initial angle in degrees, between 0 and 360.
4872 // <angle_end>: final angle in degrees, between 0 and 360.
4873 void set_bounds()(double angle_start
, double angle_end
) {
4874 clutter_behaviour_rotate_set_bounds(&this, angle_start
, angle_end
);
4878 // Sets the center of rotation. The coordinates are relative to the plane
4879 // normal to the rotation axis set with clutter_behaviour_rotate_set_axis().
4880 // <x>: X axis center of rotation
4881 // <y>: Y axis center of rotation
4882 // <z>: Z axis center of rotation
4883 void set_center()(int x
, int y
, int z
) {
4884 clutter_behaviour_rotate_set_center(&this, x
, y
, z
);
4888 // Sets the rotation direction used by the rotate behaviour.
4889 // <direction>: the rotation direction
4890 void set_direction()(RotateDirection direction
) {
4891 clutter_behaviour_rotate_set_direction(&this, direction
);
4895 // The #ClutterBehaviourRotateClass struct contains only private data
4896 struct BehaviourRotateClass
/* Version 0.4 */ {
4897 private BehaviourClass parent_class
;
4900 struct BehaviourRotatePrivate
{
4904 // The #ClutterBehaviourScale struct contains only private data and
4905 // should be accessed using the provided API
4908 // and #ClutterActor:scale-y instead.
4909 struct BehaviourScale
/* : Behaviour */ /* Version 0.2 */ {
4910 mixin Scriptable
.__interface__
;
4911 alias parent_instance
this;
4912 alias parent_instance super_
;
4913 alias parent_instance behaviour
;
4914 Behaviour parent_instance
;
4915 private BehaviourScalePrivate
* priv
;
4919 // DEPRECATED constructor: new - 1.6
4920 // Creates a new #ClutterBehaviourScale instance.
4922 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4923 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4924 // it can be set later with clutter_behaviour_set_alpha().
4925 // RETURNS: the newly created #ClutterBehaviourScale
4926 // <alpha>: a #ClutterAlpha instance, or %NULL
4927 // <x_scale_start>: initial scale factor on the X axis
4928 // <y_scale_start>: initial scale factor on the Y axis
4929 // <x_scale_end>: final scale factor on the X axis
4930 // <y_scale_end>: final scale factor on the Y axis
4931 static BehaviourScale
* /*new*/ new_()(Alpha
* alpha
, double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
) {
4932 return clutter_behaviour_scale_new(alpha
, x_scale_start
, y_scale_start
, x_scale_end
, y_scale_end
);
4936 // DEPRECATED method: get_bounds - 1.6
4937 // Retrieves the bounds used by scale behaviour.
4938 // <x_scale_start>: return location for the initial scale factor on the X axis, or %NULL
4939 // <y_scale_start>: return location for the initial scale factor on the Y axis, or %NULL
4940 // <x_scale_end>: return location for the final scale factor on the X axis, or %NULL
4941 // <y_scale_end>: return location for the final scale factor on the Y axis, or %NULL
4942 void get_bounds()(/*out*/ double* x_scale_start
, /*out*/ double* y_scale_start
, /*out*/ double* x_scale_end
, /*out*/ double* y_scale_end
) {
4943 clutter_behaviour_scale_get_bounds(&this, x_scale_start
, y_scale_start
, x_scale_end
, y_scale_end
);
4947 // DEPRECATED method: set_bounds - 1.6
4948 // Sets the bounds used by scale behaviour.
4949 // <x_scale_start>: initial scale factor on the X axis
4950 // <y_scale_start>: initial scale factor on the Y axis
4951 // <x_scale_end>: final scale factor on the X axis
4952 // <y_scale_end>: final scale factor on the Y axis
4953 void set_bounds()(double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
) {
4954 clutter_behaviour_scale_set_bounds(&this, x_scale_start
, y_scale_start
, x_scale_end
, y_scale_end
);
4958 // The #ClutterBehaviourScaleClass struct contains only private data
4959 struct BehaviourScaleClass
/* Version 0.2 */ {
4960 private BehaviourClass parent_class
;
4963 struct BehaviourScalePrivate
{
4966 // The alignment policies available on each axis for #ClutterBinLayout
4967 enum BinAlignment
/* Version 1.2 */ {
4975 // The #ClutterBinLayout structure contains only private data
4976 // and should be accessed using the provided API
4977 struct BinLayout
/* : LayoutManager */ /* Version 1.2 */ {
4978 alias parent_instance
this;
4979 alias parent_instance super_
;
4980 alias parent_instance layoutmanager
;
4981 LayoutManager parent_instance
;
4982 private BinLayoutPrivate
* priv
;
4986 // Creates a new #ClutterBinLayout layout manager
4987 // RETURNS: the newly created layout manager
4988 // <x_align>: the default alignment policy to be used on the horizontal axis
4989 // <y_align>: the default alignment policy to be used on the vertical axis
4990 static BinLayout
* new_()(BinAlignment x_align
, BinAlignment y_align
) {
4991 return clutter_bin_layout_new(x_align
, y_align
);
4995 // Adds a #ClutterActor to the container using @self and
4996 // sets the alignment policies for it
4998 // This function is equivalent to clutter_container_add_actor()
4999 // and clutter_layout_manager_child_set_property() but it does not
5000 // require a pointer to the #ClutterContainer associated to the
5001 // #ClutterBinLayout
5002 // <child>: a #ClutterActor
5003 // <x_align>: horizontal alignment policy for @child
5004 // <y_align>: vertical alignment policy for @child
5005 void add()(Actor
* child
, BinAlignment x_align
, BinAlignment y_align
) {
5006 clutter_bin_layout_add(&this, child
, x_align
, y_align
);
5010 // Retrieves the horizontal and vertical alignment policies for
5013 // If @child is %NULL the default alignment policies will be returned
5015 // <child>: a child of @container
5016 // <x_align>: return location for the horizontal alignment policy
5017 // <y_align>: return location for the vertical alignment policy
5018 void get_alignment()(Actor
* child
=null, /*out*/ BinAlignment
* x_align
=null, /*out*/ BinAlignment
* y_align
=null) {
5019 clutter_bin_layout_get_alignment(&this, child
, x_align
, y_align
);
5023 // Sets the horizontal and vertical alignment policies to be applied
5024 // to a @child of @self
5026 // If @child is %NULL then the @x_align and @y_align values will
5027 // be set as the default alignment policies
5028 // <child>: a child of @container
5029 // <x_align>: the horizontal alignment policy to be used for the @child inside @container
5030 // <y_align>: the vertical aligment policy to be used on the @child inside @container
5031 void set_alignment()(Actor
* child
, BinAlignment x_align
, BinAlignment y_align
) {
5032 clutter_bin_layout_set_alignment(&this, child
, x_align
, y_align
);
5037 // The #ClutterBinLayoutClass structure contains only private
5038 // data and should be accessed using the provided API
5039 struct BinLayoutClass
/* Version 1.2 */ {
5040 private LayoutManagerClass parent_class
;
5043 struct BinLayoutPrivate
{
5047 // <structname>ClutterBindConstraint</structname> is an opaque structure
5048 // whose members cannot be directly accessed
5049 struct BindConstraint
/* : Constraint */ /* Version 1.4 */ {
5050 alias method_parent
this;
5051 alias method_parent super_
;
5052 alias method_parent constraint
;
5053 Constraint method_parent
;
5057 // Creates a new constraint, binding a #ClutterActor's position to
5058 // the given @coordinate of the position of @source
5059 // RETURNS: the newly created #ClutterBindConstraint
5060 // <source>: the #ClutterActor to use as the source of the binding, or %NULL
5061 // <coordinate>: the coordinate to bind
5062 // <offset>: the offset to apply to the binding, in pixels
5063 static BindConstraint
* new_()(Actor
* source
, BindCoordinate coordinate
, float offset
) {
5064 return clutter_bind_constraint_new(source
, coordinate
, offset
);
5068 // Retrieves the bound coordinate of the constraint
5069 // RETURNS: the bound coordinate
5070 BindCoordinate
get_coordinate()() {
5071 return clutter_bind_constraint_get_coordinate(&this);
5075 // Retrieves the offset set using clutter_bind_constraint_set_offset()
5076 // RETURNS: the offset, in pixels
5077 float get_offset()() {
5078 return clutter_bind_constraint_get_offset(&this);
5082 // Retrieves the #ClutterActor set using clutter_bind_constraint_set_source()
5083 // RETURNS: a pointer to the source actor
5084 Actor
* get_source()() {
5085 return clutter_bind_constraint_get_source(&this);
5089 // Sets the coordinate to bind in the constraint
5090 // <coordinate>: the coordinate to bind
5091 void set_coordinate()(BindCoordinate coordinate
) {
5092 clutter_bind_constraint_set_coordinate(&this, coordinate
);
5096 // Sets the offset to be applied to the constraint
5097 // <offset>: the offset to apply, in pixels
5098 void set_offset()(float offset
) {
5099 clutter_bind_constraint_set_offset(&this, offset
);
5103 // Sets the source #ClutterActor for the constraint
5104 // <source>: a #ClutterActor, or %NULL to unset the source
5105 void set_source()(Actor
* source
=null) {
5106 clutter_bind_constraint_set_source(&this, source
);
5110 struct BindConstraintClass
{
5113 // Specifies which property should be used in a binding
5114 enum BindCoordinate
/* Version 1.4 */ {
5124 // The prototype for the callback function registered with
5125 // clutter_binding_pool_install_action() and invoked by
5126 // clutter_binding_pool_activate().
5128 // binding has been handled, and return %FALSE otherwise
5129 // RETURNS: the function should return %TRUE if the key
5130 // <gobject>: a #GObject
5131 // <action_name>: the name of the action
5132 // <key_val>: the key symbol
5133 // <modifiers>: bitmask of the modifier flags
5134 extern (C
) alias int function (GObject2
.Object
* gobject
, char* action_name
, uint key_val
, ModifierType modifiers
) BindingActionFunc
;
5137 // Container of key bindings. The #ClutterBindingPool struct is
5139 struct BindingPool
/* : GObject.Object */ /* Version 1.0 */ {
5140 alias method_parent
this;
5141 alias method_parent super_
;
5142 alias method_parent object
;
5143 GObject2
.Object method_parent
;
5147 // Creates a new #ClutterBindingPool that can be used to store
5148 // key bindings for an actor. The @name must be a unique identifier
5149 // for the binding pool, so that clutter_binding_pool_find() will
5150 // be able to return the correct binding pool.
5152 // name. Use g_object_unref() when done.
5153 // RETURNS: the newly created binding pool with the given
5154 // <name>: the name of the binding pool
5155 static BindingPool
* /*new*/ new_()(char* name
) {
5156 return clutter_binding_pool_new(name
);
5160 // Finds the #ClutterBindingPool with @name.
5161 // RETURNS: a pointer to the #ClutterBindingPool, or %NULL
5162 // <name>: the name of the binding pool to find
5163 static BindingPool
* find()(char* name
) {
5164 return clutter_binding_pool_find(name
);
5168 // Retrieves the #ClutterBindingPool for the given #GObject class
5169 // and, eventually, creates it. This function is a wrapper around
5170 // clutter_binding_pool_new() and uses the class type name as the
5171 // unique name for the binding pool.
5173 // Calling this function multiple times will return the same
5174 // #ClutterBindingPool.
5176 // A binding pool for a class can also be retrieved using
5177 // clutter_binding_pool_find() with the class type name:
5180 // pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
5183 // The returned #ClutterBindingPool is owned by Clutter and should not
5184 // be freed directly
5185 // RETURNS: the binding pool for the given class.
5186 // <klass>: a #GObjectClass pointer
5187 static BindingPool
* get_for_class()(void* klass
) {
5188 return clutter_binding_pool_get_for_class(klass
);
5192 // Activates the callback associated to the action that is
5193 // bound to the @key_val and @modifiers pair.
5195 // The callback has the following signature:
5198 // void (* callback) (GObject *gobject,
5199 // const gchar *action_name,
5201 // ClutterModifierType modifiers,
5202 // gpointer user_data);
5205 // Where the #GObject instance is @gobject and the user data
5206 // is the one passed when installing the action with
5207 // clutter_binding_pool_install_action().
5209 // If the action bound to the @key_val, @modifiers pair has been
5210 // blocked using clutter_binding_pool_block_action(), the callback
5211 // will not be invoked, and this function will return %FALSE.
5212 // RETURNS: %TRUE if an action was found and was activated
5213 // <key_val>: the key symbol
5214 // <modifiers>: bitmask for the modifiers
5215 // <gobject>: a #GObject
5216 int activate()(uint key_val
, ModifierType modifiers
, GObject2
.Object
* gobject
) {
5217 return clutter_binding_pool_activate(&this, key_val
, modifiers
, gobject
);
5221 // Blocks all the actions with name @action_name inside @pool.
5222 // <action_name>: an action name
5223 void block_action()(char* action_name
) {
5224 clutter_binding_pool_block_action(&this, action_name
);
5228 // Retrieves the name of the action matching the given key symbol
5229 // and modifiers bitmask.
5231 // returned string is owned by the binding pool and should never
5232 // be modified or freed
5233 // RETURNS: the name of the action, if found, or %NULL. The
5234 // <key_val>: a key symbol
5235 // <modifiers>: a bitmask for the modifiers
5236 char* find_action()(uint key_val
, ModifierType modifiers
) {
5237 return clutter_binding_pool_find_action(&this, key_val
, modifiers
);
5241 // Installs a new action inside a #ClutterBindingPool. The action
5242 // is bound to @key_val and @modifiers.
5244 // The same action name can be used for multiple @key_val, @modifiers
5247 // When an action has been activated using clutter_binding_pool_activate()
5248 // the passed @callback will be invoked (with @data).
5250 // Actions can be blocked with clutter_binding_pool_block_action()
5251 // and then unblocked using clutter_binding_pool_unblock_action().
5252 // <action_name>: the name of the action
5253 // <key_val>: key symbol
5254 // <modifiers>: bitmask of modifiers
5255 // <callback>: function to be called when the action is activated
5256 // <data>: data to be passed to @callback
5257 // <notify>: function to be called when the action is removed from the pool
5258 void install_action()(char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
) {
5259 clutter_binding_pool_install_action(&this, action_name
, key_val
, modifiers
, callback
, data
, notify
);
5263 // A #GClosure variant of clutter_binding_pool_install_action().
5265 // Installs a new action inside a #ClutterBindingPool. The action
5266 // is bound to @key_val and @modifiers.
5268 // The same action name can be used for multiple @key_val, @modifiers
5271 // When an action has been activated using clutter_binding_pool_activate()
5272 // the passed @closure will be invoked.
5274 // Actions can be blocked with clutter_binding_pool_block_action()
5275 // and then unblocked using clutter_binding_pool_unblock_action().
5276 // <action_name>: the name of the action
5277 // <key_val>: key symbol
5278 // <modifiers>: bitmask of modifiers
5279 // <closure>: a #GClosure
5280 void install_closure()(char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
) {
5281 clutter_binding_pool_install_closure(&this, action_name
, key_val
, modifiers
, closure
);
5285 // Allows overriding the action for @key_val and @modifiers inside a
5286 // #ClutterBindingPool. See clutter_binding_pool_install_action().
5288 // When an action has been activated using clutter_binding_pool_activate()
5289 // the passed @callback will be invoked (with @data).
5291 // Actions can be blocked with clutter_binding_pool_block_action()
5292 // and then unblocked using clutter_binding_pool_unblock_action().
5293 // <key_val>: key symbol
5294 // <modifiers>: bitmask of modifiers
5295 // <callback>: function to be called when the action is activated
5296 // <data>: data to be passed to @callback
5297 // <notify>: function to be called when the action is removed from the pool
5298 void override_action()(uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
) {
5299 clutter_binding_pool_override_action(&this, key_val
, modifiers
, callback
, data
, notify
);
5303 // A #GClosure variant of clutter_binding_pool_override_action().
5305 // Allows overriding the action for @key_val and @modifiers inside a
5306 // #ClutterBindingPool. See clutter_binding_pool_install_closure().
5308 // When an action has been activated using clutter_binding_pool_activate()
5309 // the passed @callback will be invoked (with @data).
5311 // Actions can be blocked with clutter_binding_pool_block_action()
5312 // and then unblocked using clutter_binding_pool_unblock_action().
5313 // <key_val>: key symbol
5314 // <modifiers>: bitmask of modifiers
5315 // <closure>: a #GClosure
5316 void override_closure()(uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
) {
5317 clutter_binding_pool_override_closure(&this, key_val
, modifiers
, closure
);
5321 // Removes the action matching the given @key_val, @modifiers pair,
5323 // <key_val>: a key symbol
5324 // <modifiers>: a bitmask for the modifiers
5325 void remove_action()(uint key_val
, ModifierType modifiers
) {
5326 clutter_binding_pool_remove_action(&this, key_val
, modifiers
);
5330 // Unblockes all the actions with name @action_name inside @pool.
5332 // Unblocking an action does not cause the callback bound to it to
5333 // be invoked in case clutter_binding_pool_activate() was called on
5334 // an action previously blocked with clutter_binding_pool_block_action().
5335 // <action_name>: an action name
5336 void unblock_action()(char* action_name
) {
5337 clutter_binding_pool_unblock_action(&this, action_name
);
5341 struct BindingPoolClass
{
5344 enum int Blue
= 269025190;
5345 enum int Bluetooth
= 269025172;
5347 // <structname>ClutterBlurEffect</structname> is an opaque structure
5348 // whose members cannot be accessed directly
5349 struct BlurEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
5350 alias method_parent
this;
5351 alias method_parent super_
;
5352 alias method_parent offscreeneffect
;
5353 OffscreenEffect method_parent
;
5357 // Creates a new #ClutterBlurEffect to be used with
5358 // clutter_actor_add_effect()
5359 // RETURNS: the newly created #ClutterBlurEffect or %NULL
5360 static BlurEffect
* new_()() {
5361 return clutter_blur_effect_new();
5365 struct BlurEffectClass
{
5368 enum int Book
= 269025106;
5369 enum int BounceKeys_Enable
= 65140;
5371 // The #ClutterBox structure contains only private data and should
5372 // be accessed using the provided API
5373 struct Box
/* : Actor */ /* Version 1.2 */ {
5374 mixin Atk
.ImplementorIface
.__interface__
;
5375 mixin Animatable
.__interface__
;
5376 mixin Container
.__interface__
;
5377 mixin Scriptable
.__interface__
;
5378 alias parent_instance
this;
5379 alias parent_instance super_
;
5380 alias parent_instance actor
;
5381 Actor parent_instance
;
5382 private BoxPrivate
* priv
;
5386 // Creates a new #ClutterBox. The children of the box will be layed
5387 // out by the passed @manager
5388 // RETURNS: the newly created #ClutterBox actor
5389 // <manager>: a #ClutterLayoutManager
5390 static Box
* new_()(LayoutManager
* manager
) {
5391 return clutter_box_new(manager
);
5395 // Retrieves the background color of @box
5397 // If the #ClutterBox:color-set property is set to %FALSE the
5398 // returned #ClutterColor is undefined
5399 // <color>: return location for a #ClutterColor
5400 void get_color()(/*out*/ Color
* color
) {
5401 clutter_box_get_color(&this, color
);
5405 // Retrieves the #ClutterLayoutManager instance used by @box
5407 // #ClutterLayoutManager is owned by the #ClutterBox and it should not
5409 // RETURNS: a #ClutterLayoutManager. The returned
5410 LayoutManager
* get_layout_manager()() {
5411 return clutter_box_get_layout_manager(&this);
5414 // Unintrospectable method: pack() / clutter_box_pack()
5416 // Adds @actor to @box and sets layout properties at the same time,
5417 // if the #ClutterLayoutManager used by @box has them
5419 // This function is a wrapper around clutter_container_add_actor()
5420 // and clutter_layout_manager_child_set()
5422 // Language bindings should use the vector-based clutter_box_packv()
5424 // <actor>: a #ClutterActor
5425 // <first_property>: the name of the first property to set, or %NULL
5426 /+ Not available -- variadic methods unsupported - use the C function directly.
5427 alias clutter_box_pack pack; // Variadic
5430 // Unintrospectable method: pack_after() / clutter_box_pack_after()
5432 // Adds @actor to @box, placing it after @sibling, and sets layout
5433 // properties at the same time, if the #ClutterLayoutManager used by
5434 // @box supports them
5436 // If @sibling is %NULL then @actor is placed at the end of the
5437 // list of children, to be allocated and painted after every other child
5439 // This function is a wrapper around clutter_container_add_actor(),
5440 // clutter_container_raise_child() and clutter_layout_manager_child_set()
5441 // <actor>: a #ClutterActor
5442 // <sibling>: a #ClutterActor or %NULL
5443 // <first_property>: the name of the first property to set, or %NULL
5444 /+ Not available -- variadic methods unsupported - use the C function directly.
5445 alias clutter_box_pack_after pack_after; // Variadic
5448 // Unintrospectable method: pack_at() / clutter_box_pack_at()
5450 // Adds @actor to @box, placing it at @position, and sets layout
5451 // properties at the same time, if the #ClutterLayoutManager used by
5452 // @box supports them
5454 // If @position is a negative number, or is larger than the number of
5455 // children of @box, the new child is added at the end of the list of
5457 // <actor>: a #ClutterActor
5458 // <position>: the position to insert the @actor at
5459 // <first_property>: the name of the first property to set, or %NULL
5460 /+ Not available -- variadic methods unsupported - use the C function directly.
5461 alias clutter_box_pack_at pack_at; // Variadic
5464 // Unintrospectable method: pack_before() / clutter_box_pack_before()
5466 // Adds @actor to @box, placing it before @sibling, and sets layout
5467 // properties at the same time, if the #ClutterLayoutManager used by
5468 // @box supports them
5470 // If @sibling is %NULL then @actor is placed at the beginning of the
5471 // list of children, to be allocated and painted below every other child
5473 // This function is a wrapper around clutter_container_add_actor(),
5474 // clutter_container_lower_child() and clutter_layout_manager_child_set()
5475 // <actor>: a #ClutterActor
5476 // <sibling>: a #ClutterActor or %NULL
5477 // <first_property>: the name of the first property to set, or %NULL
5478 /+ Not available -- variadic methods unsupported - use the C function directly.
5479 alias clutter_box_pack_before pack_before; // Variadic
5483 // Vector-based variant of clutter_box_pack(), intended for language
5485 // <actor>: a #ClutterActor
5486 // <n_properties>: the number of properties to set
5487 // <properties>: a vector containing the property names to set
5488 // <values>: a vector containing the property values to set
5489 void packv()(Actor
* actor
, uint n_properties
, char* properties
, GObject2
.Value
* values
) {
5490 clutter_box_packv(&this, actor
, n_properties
, properties
, values
);
5494 // Sets (or unsets) the background color for @box
5495 // <color>: the background color, or %NULL to unset
5496 void set_color()(Color
* color
=null) {
5497 clutter_box_set_color(&this, color
);
5501 // Sets the #ClutterLayoutManager for @box
5503 // A #ClutterLayoutManager is a delegate object that controls the
5504 // layout of the children of @box
5505 // <manager>: a #ClutterLayoutManager
5506 void set_layout_manager()(LayoutManager
* manager
) {
5507 clutter_box_set_layout_manager(&this, manager
);
5511 // The alignment policies available on each axis of the #ClutterBoxLayout
5512 enum BoxAlignment
/* Version 1.2 */ {
5517 // The #ClutterBoxClass structure contains only private data
5518 struct BoxClass
/* Version 1.2 */ {
5519 private ActorClass parent_class
;
5520 extern (C
) void function () clutter_padding_1
;
5521 extern (C
) void function () clutter_padding_2
;
5522 extern (C
) void function () clutter_padding_3
;
5523 extern (C
) void function () clutter_padding_4
;
5524 extern (C
) void function () clutter_padding_5
;
5525 extern (C
) void function () clutter_padding_6
;
5529 // The #ClutterBoxLayout structure contains only private data
5530 // and should be accessed using the provided API
5531 struct BoxLayout
/* : LayoutManager */ /* Version 1.2 */ {
5532 alias parent_instance
this;
5533 alias parent_instance super_
;
5534 alias parent_instance layoutmanager
;
5535 LayoutManager parent_instance
;
5536 private BoxLayoutPrivate
* priv
;
5540 // Creates a new #ClutterBoxLayout layout manager
5541 // RETURNS: the newly created #ClutterBoxLayout
5542 static BoxLayout
* new_()() {
5543 return clutter_box_layout_new();
5547 // Retrieves the horizontal and vertical alignment policies for @actor
5548 // as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment()
5549 // <actor>: a #ClutterActor child of @layout
5550 // <x_align>: return location for the horizontal alignment policy
5551 // <y_align>: return location for the vertical alignment policy
5552 void get_alignment()(Actor
* actor
, /*out*/ BoxAlignment
* x_align
, /*out*/ BoxAlignment
* y_align
) {
5553 clutter_box_layout_get_alignment(&this, actor
, x_align
, y_align
);
5557 // Retrieves the duration set using clutter_box_layout_set_easing_duration()
5558 // RETURNS: the duration of the animations, in milliseconds
5559 uint get_easing_duration()() {
5560 return clutter_box_layout_get_easing_duration(&this);
5564 // Retrieves the easing mode set using clutter_box_layout_set_easing_mode()
5565 // RETURNS: an easing mode
5566 c_ulong
get_easing_mode()() {
5567 return clutter_box_layout_get_easing_mode(&this);
5571 // Retrieves whether @actor should expand inside @layout
5572 // RETURNS: %TRUE if the #ClutterActor should expand, %FALSE otherwise
5573 // <actor>: a #ClutterActor child of @layout
5574 int get_expand()(Actor
* actor
) {
5575 return clutter_box_layout_get_expand(&this, actor
);
5579 // Retrieves the horizontal and vertical fill policies for @actor
5580 // as set using clutter_box_layout_pack() or clutter_box_layout_set_fill()
5581 // <actor>: a #ClutterActor child of @layout
5582 // <x_fill>: return location for the horizontal fill policy
5583 // <y_fill>: return location for the vertical fill policy
5584 void get_fill()(Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
) {
5585 clutter_box_layout_get_fill(&this, actor
, x_fill
, y_fill
);
5589 // Retrieves if the children sizes are allocated homogeneously.
5591 // homogeneously, and %FALSE otherwise
5592 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
5593 int get_homogeneous()() {
5594 return clutter_box_layout_get_homogeneous(&this);
5598 // Retrieves the value set using clutter_box_layout_set_pack_start()
5600 // at the beginning of the layout, and %FALSE otherwise
5601 // RETURNS: %TRUE if the #ClutterBoxLayout should pack children
5602 int get_pack_start()() {
5603 return clutter_box_layout_get_pack_start(&this);
5607 // Retrieves the spacing set using clutter_box_layout_set_spacing()
5608 // RETURNS: the spacing between children of the #ClutterBoxLayout
5609 uint get_spacing()() {
5610 return clutter_box_layout_get_spacing(&this);
5614 // Retrieves whether @layout should animate changes in the layout properties
5616 // Since clutter_box_layout_set_use_animations()
5617 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
5618 int get_use_animations()() {
5619 return clutter_box_layout_get_use_animations(&this);
5623 // Retrieves the orientation of the @layout as set using the
5624 // clutter_box_layout_set_vertical() function
5626 // vertically, and %FALSE otherwise
5627 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
5628 int get_vertical()() {
5629 return clutter_box_layout_get_vertical(&this);
5633 // Packs @actor inside the #ClutterContainer associated to @layout
5634 // and sets the layout properties
5635 // <actor>: a #ClutterActor
5636 // <expand>: whether the @actor should expand
5637 // <x_fill>: whether the @actor should fill horizontally
5638 // <y_fill>: whether the @actor should fill vertically
5639 // <x_align>: the horizontal alignment policy for @actor
5640 // <y_align>: the vertical alignment policy for @actor
5641 void pack()(Actor
* actor
, int expand
, int x_fill
, int y_fill
, BoxAlignment x_align
, BoxAlignment y_align
) {
5642 clutter_box_layout_pack(&this, actor
, expand
, x_fill
, y_fill
, x_align
, y_align
);
5646 // Sets the horizontal and vertical alignment policies for @actor
5648 // <actor>: a #ClutterActor child of @layout
5649 // <x_align>: Horizontal alignment policy for @actor
5650 // <y_align>: Vertical alignment policy for @actor
5651 void set_alignment()(Actor
* actor
, BoxAlignment x_align
, BoxAlignment y_align
) {
5652 clutter_box_layout_set_alignment(&this, actor
, x_align
, y_align
);
5656 // Sets the duration of the animations used by @layout when animating changes
5657 // in the layout properties
5659 // Use clutter_box_layout_set_use_animations() to enable and disable the
5661 // <msecs>: the duration of the animations, in milliseconds
5662 void set_easing_duration()(uint msecs
) {
5663 clutter_box_layout_set_easing_duration(&this, msecs
);
5667 // Sets the easing mode to be used by @layout when animating changes in layout
5670 // Use clutter_box_layout_set_use_animations() to enable and disable the
5672 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
5673 void set_easing_mode()(c_ulong mode
) {
5674 clutter_box_layout_set_easing_mode(&this, mode
);
5678 // Sets whether @actor should expand inside @layout
5679 // <actor>: a #ClutterActor child of @layout
5680 // <expand>: whether @actor should expand
5681 void set_expand()(Actor
* actor
, int expand
) {
5682 clutter_box_layout_set_expand(&this, actor
, expand
);
5686 // Sets the horizontal and vertical fill policies for @actor
5688 // <actor>: a #ClutterActor child of @layout
5689 // <x_fill>: whether @actor should fill horizontally the allocated space
5690 // <y_fill>: whether @actor should fill vertically the allocated space
5691 void set_fill()(Actor
* actor
, int x_fill
, int y_fill
) {
5692 clutter_box_layout_set_fill(&this, actor
, x_fill
, y_fill
);
5696 // Sets whether the size of @layout children should be
5698 // <homogeneous>: %TRUE if the layout should be homogeneous
5699 void set_homogeneous()(int homogeneous
) {
5700 clutter_box_layout_set_homogeneous(&this, homogeneous
);
5704 // Sets whether children of @layout should be layed out by appending
5705 // them or by prepending them
5706 // <pack_start>: %TRUE if the @layout should pack children at the beginning of the layout
5707 void set_pack_start()(int pack_start
) {
5708 clutter_box_layout_set_pack_start(&this, pack_start
);
5712 // Sets the spacing between children of @layout
5713 // <spacing>: the spacing between children of the layout, in pixels
5714 void set_spacing()(uint spacing
) {
5715 clutter_box_layout_set_spacing(&this, spacing
);
5719 // Sets whether @layout should animate changes in the layout properties
5721 // The duration of the animations is controlled by
5722 // clutter_box_layout_set_easing_duration(); the easing mode to be used
5723 // by the animations is controlled by clutter_box_layout_set_easing_mode()
5724 // <animate>: %TRUE if the @layout should use animations
5725 void set_use_animations()(int animate
) {
5726 clutter_box_layout_set_use_animations(&this, animate
);
5730 // Sets whether @layout should arrange its children vertically alongside
5731 // the Y axis, instead of horizontally alongside the X axis
5732 // <vertical>: %TRUE if the layout should be vertical
5733 void set_vertical()(int vertical
) {
5734 clutter_box_layout_set_vertical(&this, vertical
);
5739 // The #ClutterBoxLayoutClass structure contains only private
5740 // data and should be accessed using the provided API
5741 struct BoxLayoutClass
/* Version 1.2 */ {
5742 private LayoutManagerClass parent_class
;
5745 struct BoxLayoutPrivate
{
5751 enum int Break
= 65387;
5752 enum int BrightnessAdjust
= 269025083;
5756 // The event coordinates are relative to the stage that received the
5757 // event, and can be transformed into actor-relative coordinates by
5758 // using clutter_actor_transform_stage_point().
5759 struct ButtonEvent
/* Version 0.2 */ {
5766 ModifierType modifier_state
;
5770 InputDevice
* device
;
5773 enum int Byelorussian_SHORTU
= 1726;
5774 enum int Byelorussian_shortu
= 1710;
5776 enum int CD
= 269025107;
5777 enum COGL
= "undefined";
5778 enum int CURRENT_TIME
= 0;
5779 enum int Cabovedot
= 709;
5780 enum int Cacute
= 454;
5781 // The #ClutterCairoTexture struct contains only private data.
5782 struct CairoTexture
/* : Texture */ /* Version 1.0 */ {
5783 mixin Atk
.ImplementorIface
.__interface__
;
5784 mixin Animatable
.__interface__
;
5785 mixin Scriptable
.__interface__
;
5786 alias parent_instance
this;
5787 alias parent_instance super_
;
5788 alias parent_instance texture
;
5789 Texture parent_instance
;
5790 private CairoTexturePrivate
* priv
;
5794 // Creates a new #ClutterCairoTexture actor, with a surface of @width by
5796 // RETURNS: the newly created #ClutterCairoTexture actor
5797 // <width>: the width of the surface
5798 // <height>: the height of the surface
5799 static CairoTexture
* new_()(uint width
, uint height
) {
5800 return clutter_cairo_texture_new(width
, height
);
5804 // Clears @self's internal drawing surface, so that the next upload
5805 // will replace the previous contents of the #ClutterCairoTexture
5806 // rather than adding to it.
5808 // Calling this function from within a #ClutterCairoTexture::draw
5809 // signal handler will clear the invalidated area.
5811 clutter_cairo_texture_clear(&this);
5815 // DEPRECATED (v1.8) method: create - Use the #ClutterCairoTexture::draw signal and
5816 // Creates a new Cairo context for the @cairo texture. It is
5817 // similar to using clutter_cairo_texture_create_region() with @x_offset
5818 // and @y_offset of 0, @width equal to the @cairo texture surface width
5819 // and @height equal to the @cairo texture surface height.
5821 // <warning><para>Do not call this function within the paint virtual
5822 // function or from a callback to the #ClutterActor::paint
5823 // signal.</para></warning>
5825 // to upload the contents of the context when done drawing
5828 // the clutter_cairo_texture_invalidate() function to obtain a
5829 // Cairo context for 2D drawing.
5830 // RETURNS: a newly created Cairo context. Use cairo_destroy()
5831 cairo
.Context
* /*new*/ create()() {
5832 return clutter_cairo_texture_create(&this);
5836 // DEPRECATED (v1.8) method: create_region - Use the #ClutterCairoTexture::draw signal and
5837 // Creates a new Cairo context that will updat the region defined
5838 // by @x_offset, @y_offset, @width and @height.
5840 // <warning><para>Do not call this function within the paint virtual
5841 // function or from a callback to the #ClutterActor::paint
5842 // signal.</para></warning>
5844 // to upload the contents of the context when done drawing
5847 // clutter_cairo_texture_invalidate_rectangle() to obtain a
5848 // clipped Cairo context for 2D drawing.
5849 // RETURNS: a newly created Cairo context. Use cairo_destroy()
5850 // <x_offset>: offset of the region on the X axis
5851 // <y_offset>: offset of the region on the Y axis
5852 // <width>: width of the region, or -1 for the full surface width
5853 // <height>: height of the region, or -1 for the full surface height
5854 cairo
.Context
* /*new*/ create_region()(int x_offset
, int y_offset
, int width
, int height
) {
5855 return clutter_cairo_texture_create_region(&this, x_offset
, y_offset
, width
, height
);
5859 // Retrieves the value set using clutter_cairo_texture_set_auto_resize().
5861 // allocation, and %FALSE otherwise
5862 // RETURNS: %TRUE if the #ClutterCairoTexture should track the
5863 int get_auto_resize()() {
5864 return clutter_cairo_texture_get_auto_resize(&this);
5868 // Retrieves the surface width and height for @self.
5869 // <width>: return location for the surface width, or %NULL
5870 // <height>: return location for the surface height, or %NULL
5871 void get_surface_size()(/*out*/ uint* width
, /*out*/ uint* height
) {
5872 clutter_cairo_texture_get_surface_size(&this, width
, height
);
5876 // Invalidates the whole surface of a #ClutterCairoTexture.
5878 // This function will cause the #ClutterCairoTexture::draw signal
5881 // See also: clutter_cairo_texture_invalidate_rectangle()
5882 void invalidate()() {
5883 clutter_cairo_texture_invalidate(&this);
5887 // Invalidates a rectangular region of a #ClutterCairoTexture.
5889 // The invalidation will cause the #ClutterCairoTexture::draw signal
5892 // See also: clutter_cairo_texture_invalidate()
5893 // <rect>: a rectangle with the area to invalida, or %NULL to perform an unbounded invalidation
5894 void invalidate_rectangle()(cairo
.RectangleInt
* rect
=null) {
5895 clutter_cairo_texture_invalidate_rectangle(&this, rect
);
5899 // Sets whether the #ClutterCairoTexture should ensure that the
5900 // backing Cairo surface used matches the allocation assigned to
5901 // the actor. If the allocation changes, the contents of the
5902 // #ClutterCairoTexture will also be invalidated automatically.
5903 // <value>: %TRUE if the #ClutterCairoTexture should bind the surface size to the allocation
5904 void set_auto_resize()(int value
) {
5905 clutter_cairo_texture_set_auto_resize(&this, value
);
5909 // Resizes the Cairo surface used by @self to @width and @height.
5911 // This function will not invalidate the contents of the Cairo
5912 // texture: you will have to explicitly call either
5913 // clutter_cairo_texture_invalidate_rectangle() or
5914 // clutter_cairo_texture_invalidate().
5915 // <width>: the new width of the surface
5916 // <height>: the new height of the surface
5917 void set_surface_size()(uint width
, uint height
) {
5918 clutter_cairo_texture_set_surface_size(&this, width
, height
);
5922 // The ::create-surface signal is emitted when a #ClutterCairoTexture
5923 // news its surface (re)created, which happens either when the Cairo
5924 // context is created with clutter_cairo_texture_create() or
5925 // clutter_cairo_texture_create_region(), or when the surface is resized
5926 // through clutter_cairo_texture_set_surface_size().
5928 // The first signal handler that returns a non-%NULL, valid surface will
5929 // stop any further signal emission, and the returned surface will be
5931 // RETURNS: the newly created #cairo_surface_t for the texture
5932 // <width>: the width of the surface to create
5933 // <height>: the height of the surface to create
5934 extern (C
) alias static cairo
.Surface
* /*new*/ function (CairoTexture
* this_
, c_uint width
, c_uint height
, void* user_data
=null) signal_create_surface
;
5936 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5937 return super_
.signal_connect
!name(cb
, data
, cf
);
5940 ulong signal_connect(string name
:"create-surface", CB
:signal_create_surface
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5941 return signal_connect_data
!()(&this, cast(char*)"create-surface",
5942 cast(GObject2
.Callback
)cb
, data
, null, cf
);
5946 // The ::draw signal is emitted each time a #ClutterCairoTexture has
5947 // been invalidated.
5949 // The passed Cairo context passed will be clipped to the invalidated
5952 // It is safe to connect multiple callbacks to this signals; the state
5953 // of the Cairo context passed to each callback is automatically saved
5954 // and restored, so it's not necessary to call cairo_save() and
5958 // RETURNS: %TRUE if the signal emission should stop, and %FALSE
5959 // <cr>: the Cairo context to use to draw
5960 extern (C
) alias static c_int
function (CairoTexture
* this_
, cairo
.Context
* cr
, void* user_data
=null) signal_draw
;
5961 ulong signal_connect(string name
:"draw", CB
:signal_draw
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5962 return signal_connect_data
!()(&this, cast(char*)"draw",
5963 cast(GObject2
.Callback
)cb
, data
, null, cf
);
5967 // The #ClutterCairoTextureClass struct contains only private data.
5968 struct CairoTextureClass
/* Version 1.0 */ {
5969 private TextureClass parent_class
;
5970 extern (C
) cairo
.Surface
* /*new*/ function (CairoTexture
* texture
, uint width
, uint height
) create_surface
;
5971 extern (C
) int function (CairoTexture
* texture
, cairo
.Context
* cr
) draw
;
5972 extern (C
) void function () _clutter_cairo_3
;
5973 extern (C
) void function () _clutter_cairo_4
;
5976 struct CairoTexturePrivate
{
5979 enum int Calculator
= 269025053;
5980 enum int Calendar
= 269025056;
5983 // <actor>: a #ClutterActor
5984 // <data>: user data
5985 extern (C
) alias void function (Actor
* actor
, void* data
) Callback
;
5987 enum int Cancel
= 65385;
5988 enum int Caps_Lock
= 65509;
5989 enum int Ccaron
= 456;
5990 enum int Ccedilla
= 199;
5991 enum int Ccircumflex
= 710;
5993 // Base interface for container specific state for child actors. A child
5994 // data is meant to be used when you need to keep track of information
5995 // about each individual child added to a container.
5997 // In order to use it you should create your own subclass of
5998 // #ClutterChildMeta and set the #ClutterContainerIface child_meta_type
5999 // interface member to your subclass type, like:
6003 // my_container_iface_init (ClutterContainerIface *iface)
6005 // /* set the rest of the #ClutterContainer vtable */
6007 // container_iface->child_meta_type = MY_TYPE_CHILD_META;
6011 // This will automatically create a #ClutterChildMeta of type
6012 // MY_TYPE_CHILD_META for every actor that is added to the container.
6014 // The child data for an actor can be retrieved using the
6015 // clutter_container_get_child_meta() function.
6017 // The properties of the data and your subclass can be manipulated with
6018 // clutter_container_child_set() and clutter_container_child_get() which
6019 // act like g_object_set() and g_object_get().
6021 // You can provide hooks for your own storage as well as control the
6022 // instantiation by overriding the #ClutterContainerIface virtual functions
6023 // <function>create_child_meta</function>,
6024 // <function>destroy_child_meta</function>,
6025 // and <function>get_child_meta</function>.
6026 struct ChildMeta
/* : GObject.Object */ /* Version 0.8 */ {
6027 alias parent_instance
this;
6028 alias parent_instance super_
;
6029 alias parent_instance object
;
6030 GObject2
.Object parent_instance
;
6031 Container
* container
;
6036 // Retrieves the actor wrapped by @data
6037 // RETURNS: a #ClutterActor
6038 Actor
* get_actor()() {
6039 return clutter_child_meta_get_actor(&this);
6043 // Retrieves the container using @data
6044 // RETURNS: a #ClutterContainer
6045 Container
* get_container()() {
6046 return clutter_child_meta_get_container(&this);
6050 // The #ClutterChildMetaClass contains only private data
6051 struct ChildMetaClass
/* Version 0.8 */ {
6052 private GObject2
.ObjectClass parent_class
;
6055 enum int Clear
= 65291;
6056 enum int ClearGrab
= 269024801;
6058 // The <structname>ClutterClickAction</structname> structure contains
6059 // only private data and should be accessed using the provided API
6060 struct ClickAction
/* : Action */ /* Version 1.4 */ {
6061 alias parent_instance
this;
6062 alias parent_instance super_
;
6063 alias parent_instance action
;
6064 Action parent_instance
;
6065 private ClickActionPrivate
* priv
;
6069 // Creates a new #ClutterClickAction instance
6070 // RETURNS: the newly created #ClutterClickAction
6071 static ClickAction
* new_()() {
6072 return clutter_click_action_new();
6076 // Retrieves the button that was pressed.
6077 // RETURNS: the button value
6078 uint get_button()() {
6079 return clutter_click_action_get_button(&this);
6083 // Retrieves the screen coordinates of the button press.
6084 // <press_x>: return location for the X coordinate, or %NULL
6085 // <press_y>: return location for the Y coordinate, or %NULL
6086 void get_coords()(/*out*/ float* press_x
, /*out*/ float* press_y
) {
6087 clutter_click_action_get_coords(&this, press_x
, press_y
);
6091 // Retrieves the modifier state of the click action.
6092 // RETURNS: the modifier state parameter, or 0
6093 ModifierType
get_state()() {
6094 return clutter_click_action_get_state(&this);
6098 // Emulates a release of the pointer button, which ungrabs the pointer
6099 // and unsets the #ClutterClickAction:pressed state.
6101 // This function will also cancel the long press gesture if one was
6104 // This function is useful to break a grab, for instance after a certain
6105 // amount of time has passed.
6107 clutter_click_action_release(&this);
6111 // The ::clicked signal is emitted when the #ClutterActor to which
6112 // a #ClutterClickAction has been applied should respond to a
6113 // pointer button press and release events
6114 // <actor>: the #ClutterActor attached to the @action
6115 extern (C
) alias static void function (ClickAction
* this_
, Actor
* actor
, void* user_data
=null) signal_clicked
;
6117 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6118 return super_
.signal_connect
!name(cb
, data
, cf
);
6121 ulong signal_connect(string name
:"clicked", CB
:signal_clicked
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6122 return signal_connect_data
!()(&this, cast(char*)"clicked",
6123 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6127 // The ::long-press signal is emitted during the long press gesture
6130 // This signal can be emitted multiple times with different states.
6132 // The %CLUTTER_LONG_PRESS_QUERY state will be emitted on button presses,
6133 // and its return value will determine whether the long press handling
6134 // should be initiated. If the signal handlers will return %TRUE, the
6135 // %CLUTTER_LONG_PRESS_QUERY state will be followed either by a signal
6136 // emission with the %CLUTTER_LONG_PRESS_ACTIVATE state if the long press
6137 // constraints were respected, or by a signal emission with the
6138 // %CLUTTER_LONG_PRESS_CANCEL state if the long press was cancelled.
6140 // It is possible to forcibly cancel a long press detection using
6141 // clutter_click_action_release().
6143 // returned value of the handler; other states will ignore it
6144 // RETURNS: Only the %CLUTTER_LONG_PRESS_QUERY state uses the
6145 // <actor>: the #ClutterActor attached to the @action
6146 // <state>: the long press state
6147 extern (C
) alias static c_int
function (ClickAction
* this_
, Actor
* actor
, LongPressState
* state
, void* user_data
=null) signal_long_press
;
6148 ulong signal_connect(string name
:"long-press", CB
:signal_long_press
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6149 return signal_connect_data
!()(&this, cast(char*)"long-press",
6150 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6155 // The <structname>ClutterClickActionClass</structname> structure
6156 // contains only private data
6157 struct ClickActionClass
/* Version 1.4 */ {
6158 private ActionClass parent_class
;
6159 extern (C
) void function (ClickAction
* action
, Actor
* actor
) clicked
;
6160 extern (C
) int function (ClickAction
* action
, Actor
* actor
, LongPressState state
) long_press
;
6161 extern (C
) void function () _clutter_click_action1
;
6162 extern (C
) void function () _clutter_click_action2
;
6163 extern (C
) void function () _clutter_click_action3
;
6164 extern (C
) void function () _clutter_click_action4
;
6165 extern (C
) void function () _clutter_click_action5
;
6166 extern (C
) void function () _clutter_click_action6
;
6167 extern (C
) void function () _clutter_click_action7
;
6170 struct ClickActionPrivate
{
6174 // The #ClutterClone structure contains only private data
6175 // and should be accessed using the provided API
6176 struct Clone
/* : Actor */ /* Version 1.0 */ {
6177 mixin Atk
.ImplementorIface
.__interface__
;
6178 mixin Animatable
.__interface__
;
6179 mixin Scriptable
.__interface__
;
6180 alias parent_instance
this;
6181 alias parent_instance super_
;
6182 alias parent_instance actor
;
6183 Actor parent_instance
;
6184 private ClonePrivate
* priv
;
6188 // Creates a new #ClutterActor which clones @source/
6189 // RETURNS: the newly created #ClutterClone
6190 // <source>: a #ClutterActor, or %NULL
6191 static Clone
* new_()(Actor
* source
) {
6192 return clutter_clone_new(source
);
6196 // Retrieves the source #ClutterActor being cloned by @clone
6197 // RETURNS: the actor source for the clone
6198 Actor
* get_source()() {
6199 return clutter_clone_get_source(&this);
6203 // Sets @source as the source actor to be cloned by @clone.
6204 // <source>: a #ClutterActor, or %NULL
6205 void set_source()(Actor
* source
) {
6206 clutter_clone_set_source(&this, source
);
6210 // The #ClutterCloneClass structure contains only private data
6211 struct CloneClass
/* Version 1.0 */ {
6212 private ActorClass parent_class
;
6213 extern (C
) void function () _clutter_actor_clone1
;
6214 extern (C
) void function () _clutter_actor_clone2
;
6215 extern (C
) void function () _clutter_actor_clone3
;
6216 extern (C
) void function () _clutter_actor_clone4
;
6219 struct ClonePrivate
{
6222 enum int Close
= 269025110;
6223 enum int Codeinput
= 65335;
6224 enum int ColonSign
= 16785569;
6225 // Color representation.
6227 ubyte red
, green
, blue
, alpha
;
6231 // Creates a new #ClutterColor with the given values.
6233 // Use clutter_color_free() when done
6234 // RETURNS: the newly allocated color.
6235 // <red>: red component of the color, between 0 and 255
6236 // <green>: green component of the color, between 0 and 255
6237 // <blue>: blue component of the color, between 0 and 255
6238 // <alpha>: alpha component of the color, between 0 and 255
6239 static Color
* /*new*/ new_()(ubyte red
, ubyte green
, ubyte blue
, ubyte alpha
) {
6240 return clutter_color_new(red
, green
, blue
, alpha
);
6243 // Adds @a to @b and saves the resulting color inside @result.
6245 // The alpha channel of @result is set as as the maximum value
6246 // between the alpha channels of @a and @b.
6247 // <b>: a #ClutterColor
6248 // <result>: return location for the result
6249 void add()(Color
* b
, /*out*/ Color
* result
) {
6250 clutter_color_add(&this, b
, result
);
6254 // Makes a copy of the color structure. The result must be
6255 // freed using clutter_color_free().
6256 // RETURNS: an allocated copy of @color.
6257 Color
* /*new*/ copy()() {
6258 return clutter_color_copy(&this);
6261 // Darkens @color by a fixed amount, and saves the changed color
6263 // <result>: return location for the darker color
6264 void darken()(/*out*/ Color
* result
) {
6265 clutter_color_darken(&this, result
);
6269 // Frees a color structure created with clutter_color_copy().
6271 clutter_color_free(&this);
6274 // Converts a color expressed in HLS (hue, luminance and saturation)
6275 // values into a #ClutterColor.
6276 // <hue>: hue value, in the 0 .. 360 range
6277 // <luminance>: luminance value, in the 0 .. 1 range
6278 // <saturation>: saturation value, in the 0 .. 1 range
6279 void from_hls()(float hue
, float luminance
, float saturation
) {
6280 clutter_color_from_hls(&this, hue
, luminance
, saturation
);
6283 // Converts @pixel from the packed representation of a four 8 bit channel
6284 // color to a #ClutterColor.
6285 // <pixel>: a 32 bit packed integer containing a color
6286 void from_pixel()(uint pixel
) {
6287 clutter_color_from_pixel(&this, pixel
);
6291 // Parses a string definition of a color, filling the
6292 // <structfield>red</structfield>, <structfield>green</structfield>,
6293 // <structfield>blue</structfield> and <structfield>alpha</structfield>
6294 // channels of @color.
6296 // The @color is not allocated.
6298 // The format of @str can be either one of:
6302 // <para>a standard name (as taken from the X11 rgb.txt file)</para>
6305 // <para>an hexadecimal value in the form: <literal>#rgb</literal>,
6306 // <literal>#rrggbb</literal>, <literal>#rgba</literal> or
6307 // <literal>#rrggbbaa</literal></para>
6310 // <para>a RGB color in the form: <literal>rgb(r, g, b)</literal></para>
6313 // <para>a RGB color in the form: <literal>rgba(r, g, b, a)</literal></para>
6316 // <para>a HSL color in the form: <literal>hsl(h, s, l)</literal></para>
6319 // <para>a HSL color in the form: <literal>hsla(h, s, l, a)</literal></para>
6323 // where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color
6324 // intensities and the opacity. The 'h', 's' and 'l' are (respectively) the
6325 // hue, saturation and luminance values.
6327 // In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either
6328 // integers between 0 and 255, or percentage values in the range between 0%
6329 // and 100%; the percentages require the '%' character. The 'a' value, if
6330 // specified, can only be a floating point value between 0.0 and 1.0.
6332 // In the hls() and hlsa() formats, the 'h' value (hue) it's an angle between
6333 // 0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are
6334 // a floating point value between 0.0 and 1.0. The 'a' value, if specified,
6335 // can only be a floating point value between 0.0 and 1.0.
6337 // Whitespace inside the definitions is ignored; no leading whitespace
6340 // If the alpha component is not specified then it is assumed to be set to
6342 // RETURNS: %TRUE if parsing succeeded, and %FALSE otherwise
6343 // <str>: a string specifiying a color
6344 int from_string()(char* str) {
6345 return clutter_color_from_string(&this, str);
6349 // Interpolates between @initial and @final #ClutterColor<!-- -->s
6351 // <final>: the final #ClutterColor
6352 // <progress>: the interpolation progress
6353 // <result>: return location for the interpolation
6354 void interpolate()(Color
* final_
, double progress
, /*out*/ Color
* result
) {
6355 clutter_color_interpolate(&this, final_
, progress
, result
);
6358 // Lightens @color by a fixed amount, and saves the changed color
6360 // <result>: return location for the lighter color
6361 void lighten()(/*out*/ Color
* result
) {
6362 clutter_color_lighten(&this, result
);
6365 // Shades @color by @factor and saves the modified color into @result.
6366 // <factor>: the shade factor to apply
6367 // <result>: return location for the shaded color
6368 void shade()(double factor
, /*out*/ Color
* result
) {
6369 clutter_color_shade(&this, factor
, result
);
6372 // Subtracts @b from @a and saves the resulting color inside @result.
6374 // This function assumes that the components of @a are greater than the
6375 // components of @b; the result is, otherwise, undefined.
6377 // The alpha channel of @result is set as the minimum value
6378 // between the alpha channels of @a and @b.
6379 // <b>: a #ClutterColor
6380 // <result>: return location for the result
6381 void subtract()(Color
* b
, /*out*/ Color
* result
) {
6382 clutter_color_subtract(&this, b
, result
);
6385 // Converts @color to the HLS format.
6387 // The @hue value is in the 0 .. 360 range. The @luminance and
6388 // @saturation values are in the 0 .. 1 range.
6389 // <hue>: return location for the hue value or %NULL
6390 // <luminance>: return location for the luminance value or %NULL
6391 // <saturation>: return location for the saturation value or %NULL
6392 void to_hls()(/*out*/ float* hue
, /*out*/ float* luminance
, /*out*/ float* saturation
) {
6393 clutter_color_to_hls(&this, hue
, luminance
, saturation
);
6396 // Converts @color into a packed 32 bit integer, containing
6397 // all the four 8 bit channels used by #ClutterColor.
6398 // RETURNS: a packed color
6400 return clutter_color_to_pixel(&this);
6404 // Returns a textual specification of @color in the hexadecimal form
6405 // <literal>#rrggbbaa</literal>, where <literal>r</literal>,
6406 // <literal>g</literal>, <literal>b</literal> and <literal>a</literal> are
6407 // hexadecimal digits representing the red, green, blue and alpha components
6409 // RETURNS: a newly-allocated text string
6410 char* /*new*/ to_string()() {
6411 return clutter_color_to_string(&this);
6415 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
6417 // This function can be passed to g_hash_table_new() as the @key_equal_func
6418 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
6419 // RETURNS: %TRUE if the two colors are the same.
6420 // <v1>: a #ClutterColor
6421 // <v2>: a #ClutterColor
6422 static int equal()(const(void)* v1
, const(void)* v2
) {
6423 return clutter_color_equal(v1
, v2
);
6427 // Retrieves a static color for the given @color name
6429 // Static colors are created by Clutter and are guaranteed to always be
6430 // available and valid
6432 // is owned by Clutter and it should never be modified or freed
6433 // RETURNS: a pointer to a static color; the returned pointer
6434 // <color>: the named global color
6435 static Color
* get_static()(StaticColor color
) {
6436 return clutter_color_get_static(color
);
6440 // Converts a #ClutterColor to a hash value.
6442 // This function can be passed to g_hash_table_new() as the @hash_func
6443 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
6444 // RETURNS: a hash value corresponding to the color
6445 // <v>: a #ClutterColor
6446 static uint hash()(const(void)* v
) {
6447 return clutter_color_hash(v
);
6452 // <structname>ClutterColorizeEffect</structname> is an opaque structure
6453 // whose members cannot be directly accessed
6454 struct ColorizeEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
6455 alias method_parent
this;
6456 alias method_parent super_
;
6457 alias method_parent offscreeneffect
;
6458 OffscreenEffect method_parent
;
6462 // Creates a new #ClutterColorizeEffect to be used with
6463 // clutter_actor_add_effect()
6464 // RETURNS: the newly created #ClutterColorizeEffect or %NULL
6465 // <tint>: the color to be used
6466 static ColorizeEffect
* new_()(Color
* tint
) {
6467 return clutter_colorize_effect_new(tint
);
6471 // Retrieves the tint used by @effect
6472 // <tint>: return location for the color used
6473 void get_tint()(/*out*/ Color
* tint
) {
6474 clutter_colorize_effect_get_tint(&this, tint
);
6478 // Sets the tint to be used when colorizing
6479 // <tint>: the color to be used
6480 void set_tint()(Color
* tint
) {
6481 clutter_colorize_effect_set_tint(&this, tint
);
6485 struct ColorizeEffectClass
{
6488 enum int Community
= 269025085;
6490 // The <structname>ClutterConstraint</structname> structure contains only
6491 // private data and should be accessed using the provided API
6492 struct Constraint
/* : ActorMeta */ /* Version 1.4 */ {
6493 alias parent_instance
this;
6494 alias parent_instance super_
;
6495 alias parent_instance actormeta
;
6496 ActorMeta parent_instance
;
6500 // The <structname>ClutterConstraintClass</structname> structure contains
6501 // only private data
6502 struct ConstraintClass
/* Version 1.4 */ {
6503 private ActorMetaClass parent_class
;
6504 extern (C
) void function (Constraint
* constraint
, Actor
* actor
, ActorBox
* allocation
) update_allocation
;
6505 extern (C
) void function () _clutter_constraint1
;
6506 extern (C
) void function () _clutter_constraint2
;
6507 extern (C
) void function () _clutter_constraint3
;
6508 extern (C
) void function () _clutter_constraint4
;
6509 extern (C
) void function () _clutter_constraint5
;
6510 extern (C
) void function () _clutter_constraint6
;
6511 extern (C
) void function () _clutter_constraint7
;
6512 extern (C
) void function () _clutter_constraint8
;
6516 // #ClutterContainer is an opaque structure whose members cannot be directly
6518 struct Container
/* Interface */ /* Version 0.4 */ {
6519 mixin template __interface__() {
6521 // Looks up the #GParamSpec for a child property of @klass.
6523 // if no such property exist.
6524 // RETURNS: The #GParamSpec for the property or %NULL
6525 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
6526 // <property_name>: a property name.
6527 static GObject2
.ParamSpec
* class_find_child_property()(GObject2
.ObjectClass
* klass
, char* property_name
) {
6528 return clutter_container_class_find_child_property(klass
, property_name
);
6532 // Returns an array of #GParamSpec for all child properties.
6534 // of #GParamSpec<!-- -->s which should be freed after use.
6535 // RETURNS: an array
6536 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
6537 // <n_properties>: return location for length of returned array.
6538 static GObject2
.ParamSpec
** /*new*/ class_list_child_properties()(GObject2
.ObjectClass
* klass
, /*out*/ uint* n_properties
) {
6539 return clutter_container_class_list_child_properties(klass
, n_properties
);
6542 // Unintrospectable method: add() / clutter_container_add()
6544 // Adds a list of #ClutterActor<!-- -->s to @container. Each time and
6545 // actor is added, the "actor-added" signal is emitted. Each actor should
6546 // be parented to @container, which takes a reference on the actor. You
6547 // cannot add a #ClutterActor to more than one #ClutterContainer.
6548 // <first_actor>: the first #ClutterActor to add
6549 /+ Not available -- variadic methods unsupported - use the C function directly.
6550 alias clutter_container_add add; // Variadic
6554 // Adds a #ClutterActor to @container. This function will emit the
6555 // "actor-added" signal. The actor should be parented to
6556 // @container. You cannot add a #ClutterActor to more than one
6557 // #ClutterContainer.
6558 // <actor>: the first #ClutterActor to add
6559 void add_actor()(Actor
* actor
) {
6560 clutter_container_add_actor(cast(Container
*)&this, actor
);
6563 // Unintrospectable method: add_valist() / clutter_container_add_valist()
6565 // Alternative va_list version of clutter_container_add().
6566 // <first_actor>: the first #ClutterActor to add
6567 // <var_args>: list of actors to add, followed by %NULL
6568 void add_valist()(Actor
* first_actor
, va_list var_args
) {
6569 clutter_container_add_valist(cast(Container
*)&this, first_actor
, var_args
);
6572 // Unintrospectable method: child_get() / clutter_container_child_get()
6574 // Gets @container specific properties of an actor.
6576 // In general, a copy is made of the property contents and the caller is
6577 // responsible for freeing the memory in the appropriate manner for the type, for
6578 // instance by calling g_free() or g_object_unref().
6579 // <actor>: a #ClutterActor that is a child of @container.
6580 // <first_prop>: name of the first property to be set.
6581 /+ Not available -- variadic methods unsupported - use the C function directly.
6582 alias clutter_container_child_get child_get; // Variadic
6586 // Gets a container specific property of a child of @container, In general,
6587 // a copy is made of the property contents and the caller is responsible for
6588 // freeing the memory by calling g_value_unset().
6590 // Note that clutter_container_child_set_property() is really intended for
6591 // language bindings, clutter_container_child_set() is much more convenient
6592 // for C programming.
6593 // <child>: a #ClutterActor that is a child of @container.
6594 // <property>: the name of the property to set.
6595 // <value>: the value.
6596 void child_get_property()(Actor
* child
, char* property
, GObject2
.Value
* value
) {
6597 clutter_container_child_get_property(cast(Container
*)&this, child
, property
, value
);
6601 // Calls the <function>child_notify()</function> virtual function of
6602 // #ClutterContainer. The default implementation will emit the
6603 // #ClutterContainer::child-notify signal.
6604 // <child>: a #ClutterActor
6605 // <pspec>: a #GParamSpec
6606 void child_notify()(Actor
* child
, GObject2
.ParamSpec
* pspec
) {
6607 clutter_container_child_notify(cast(Container
*)&this, child
, pspec
);
6610 // Unintrospectable method: child_set() / clutter_container_child_set()
6612 // Sets container specific properties on the child of a container.
6613 // <actor>: a #ClutterActor that is a child of @container.
6614 // <first_prop>: name of the first property to be set.
6615 /+ Not available -- variadic methods unsupported - use the C function directly.
6616 alias clutter_container_child_set child_set; // Variadic
6620 // Sets a container-specific property on a child of @container.
6621 // <child>: a #ClutterActor that is a child of @container.
6622 // <property>: the name of the property to set.
6623 // <value>: the value.
6624 void child_set_property()(Actor
* child
, char* property
, GObject2
.Value
* value
) {
6625 clutter_container_child_set_property(cast(Container
*)&this, child
, property
, value
);
6629 // Creates the #ClutterChildMeta wrapping @actor inside the
6630 // @container, if the #ClutterContainerIface::child_meta_type
6631 // class member is not set to %G_TYPE_INVALID.
6633 // This function is only useful when adding a #ClutterActor to
6634 // a #ClutterContainer implementation outside of the
6635 // #ClutterContainer::add() virtual function implementation.
6637 // Applications should not call this function.
6638 // <actor>: a #ClutterActor
6639 void create_child_meta()(Actor
* actor
) {
6640 clutter_container_create_child_meta(cast(Container
*)&this, actor
);
6644 // Destroys the #ClutterChildMeta wrapping @actor inside the
6645 // @container, if any.
6647 // This function is only useful when removing a #ClutterActor to
6648 // a #ClutterContainer implementation outside of the
6649 // #ClutterContainer::add() virtual function implementation.
6651 // Applications should not call this function.
6652 // <actor>: a #ClutterActor
6653 void destroy_child_meta()(Actor
* actor
) {
6654 clutter_container_destroy_child_meta(cast(Container
*)&this, actor
);
6658 // Finds a child actor of a container by its name. Search recurses
6659 // into any child container.
6661 // or %NULL if no actor with that name was found.
6662 // RETURNS: The child actor with the requested name,
6663 // <child_name>: the name of the requested child.
6664 Actor
* find_child_by_name()(char* child_name
) {
6665 return clutter_container_find_child_by_name(cast(Container
*)&this, child_name
);
6669 // Calls @callback for each child of @container that was added
6670 // by the application (with clutter_container_add_actor()). Does
6671 // not iterate over "internal" children that are part of the
6672 // container's own implementation, if any.
6673 // <callback>: a function to be called for each child
6674 // <user_data>: data to be passed to the function, or %NULL
6675 void foreach_()(Callback callback
, void* user_data
) {
6676 clutter_container_foreach(cast(Container
*)&this, callback
, user_data
);
6680 // Calls @callback for each child of @container, including "internal"
6681 // children built in to the container itself that were never added
6682 // by the application.
6683 // <callback>: a function to be called for each child
6684 // <user_data>: data to be passed to the function, or %NULL
6685 void foreach_with_internals()(Callback callback
, void* user_data
) {
6686 clutter_container_foreach_with_internals(cast(Container
*)&this, callback
, user_data
);
6690 // Retrieves the #ClutterChildMeta which contains the data about the
6691 // @container specific state for @actor.
6693 // of @container or %NULL if the specifiec actor does not exist or the
6694 // container is not configured to provide #ClutterChildMeta<!-- -->s
6695 // RETURNS: the #ClutterChildMeta for the @actor child
6696 // <actor>: a #ClutterActor that is a child of @container.
6697 ChildMeta
* get_child_meta()(Actor
* actor
) {
6698 return clutter_container_get_child_meta(cast(Container
*)&this, actor
);
6702 // Retrieves all the children of @container.
6704 // of #ClutterActor<!-- -->s. Use g_list_free() on the returned
6707 GLib2
.List
* /*new container*/ get_children()() {
6708 return clutter_container_get_children(cast(Container
*)&this);
6712 // Lowers @actor to @sibling level, in the depth ordering.
6713 // <actor>: the actor to raise
6714 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
6715 void lower_child()(Actor
* actor
, Actor
* sibling
=null) {
6716 clutter_container_lower_child(cast(Container
*)&this, actor
, sibling
);
6720 // Raises @actor to @sibling level, in the depth ordering.
6721 // <actor>: the actor to raise
6722 // <sibling>: the sibling to raise to, or %NULL to raise to the top
6723 void raise_child()(Actor
* actor
, Actor
* sibling
=null) {
6724 clutter_container_raise_child(cast(Container
*)&this, actor
, sibling
);
6727 // Unintrospectable method: remove() / clutter_container_remove()
6729 // Removes a %NULL terminated list of #ClutterActor<!-- -->s from
6730 // @container. Each actor should be unparented, so if you want to keep it
6731 // around you must hold a reference to it yourself, using g_object_ref().
6732 // Each time an actor is removed, the "actor-removed" signal is
6733 // emitted by @container.
6734 // <first_actor>: first #ClutterActor to remove
6735 /+ Not available -- variadic methods unsupported - use the C function directly.
6736 alias clutter_container_remove remove; // Variadic
6740 // Removes @actor from @container. The actor should be unparented, so
6741 // if you want to keep it around you must hold a reference to it
6742 // yourself, using g_object_ref(). When the actor has been removed,
6743 // the "actor-removed" signal is emitted by @container.
6744 // <actor>: a #ClutterActor
6745 void remove_actor()(Actor
* actor
) {
6746 clutter_container_remove_actor(cast(Container
*)&this, actor
);
6749 // Unintrospectable method: remove_valist() / clutter_container_remove_valist()
6751 // Alternative va_list version of clutter_container_remove().
6752 // <first_actor>: the first #ClutterActor to add
6753 // <var_args>: list of actors to remove, followed by %NULL
6754 void remove_valist()(Actor
* first_actor
, va_list var_args
) {
6755 clutter_container_remove_valist(cast(Container
*)&this, first_actor
, var_args
);
6759 // Sorts a container's children using their depth. This function should not
6760 // be normally used by applications.
6761 void sort_depth_order()() {
6762 clutter_container_sort_depth_order(cast(Container
*)&this);
6766 // The ::actor-added signal is emitted each time an actor
6767 // has been added to @container.
6768 // <actor>: the new child that has been added to @container
6769 extern (C
) alias static void function (Container
* this_
, Actor
* actor
, void* user_data
=null) signal_actor_added
;
6771 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6772 return super_
.signal_connect
!name(cb
, data
, cf
);
6775 ulong signal_connect(string name
:"actor-added", CB
:signal_actor_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6776 return signal_connect_data
!()(&this, cast(char*)"actor-added",
6777 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6781 // The ::actor-removed signal is emitted each time an actor
6782 // is removed from @container.
6783 // <actor>: the child that has been removed from @container
6784 extern (C
) alias static void function (Container
* this_
, Actor
* actor
, void* user_data
=null) signal_actor_removed
;
6785 ulong signal_connect(string name
:"actor-removed", CB
:signal_actor_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6786 return signal_connect_data
!()(&this, cast(char*)"actor-removed",
6787 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6791 // The ::child-notify signal is emitted each time a property is
6792 // being set through the clutter_container_child_set() and
6793 // clutter_container_child_set_property() calls.
6794 // <actor>: the child that has had a property set
6795 // <pspec>: the #GParamSpec of the property set
6796 extern (C
) alias static void function (Container
* this_
, Actor
* actor
, GObject2
.ParamSpec
* pspec
, void* user_data
=null) signal_child_notify
;
6797 ulong signal_connect(string name
:"child-notify", CB
:signal_child_notify
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6798 return signal_connect_data
!()(&this, cast(char*)"child-notify",
6799 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6802 mixin __interface__
;
6806 // Base interface for container actors. The @add, @remove and @foreach
6807 // virtual functions must be provided by any implementation; the other
6808 // virtual functions are optional.
6809 struct ContainerIface
/* Version 0.4 */ {
6810 private GObject2
.TypeInterface g_iface
;
6811 // <actor>: the first #ClutterActor to add
6812 extern (C
) void function (Container
* container
, Actor
* actor
) add;
6813 // <actor>: a #ClutterActor
6814 extern (C
) void function (Container
* container
, Actor
* actor
) remove
;
6816 // <callback>: a function to be called for each child
6817 // <user_data>: data to be passed to the function, or %NULL
6818 extern (C
) void function (Container
* container
, Callback callback
, void* user_data
) foreach_
;
6820 // <callback>: a function to be called for each child
6821 // <user_data>: data to be passed to the function, or %NULL
6822 extern (C
) void function (Container
* container
, Callback callback
, void* user_data
) foreach_with_internals
;
6824 // <actor>: the actor to raise
6825 // <sibling>: the sibling to raise to, or %NULL to raise to the top
6826 extern (C
) void function (Container
* container
, Actor
* actor
, Actor
* sibling
=null) raise
;
6828 // <actor>: the actor to raise
6829 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
6830 extern (C
) void function (Container
* container
, Actor
* actor
, Actor
* sibling
=null) lower
;
6831 extern (C
) void function (Container
* container
) sort_depth_order
;
6832 Type child_meta_type
;
6833 // <actor>: a #ClutterActor
6834 extern (C
) void function (Container
* container
, Actor
* actor
) create_child_meta
;
6835 // <actor>: a #ClutterActor
6836 extern (C
) void function (Container
* container
, Actor
* actor
) destroy_child_meta
;
6838 // RETURNS: the #ClutterChildMeta for the @actor child
6839 // <actor>: a #ClutterActor that is a child of @container.
6840 extern (C
) ChildMeta
* function (Container
* container
, Actor
* actor
) get_child_meta
;
6841 extern (C
) void function (Container
* container
, Actor
* actor
) actor_added
;
6842 extern (C
) void function (Container
* container
, Actor
* actor
) actor_removed
;
6844 // <child>: a #ClutterActor
6845 // <pspec>: a #GParamSpec
6846 extern (C
) void function (Container
* container
, Actor
* child
, GObject2
.ParamSpec
* pspec
) child_notify
;
6849 enum int ContrastAdjust
= 269025058;
6850 enum int Control_L
= 65507;
6851 enum int Control_R
= 65508;
6852 enum int Copy
= 269025111;
6853 // Event for the movement of the pointer across different actors
6854 struct CrossingEvent
/* Version 0.2 */ {
6861 InputDevice
* device
;
6865 enum int CruzeiroSign
= 16785570;
6866 enum int Cut
= 269025112;
6867 enum int CycleAngle
= 269025180;
6868 enum int Cyrillic_A
= 1761;
6869 enum int Cyrillic_BE
= 1762;
6870 enum int Cyrillic_CHE
= 1790;
6871 enum int Cyrillic_CHE_descender
= 16778422;
6872 enum int Cyrillic_CHE_vertstroke
= 16778424;
6873 enum int Cyrillic_DE
= 1764;
6874 enum int Cyrillic_DZHE
= 1727;
6875 enum int Cyrillic_E
= 1788;
6876 enum int Cyrillic_EF
= 1766;
6877 enum int Cyrillic_EL
= 1772;
6878 enum int Cyrillic_EM
= 1773;
6879 enum int Cyrillic_EN
= 1774;
6880 enum int Cyrillic_EN_descender
= 16778402;
6881 enum int Cyrillic_ER
= 1778;
6882 enum int Cyrillic_ES
= 1779;
6883 enum int Cyrillic_GHE
= 1767;
6884 enum int Cyrillic_GHE_bar
= 16778386;
6885 enum int Cyrillic_HA
= 1768;
6886 enum int Cyrillic_HARDSIGN
= 1791;
6887 enum int Cyrillic_HA_descender
= 16778418;
6888 enum int Cyrillic_I
= 1769;
6889 enum int Cyrillic_IE
= 1765;
6890 enum int Cyrillic_IO
= 1715;
6891 enum int Cyrillic_I_macron
= 16778466;
6892 enum int Cyrillic_JE
= 1720;
6893 enum int Cyrillic_KA
= 1771;
6894 enum int Cyrillic_KA_descender
= 16778394;
6895 enum int Cyrillic_KA_vertstroke
= 16778396;
6896 enum int Cyrillic_LJE
= 1721;
6897 enum int Cyrillic_NJE
= 1722;
6898 enum int Cyrillic_O
= 1775;
6899 enum int Cyrillic_O_bar
= 16778472;
6900 enum int Cyrillic_PE
= 1776;
6901 enum int Cyrillic_SCHWA
= 16778456;
6902 enum int Cyrillic_SHA
= 1787;
6903 enum int Cyrillic_SHCHA
= 1789;
6904 enum int Cyrillic_SHHA
= 16778426;
6905 enum int Cyrillic_SHORTI
= 1770;
6906 enum int Cyrillic_SOFTSIGN
= 1784;
6907 enum int Cyrillic_TE
= 1780;
6908 enum int Cyrillic_TSE
= 1763;
6909 enum int Cyrillic_U
= 1781;
6910 enum int Cyrillic_U_macron
= 16778478;
6911 enum int Cyrillic_U_straight
= 16778414;
6912 enum int Cyrillic_U_straight_bar
= 16778416;
6913 enum int Cyrillic_VE
= 1783;
6914 enum int Cyrillic_YA
= 1777;
6915 enum int Cyrillic_YERU
= 1785;
6916 enum int Cyrillic_YU
= 1760;
6917 enum int Cyrillic_ZE
= 1786;
6918 enum int Cyrillic_ZHE
= 1782;
6919 enum int Cyrillic_ZHE_descender
= 16778390;
6920 enum int Cyrillic_a
= 1729;
6921 enum int Cyrillic_be
= 1730;
6922 enum int Cyrillic_che
= 1758;
6923 enum int Cyrillic_che_descender
= 16778423;
6924 enum int Cyrillic_che_vertstroke
= 16778425;
6925 enum int Cyrillic_de
= 1732;
6926 enum int Cyrillic_dzhe
= 1711;
6927 enum int Cyrillic_e
= 1756;
6928 enum int Cyrillic_ef
= 1734;
6929 enum int Cyrillic_el
= 1740;
6930 enum int Cyrillic_em
= 1741;
6931 enum int Cyrillic_en
= 1742;
6932 enum int Cyrillic_en_descender
= 16778403;
6933 enum int Cyrillic_er
= 1746;
6934 enum int Cyrillic_es
= 1747;
6935 enum int Cyrillic_ghe
= 1735;
6936 enum int Cyrillic_ghe_bar
= 16778387;
6937 enum int Cyrillic_ha
= 1736;
6938 enum int Cyrillic_ha_descender
= 16778419;
6939 enum int Cyrillic_hardsign
= 1759;
6940 enum int Cyrillic_i
= 1737;
6941 enum int Cyrillic_i_macron
= 16778467;
6942 enum int Cyrillic_ie
= 1733;
6943 enum int Cyrillic_io
= 1699;
6944 enum int Cyrillic_je
= 1704;
6945 enum int Cyrillic_ka
= 1739;
6946 enum int Cyrillic_ka_descender
= 16778395;
6947 enum int Cyrillic_ka_vertstroke
= 16778397;
6948 enum int Cyrillic_lje
= 1705;
6949 enum int Cyrillic_nje
= 1706;
6950 enum int Cyrillic_o
= 1743;
6951 enum int Cyrillic_o_bar
= 16778473;
6952 enum int Cyrillic_pe
= 1744;
6953 enum int Cyrillic_schwa
= 16778457;
6954 enum int Cyrillic_sha
= 1755;
6955 enum int Cyrillic_shcha
= 1757;
6956 enum int Cyrillic_shha
= 16778427;
6957 enum int Cyrillic_shorti
= 1738;
6958 enum int Cyrillic_softsign
= 1752;
6959 enum int Cyrillic_te
= 1748;
6960 enum int Cyrillic_tse
= 1731;
6961 enum int Cyrillic_u
= 1749;
6962 enum int Cyrillic_u_macron
= 16778479;
6963 enum int Cyrillic_u_straight
= 16778415;
6964 enum int Cyrillic_u_straight_bar
= 16778417;
6965 enum int Cyrillic_ve
= 1751;
6966 enum int Cyrillic_ya
= 1745;
6967 enum int Cyrillic_yeru
= 1753;
6968 enum int Cyrillic_yu
= 1728;
6969 enum int Cyrillic_ze
= 1754;
6970 enum int Cyrillic_zhe
= 1750;
6971 enum int Cyrillic_zhe_descender
= 16778391;
6973 enum int DOS
= 269025114;
6974 enum int Dabovedot
= 16784906;
6975 enum int Dcaron
= 463;
6977 // The <structname>ClutterDeformEffect</structname> structure contains
6978 // only private data and should be accessed using the provided API
6979 struct DeformEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
6980 alias parent_instance
this;
6981 alias parent_instance super_
;
6982 alias parent_instance offscreeneffect
;
6983 OffscreenEffect parent_instance
;
6984 private DeformEffectPrivate
* priv
;
6988 // Retrieves the handle to the back face material used by @effect
6990 // The returned material is owned by the #ClutterDeformEffect and it
6991 // should not be freed directly
6992 // RETURNS: a handle for the material, or %NULL.
6993 Cogl
.Handle
get_back_material()() {
6994 return clutter_deform_effect_get_back_material(&this);
6998 // Retrieves the number of horizontal and vertical tiles used to sub-divide
6999 // the actor's geometry during the effect
7000 // <x_tiles>: return location for the number of horizontal tiles, or %NULL
7001 // <y_tiles>: return location for the number of vertical tiles, or %NULL
7002 void get_n_tiles()(/*out*/ uint* x_tiles
, /*out*/ uint* y_tiles
) {
7003 clutter_deform_effect_get_n_tiles(&this, x_tiles
, y_tiles
);
7007 // Invalidates the @effect<!-- -->'s vertices and, if it is associated
7008 // to an actor, it will queue a redraw
7009 void invalidate()() {
7010 clutter_deform_effect_invalidate(&this);
7014 // Sets the material that should be used when drawing the back face
7015 // of the actor during a deformation
7017 // The #ClutterDeformEffect will take a reference on the material's
7019 // <material>: a handle to a Cogl material
7020 void set_back_material()(Cogl
.Handle material
=null) {
7021 clutter_deform_effect_set_back_material(&this, material
);
7025 // Sets the number of horizontal and vertical tiles to be used
7026 // when applying the effect
7028 // More tiles allow a finer grained deformation at the expenses
7030 // <x_tiles>: number of horizontal tiles
7031 // <y_tiles>: number of vertical tiles
7032 void set_n_tiles()(uint x_tiles
, uint y_tiles
) {
7033 clutter_deform_effect_set_n_tiles(&this, x_tiles
, y_tiles
);
7038 // The <structname>ClutterDeformEffectClass</structname> structure contains
7039 // only private data
7040 struct DeformEffectClass
/* Version 1.4 */ {
7041 private OffscreenEffectClass parent_class
;
7042 extern (C
) void function (DeformEffect
* effect
, float width
, float height
, Cogl
.TextureVertex
* vertex
) deform_vertex
;
7043 extern (C
) void function () _clutter_deform1
;
7044 extern (C
) void function () _clutter_deform2
;
7045 extern (C
) void function () _clutter_deform3
;
7046 extern (C
) void function () _clutter_deform4
;
7047 extern (C
) void function () _clutter_deform5
;
7048 extern (C
) void function () _clutter_deform6
;
7049 extern (C
) void function () _clutter_deform7
;
7052 struct DeformEffectPrivate
{
7055 enum int Delete
= 65535;
7057 // <structname>ClutterDesaturateEffect</structname> is an opaque structure
7058 // whose members cannot be directly accessed
7059 struct DesaturateEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
7060 alias method_parent
this;
7061 alias method_parent super_
;
7062 alias method_parent offscreeneffect
;
7063 OffscreenEffect method_parent
;
7067 // Creates a new #ClutterDesaturateEffect to be used with
7068 // clutter_actor_add_effect()
7069 // RETURNS: the newly created #ClutterDesaturateEffect or %NULL
7070 // <factor>: the desaturation factor, between 0.0 and 1.0
7071 static DesaturateEffect
* new_()(double factor
) {
7072 return clutter_desaturate_effect_new(factor
);
7076 // Retrieves the desaturation factor of @effect
7077 // RETURNS: the desaturation factor
7078 double get_factor()() {
7079 return clutter_desaturate_effect_get_factor(&this);
7083 // Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
7084 // and 1.0 being "fully desaturate"
7085 // <factor>: the desaturation factor, between 0.0 and 1.0
7086 void set_factor()(double factor
) {
7087 clutter_desaturate_effect_set_factor(&this, factor
);
7091 struct DesaturateEffectClass
{
7094 // The #ClutterDeviceManager structure contains only private data
7095 struct DeviceManager
/* : GObject.Object */ /* Version 1.2 */ {
7096 alias parent_instance
this;
7097 alias parent_instance super_
;
7098 alias parent_instance object
;
7099 GObject2
.Object parent_instance
;
7100 private DeviceManagerPrivate
* priv
;
7104 // Retrieves the device manager singleton
7106 // The returned instance is owned by Clutter and it should not be
7107 // modified or freed
7108 // RETURNS: the #ClutterDeviceManager singleton.
7109 static DeviceManager
* get_default()() {
7110 return clutter_device_manager_get_default();
7114 // Retrieves the core #ClutterInputDevice of type @device_type
7116 // Core devices are devices created automatically by the default
7119 // returned device is owned by the #ClutterDeviceManager and should
7120 // not be modified or freed
7121 // RETURNS: a #ClutterInputDevice or %NULL. The
7122 // <device_type>: the type of the core device
7123 InputDevice
* get_core_device()(InputDeviceType device_type
) {
7124 return clutter_device_manager_get_core_device(&this, device_type
);
7128 // Retrieves the #ClutterInputDevice with the given @device_id
7130 // returned device is owned by the #ClutterDeviceManager and should
7131 // never be modified or freed
7132 // RETURNS: a #ClutterInputDevice or %NULL. The
7133 // <device_id>: the integer id of a device
7134 InputDevice
* get_device()(int device_id
) {
7135 return clutter_device_manager_get_device(&this, device_id
);
7139 // Lists all currently registered input devices
7141 // a newly allocated list of #ClutterInputDevice objects. Use
7142 // g_slist_free() to deallocate it when done
7143 GLib2
.SList
* /*new container*/ list_devices()() {
7144 return clutter_device_manager_list_devices(&this);
7148 // Lists all currently registered input devices
7150 // a pointer to the internal list of #ClutterInputDevice objects. The
7151 // returned list is owned by the #ClutterDeviceManager and should never
7152 // be modified or freed
7153 GLib2
.SList
* peek_devices()() {
7154 return clutter_device_manager_peek_devices(&this);
7158 // The ::device-added signal is emitted each time a device has been
7159 // added to the #ClutterDeviceManager
7160 // <device>: the newly added #ClutterInputDevice
7161 extern (C
) alias static void function (DeviceManager
* this_
, InputDevice
* device
, void* user_data
=null) signal_device_added
;
7163 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7164 return super_
.signal_connect
!name(cb
, data
, cf
);
7167 ulong signal_connect(string name
:"device-added", CB
:signal_device_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7168 return signal_connect_data
!()(&this, cast(char*)"device-added",
7169 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7173 // The ::device-removed signal is emitted each time a device has been
7174 // removed from the #ClutterDeviceManager
7175 // <device>: the removed #ClutterInputDevice
7176 extern (C
) alias static void function (DeviceManager
* this_
, InputDevice
* device
, void* user_data
=null) signal_device_removed
;
7177 ulong signal_connect(string name
:"device-removed", CB
:signal_device_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7178 return signal_connect_data
!()(&this, cast(char*)"device-removed",
7179 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7183 // The #ClutterDeviceManagerClass structure contains only private data
7184 struct DeviceManagerClass
/* Version 1.2 */ {
7185 private GObject2
.ObjectClass parent_class
;
7186 // Unintrospectable functionp: get_devices() / ()
7187 extern (C
) GLib2
.SList
* function (DeviceManager
* device_manager
) get_devices
;
7189 // RETURNS: a #ClutterInputDevice or %NULL. The
7190 // <device_type>: the type of the core device
7191 extern (C
) InputDevice
* function (DeviceManager
* device_manager
, InputDeviceType device_type
) get_core_device
;
7193 // RETURNS: a #ClutterInputDevice or %NULL. The
7194 // <device_id>: the integer id of a device
7195 extern (C
) InputDevice
* function (DeviceManager
* device_manager
, int device_id
) get_device
;
7196 extern (C
) void function (DeviceManager
* manager
, InputDevice
* device
) add_device
;
7197 extern (C
) void function (DeviceManager
* manager
, InputDevice
* device
) remove_device
;
7198 private void*[8] _padding
;
7201 struct DeviceManagerPrivate
{
7204 enum int Display
= 269025113;
7205 enum int Documents
= 269025115;
7206 enum int DongSign
= 16785579;
7207 enum int Down
= 65364;
7209 // The <structname>ClutterDragAction</structname> structure contains only
7210 // private data and should be accessed using the provided API
7211 struct DragAction
/* : Action */ /* Version 1.4 */ {
7212 alias parent_instance
this;
7213 alias parent_instance super_
;
7214 alias parent_instance action
;
7215 Action parent_instance
;
7216 private DragActionPrivate
* priv
;
7220 // Creates a new #ClutterDragAction instance
7221 // RETURNS: the newly created #ClutterDragAction
7222 static DragAction
* new_()() {
7223 return clutter_drag_action_new();
7227 // Retrieves the axis constraint set by clutter_drag_action_set_drag_axis()
7228 // RETURNS: the axis constraint
7229 DragAxis
get_drag_axis()() {
7230 return clutter_drag_action_get_drag_axis(&this);
7234 // Retrieves the drag handle set by clutter_drag_action_set_drag_handle()
7236 // handle, or %NULL if none was set
7237 // RETURNS: a #ClutterActor, used as the drag
7238 Actor
* get_drag_handle()() {
7239 return clutter_drag_action_get_drag_handle(&this);
7243 // Retrieves the values set by clutter_drag_action_set_drag_threshold().
7245 // If the #ClutterDragAction:x-drag-threshold property or the
7246 // #ClutterDragAction:y-drag-threshold property have been set to -1 then
7247 // this function will return the default drag threshold value as stored
7248 // by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
7249 // <x_threshold>: return location for the horizontal drag threshold value, in pixels
7250 // <y_threshold>: return location for the vertical drag threshold value, in pixels
7251 void get_drag_threshold()(/*out*/ uint* x_threshold
, /*out*/ uint* y_threshold
) {
7252 clutter_drag_action_get_drag_threshold(&this, x_threshold
, y_threshold
);
7256 // Retrieves the coordinates, in stage space, of the latest motion
7257 // event during the dragging
7258 // <motion_x>: return location for the latest motion event's X coordinate
7259 // <motion_y>: return location for the latest motion event's Y coordinate
7260 void get_motion_coords()(/*out*/ float* motion_x
, /*out*/ float* motion_y
) {
7261 clutter_drag_action_get_motion_coords(&this, motion_x
, motion_y
);
7265 // Retrieves the coordinates, in stage space, of the press event
7266 // that started the dragging
7267 // <press_x>: return location for the press event's X coordinate
7268 // <press_y>: return location for the press event's Y coordinate
7269 void get_press_coords()(/*out*/ float* press_x
, /*out*/ float* press_y
) {
7270 clutter_drag_action_get_press_coords(&this, press_x
, press_y
);
7274 // Restricts the dragging action to a specific axis
7275 // <axis>: the axis to constraint the dragging to
7276 void set_drag_axis()(DragAxis axis
) {
7277 clutter_drag_action_set_drag_axis(&this, axis
);
7281 // Sets the actor to be used as the drag handle.
7282 // <handle>: a #ClutterActor, or %NULL to unset
7283 void set_drag_handle()(Actor
* handle
=null) {
7284 clutter_drag_action_set_drag_handle(&this, handle
);
7288 // Sets the horizontal and vertical drag thresholds that must be
7289 // cleared by the pointer before @action can begin the dragging.
7291 // If @x_threshold or @y_threshold are set to -1 then the default
7292 // drag threshold stored in the #ClutterSettings:dnd-drag-threshold
7293 // property of #ClutterSettings will be used.
7294 // <x_threshold>: a distance on the horizontal axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
7295 // <y_threshold>: a distance on the vertical axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
7296 void set_drag_threshold()(int x_threshold
, int y_threshold
) {
7297 clutter_drag_action_set_drag_threshold(&this, x_threshold
, y_threshold
);
7301 // The ::drag-begin signal is emitted when the #ClutterDragAction
7302 // starts the dragging
7304 // The emission of this signal can be delayed by using the
7305 // #ClutterDragAction:x-drag-threshold and
7306 // #ClutterDragAction:y-drag-threshold properties
7307 // <actor>: the #ClutterActor attached to the action
7308 // <event_x>: the X coordinate (in stage space) of the press event
7309 // <event_y>: the Y coordinate (in stage space) of the press event
7310 // <modifiers>: the modifiers of the press event
7311 extern (C
) alias static void function (DragAction
* this_
, Actor
* actor
, float event_x
, float event_y
, ModifierType
* modifiers
, void* user_data
=null) signal_drag_begin
;
7313 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7314 return super_
.signal_connect
!name(cb
, data
, cf
);
7317 ulong signal_connect(string name
:"drag-begin", CB
:signal_drag_begin
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7318 return signal_connect_data
!()(&this, cast(char*)"drag-begin",
7319 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7323 // The ::drag-end signal is emitted at the end of the dragging,
7324 // when the pointer button's is released
7326 // This signal is emitted if and only if the #ClutterDragAction::drag-begin
7327 // signal has been emitted first
7328 // <actor>: the #ClutterActor attached to the action
7329 // <event_x>: the X coordinate (in stage space) of the release event
7330 // <event_y>: the Y coordinate (in stage space) of the release event
7331 // <modifiers>: the modifiers of the release event
7332 extern (C
) alias static void function (DragAction
* this_
, Actor
* actor
, float event_x
, float event_y
, ModifierType
* modifiers
, void* user_data
=null) signal_drag_end
;
7333 ulong signal_connect(string name
:"drag-end", CB
:signal_drag_end
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7334 return signal_connect_data
!()(&this, cast(char*)"drag-end",
7335 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7339 // The ::drag-motion signal is emitted for each motion event after
7340 // the #ClutterDragAction::drag-begin signal has been emitted.
7342 // The components of the distance between the press event and the
7343 // latest motion event are computed in the actor's coordinate space,
7344 // to take into account eventual transformations. If you want the
7345 // stage coordinates of the latest motion event you can use
7346 // clutter_drag_action_get_motion_coords().
7348 // The default handler of the signal will call clutter_actor_move_by()
7349 // either on @actor or, if set, of #ClutterDragAction:drag-handle using
7350 // the @delta_x and @delta_y components of the dragging motion. If you
7351 // want to override the default behaviour, you can connect to this
7352 // signal and call g_signal_stop_emission_by_name() from within your
7354 // <actor>: the #ClutterActor attached to the action
7355 // <delta_x>: the X component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
7356 // <delta_y>: the Y component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
7357 extern (C
) alias static void function (DragAction
* this_
, Actor
* actor
, float delta_x
, float delta_y
, void* user_data
=null) signal_drag_motion
;
7358 ulong signal_connect(string name
:"drag-motion", CB
:signal_drag_motion
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7359 return signal_connect_data
!()(&this, cast(char*)"drag-motion",
7360 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7365 // The <structname>ClutterDragActionClass</structname> structure contains
7366 // only private data
7367 struct DragActionClass
/* Version 1.4 */ {
7368 private ActionClass parent_class
;
7369 extern (C
) void function (DragAction
* action
, Actor
* actor
, float event_x
, float event_y
, ModifierType modifiers
) drag_begin
;
7370 extern (C
) void function (DragAction
* action
, Actor
* actor
, float delta_x
, float delta_y
) drag_motion
;
7371 extern (C
) void function (DragAction
* action
, Actor
* actor
, float event_x
, float event_y
, ModifierType modifiers
) drag_end
;
7372 extern (C
) void function () _clutter_drag_action1
;
7373 extern (C
) void function () _clutter_drag_action2
;
7374 extern (C
) void function () _clutter_drag_action3
;
7375 extern (C
) void function () _clutter_drag_action4
;
7376 extern (C
) void function () _clutter_drag_action5
;
7379 struct DragActionPrivate
{
7383 // The axis of the constraint that should be applied on the
7385 enum DragAxis
/* Version 1.4 */ {
7391 // The <structname>ClutterDropAction</structname> structure contains only
7392 // private data and should be accessed using the provided API.
7393 struct DropAction
/* : Action */ /* Version 1.8 */ {
7394 alias parent_instance
this;
7395 alias parent_instance super_
;
7396 alias parent_instance action
;
7397 Action parent_instance
;
7398 private DropActionPrivate
* priv
;
7402 // Creates a new #ClutterDropAction.
7404 // Use clutter_actor_add_action() to add the action to a #ClutterActor.
7405 // RETURNS: the newly created #ClutterDropAction
7406 static DropAction
* new_()() {
7407 return clutter_drop_action_new();
7411 // The ::can-drop signal is emitted when the dragged actor is dropped
7412 // on @actor. The return value of the ::can-drop signal will determine
7413 // whether or not the #ClutterDropAction::drop signal is going to be
7414 // emitted on @action.
7416 // The default implementation of #ClutterDropAction returns %TRUE for
7418 // RETURNS: %TRUE if the drop is accepted, and %FALSE otherwise
7419 // <actor>: the #ClutterActor attached to the @action
7420 // <returns>: %TRUE if the drop is accepted, and %FALSE otherwise
7421 extern (C
) alias static c_int
function (DropAction
* this_
, Actor
* actor
, float returns
, float since
, void* user_data
=null) signal_can_drop
;
7423 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7424 return super_
.signal_connect
!name(cb
, data
, cf
);
7427 ulong signal_connect(string name
:"can-drop", CB
:signal_can_drop
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7428 return signal_connect_data
!()(&this, cast(char*)"can-drop",
7429 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7433 // The ::drop signal is emitted when the dragged actor is dropped
7434 // on @actor. This signal is only emitted if at least an handler of
7435 // #ClutterDropAction::can-drop returns %TRUE.
7436 extern (C
) alias static void function (DropAction
* this_
, Actor
* object
, float p0
, float p1
, void* user_data
=null) signal_drop
;
7437 ulong signal_connect(string name
:"drop", CB
:signal_drop
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7438 return signal_connect_data
!()(&this, cast(char*)"drop",
7439 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7443 // The ::over-in signal is emitted when the dragged actor crosses
7445 // <actor>: the #ClutterActor attached to the @action
7446 extern (C
) alias static void function (DropAction
* this_
, Actor
* actor
, void* user_data
=null) signal_over_in
;
7447 ulong signal_connect(string name
:"over-in", CB
:signal_over_in
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7448 return signal_connect_data
!()(&this, cast(char*)"over-in",
7449 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7453 // The ::over-out signal is emitted when the dragged actor crosses
7455 // <actor>: the #ClutterActor attached to the @action
7456 extern (C
) alias static void function (DropAction
* this_
, Actor
* actor
, void* user_data
=null) signal_over_out
;
7457 ulong signal_connect(string name
:"over-out", CB
:signal_over_out
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7458 return signal_connect_data
!()(&this, cast(char*)"over-out",
7459 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7464 // The <structname>ClutterDropActionClass</structname> structure contains
7465 // only private data.
7466 struct DropActionClass
/* Version 1.8 */ {
7467 private ActionClass parent_class
;
7468 extern (C
) int function (DropAction
* action
, Actor
* actor
, float event_x
, float event_y
) can_drop
;
7469 extern (C
) void function (DropAction
* action
, Actor
* actor
) over_in
;
7470 extern (C
) void function (DropAction
* action
, Actor
* actor
) over_out
;
7471 extern (C
) void function (DropAction
* action
, Actor
* actor
, float event_x
, float event_y
) drop
;
7472 extern (C
) void function () _clutter_drop_action1
;
7473 extern (C
) void function () _clutter_drop_action2
;
7474 extern (C
) void function () _clutter_drop_action3
;
7475 extern (C
) void function () _clutter_drop_action4
;
7476 extern (C
) void function () _clutter_drop_action5
;
7477 extern (C
) void function () _clutter_drop_action6
;
7478 extern (C
) void function () _clutter_drop_action7
;
7479 extern (C
) void function () _clutter_drop_action8
;
7482 struct DropActionPrivate
{
7485 enum int Dstroke
= 464;
7489 enum int Eabovedot
= 972;
7490 enum int Eacute
= 201;
7491 enum int Ebelowdot
= 16785080;
7492 enum int Ecaron
= 460;
7493 enum int Ecircumflex
= 202;
7494 enum int Ecircumflexacute
= 16785086;
7495 enum int Ecircumflexbelowdot
= 16785094;
7496 enum int Ecircumflexgrave
= 16785088;
7497 enum int Ecircumflexhook
= 16785090;
7498 enum int Ecircumflextilde
= 16785092;
7499 enum int EcuSign
= 16785568;
7500 enum int Ediaeresis
= 203;
7502 // The #ClutterEffect structure contains only private data and should
7503 // be accessed using the provided API
7504 struct Effect
/* : ActorMeta */ /* Version 1.4 */ {
7505 alias parent_instance
this;
7506 alias parent_instance super_
;
7507 alias parent_instance actormeta
;
7508 ActorMeta parent_instance
;
7512 // Queues a repaint of the effect. The effect can detect when the ‘paint’
7513 // method is called as a result of this function because it will not
7514 // have the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag set. In that case the
7515 // effect is free to assume that the actor has not changed its
7516 // appearance since the last time it was painted so it doesn't need to
7517 // call clutter_actor_continue_paint() if it can draw a cached
7518 // image. This is mostly intended for effects that are using a
7519 // %CoglOffscreen to redirect the actor (such as
7520 // %ClutterOffscreenEffect). In that case the effect can save a bit of
7521 // rendering time by painting the cached texture without causing the
7522 // entire actor to be painted.
7524 // This function can be used by effects that have their own animatable
7525 // parameters. For example, an effect which adds a varying degree of a
7526 // red tint to an actor by redirecting it through a CoglOffscreen
7527 // might have a property to specify the level of tint. When this value
7528 // changes, the underlying actor doesn't need to be redrawn so the
7529 // effect can call clutter_effect_queue_repaint() to make sure the
7530 // effect is repainted.
7532 // Note however that modifying the position of the parent of an actor
7533 // may change the appearance of the actor because its transformation
7534 // matrix would change. In this case a redraw wouldn't be queued on
7535 // the actor itself so the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY would still
7536 // not be set. The effect can detect this case by keeping track of the
7537 // last modelview matrix that was used to render the actor and
7538 // veryifying that it remains the same in the next paint.
7540 // Any other effects that are layered on top of the passed in effect
7541 // will still be passed the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag. If
7542 // anything queues a redraw on the actor without specifying an effect
7543 // or with an effect that is lower in the chain of effects than this
7544 // one then that will override this call. In that case this effect
7545 // will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
7547 void queue_repaint()() {
7548 clutter_effect_queue_repaint(&this);
7552 // The #ClutterEffectClass structure contains only private data
7553 struct EffectClass
/* Version 1.4 */ {
7554 private ActorMetaClass parent_class
;
7555 extern (C
) int function (Effect
* effect
) pre_paint
;
7556 extern (C
) void function (Effect
* effect
) post_paint
;
7557 extern (C
) int function (Effect
* effect
, PaintVolume
* volume
) get_paint_volume
;
7558 extern (C
) void function (Effect
* effect
, EffectPaintFlags flags
) paint
;
7559 extern (C
) void function (Effect
* effect
, EffectPaintFlags flags
) pick
;
7560 extern (C
) void function () _clutter_effect4
;
7561 extern (C
) void function () _clutter_effect5
;
7562 extern (C
) void function () _clutter_effect6
;
7565 // Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.
7566 enum EffectPaintFlags
{
7569 enum int Egrave
= 200;
7570 enum int Ehook
= 16785082;
7571 enum int Eisu_Shift
= 65327;
7572 enum int Eisu_toggle
= 65328;
7573 enum int Eject
= 269025068;
7574 enum int Emacron
= 938;
7575 enum int End
= 65367;
7576 enum int Eogonek
= 458;
7577 enum int Escape
= 65307;
7579 enum int Etilde
= 16785084;
7580 enum int EuroSign
= 8364;
7581 // Generic event wrapper.
7582 union Event
/* Version 0.2 */ {
7583 private EventType type_
;
7584 private AnyEvent any
;
7585 private ButtonEvent button
;
7586 private KeyEvent key
;
7587 private MotionEvent motion
;
7588 private ScrollEvent scroll
;
7589 private StageStateEvent stage_state
;
7590 private CrossingEvent crossing
;
7593 // Creates a new #ClutterEvent of the specified type.
7594 // RETURNS: A newly allocated #ClutterEvent.
7595 // <type>: The type of event.
7596 static Event
* /*new*/ new_()(EventType type
) {
7597 return clutter_event_new(type
);
7601 // RETURNS: A newly allocated #ClutterEvent
7602 Event
* /*new*/ copy()() {
7603 return clutter_event_copy(&this);
7605 // Frees all resources used by @event.
7607 clutter_event_free(&this);
7611 // Retrieves the array of axes values attached to the event.
7612 // RETURNS: an array of axis values
7613 // <n_axes>: return location for the number of axes returned
7614 double* get_axes()(/*out*/ uint* n_axes
) {
7615 return clutter_event_get_axes(&this, n_axes
);
7619 // Retrieves the button number of @event
7620 // RETURNS: the button number
7621 uint get_button()() {
7622 return clutter_event_get_button(&this);
7626 // Retrieves the number of clicks of @event
7627 // RETURNS: the click count
7628 uint get_click_count()() {
7629 return clutter_event_get_click_count(&this);
7633 // Retrieves the coordinates of @event and puts them into @x and @y.
7634 // <x>: return location for the X coordinate, or %NULL
7635 // <y>: return location for the Y coordinate, or %NULL
7636 void get_coords()(/*out*/ float* x
, /*out*/ float* y
) {
7637 clutter_event_get_coords(&this, x
, y
);
7641 // Retrieves the #ClutterInputDevice for the event.
7643 // The #ClutterInputDevice structure is completely opaque and should
7644 // be cast to the platform-specific implementation.
7646 // returned device is owned by the #ClutterEvent and it should not
7648 // RETURNS: the #ClutterInputDevice or %NULL. The
7649 InputDevice
* get_device()() {
7650 return clutter_event_get_device(&this);
7653 // Retrieves the events device id if set.
7655 // no specific device set.
7656 // RETURNS: A unique identifier for the device or -1 if the event has
7657 int get_device_id()() {
7658 return clutter_event_get_device_id(&this);
7662 // Retrieves the type of the device for @event
7665 // RETURNS: the #ClutterInputDeviceType for the device, if
7666 InputDeviceType
get_device_type()() {
7667 return clutter_event_get_device_type(&this);
7671 // Retrieves the #ClutterEventFlags of @event
7672 // RETURNS: the event flags
7673 EventFlags
get_flags()() {
7674 return clutter_event_get_flags(&this);
7678 // Retrieves the keycode of the key that caused @event
7679 // RETURNS: The keycode representing the key
7680 ushort get_key_code()() {
7681 return clutter_event_get_key_code(&this);
7685 // Retrieves the key symbol of @event
7686 // RETURNS: the key symbol representing the key
7687 uint get_key_symbol()() {
7688 return clutter_event_get_key_symbol(&this);
7691 // Retrieves the unicode value for the key that caused @keyev.
7692 // RETURNS: The unicode value representing the key
7693 uint get_key_unicode()() {
7694 return clutter_event_get_key_unicode(&this);
7698 // Retrieves the related actor of a crossing event.
7699 // RETURNS: the related #ClutterActor, or %NULL
7700 Actor
* get_related()() {
7701 return clutter_event_get_related(&this);
7705 // Retrieves the direction of the scrolling of @event
7706 // RETURNS: the scrolling direction
7707 ScrollDirection
get_scroll_direction()() {
7708 return clutter_event_get_scroll_direction(&this);
7712 // Retrieves the source #ClutterActor the event originated from, or
7713 // NULL if the event has no source.
7714 // RETURNS: a #ClutterActor
7715 Actor
* get_source()() {
7716 return clutter_event_get_source(&this);
7720 // Retrieves the hardware device that originated the event.
7722 // If you need the virtual device, use clutter_event_get_device().
7724 // If no hardware device originated this event, this function will
7725 // return the same device as clutter_event_get_device().
7728 // RETURNS: a pointer to a #ClutterInputDevice
7729 InputDevice
* get_source_device()() {
7730 return clutter_event_get_source_device(&this);
7734 // Retrieves the source #ClutterStage the event originated for, or
7735 // %NULL if the event has no stage.
7736 // RETURNS: a #ClutterStage
7737 Stage
* get_stage()() {
7738 return clutter_event_get_stage(&this);
7742 // Retrieves the modifier state of the event.
7743 // RETURNS: the modifier state parameter, or 0
7744 ModifierType
get_state()() {
7745 return clutter_event_get_state(&this);
7749 // Retrieves the time of the event.
7750 // RETURNS: the time of the event, or %CLUTTER_CURRENT_TIME
7752 return clutter_event_get_time(&this);
7756 // Puts a copy of the event on the back of the event queue. The event will
7757 // have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set
7758 // event signals will be emitted for this source and capture/bubbling for
7759 // its ancestors. If the source is not set it will be generated by picking
7760 // or use the actor that currently has keyboard focus
7762 clutter_event_put(&this);
7766 // Sets the button number of @event
7767 // <button>: the button number
7768 void set_button()(uint button
) {
7769 clutter_event_set_button(&this, button
);
7773 // Sets the coordinates of the @event.
7774 // <x>: the X coordinate of the event
7775 // <y>: the Y coordinate of the event
7776 void set_coords()(float x
, float y
) {
7777 clutter_event_set_coords(&this, x
, y
);
7781 // Sets the device for @event.
7782 // <device>: a #ClutterInputDevice, or %NULL
7783 void set_device()(InputDevice
* device
=null) {
7784 clutter_event_set_device(&this, device
);
7788 // Sets the #ClutterEventFlags of @event
7789 // <flags>: a binary OR of #ClutterEventFlags values
7790 void set_flags()(EventFlags flags
) {
7791 clutter_event_set_flags(&this, flags
);
7795 // Sets the keycode of the @event.
7796 // <key_code>: the keycode representing the key
7797 void set_key_code()(ushort key_code
) {
7798 clutter_event_set_key_code(&this, key_code
);
7802 // Sets the key symbol of @event.
7803 // <key_sym>: the key symbol representing the key
7804 void set_key_symbol()(uint key_sym
) {
7805 clutter_event_set_key_symbol(&this, key_sym
);
7809 // Sets the Unicode value of @event.
7810 // <key_unicode>: the Unicode value representing the key
7811 void set_key_unicode()(uint key_unicode
) {
7812 clutter_event_set_key_unicode(&this, key_unicode
);
7816 // Sets the related actor of a crossing event
7817 // <actor>: a #ClutterActor or %NULL
7818 void set_related()(Actor
* actor
=null) {
7819 clutter_event_set_related(&this, actor
);
7823 // Sets the direction of the scrolling of @event
7824 // <direction>: the scrolling direction
7825 void set_scroll_direction()(ScrollDirection direction
) {
7826 clutter_event_set_scroll_direction(&this, direction
);
7830 // Sets the source #ClutterActor of @event.
7831 // <actor>: a #ClutterActor, or %NULL
7832 void set_source()(Actor
* actor
=null) {
7833 clutter_event_set_source(&this, actor
);
7837 // Sets the source #ClutterInputDevice for @event.
7839 // The #ClutterEvent must have been created using clutter_event_new().
7840 // <device>: a #ClutterInputDevice
7841 void set_source_device()(InputDevice
* device
=null) {
7842 clutter_event_set_source_device(&this, device
);
7846 // Sets the source #ClutterStage of the event.
7847 // <stage>: a #ClutterStage, or %NULL
7848 void set_stage()(Stage
* stage
=null) {
7849 clutter_event_set_stage(&this, stage
);
7853 // Sets the modifier state of the event.
7854 // <state>: the modifier state to set
7855 void set_state()(ModifierType state
) {
7856 clutter_event_set_state(&this, state
);
7860 // Sets the time of the event.
7861 // <time_>: the time of the event
7862 void set_time()(uint time_
) {
7863 clutter_event_set_time(&this, time_
);
7866 // Retrieves the type of the event.
7867 // RETURNS: a #ClutterEventType
7868 EventType
type()() {
7869 return clutter_event_type(&this);
7873 // Pops an event off the event queue. Applications should not need to call
7875 // RETURNS: A #ClutterEvent or NULL if queue empty
7876 static Event
* /*new*/ get()() {
7877 return clutter_event_get();
7881 // Returns a pointer to the first event from the event queue but
7882 // does not remove it.
7883 // RETURNS: A #ClutterEvent or NULL if queue empty.
7884 static Event
* peek()() {
7885 return clutter_event_peek();
7888 // --- mixin/Clutter_Event.d --->
7890 void toString(FT
)(scope void delegate(const(char)[]) sink
, FT fmt
) {
7894 // <KeyEvent> contains a dchar, which causes:
7895 //Error: static assert "Cannot put a dchar into a void delegate(const(char)[])"
7896 //case KEY_PRESS, KEY_RELEASE: formatValue(sink, key, fmt); return;
7897 case MOTION
: formatValue(sink
, motion
, fmt
); return;
7898 case ENTER
, LEAVE
: formatValue(sink
, crossing
, fmt
); return;
7899 case BUTTON_PRESS
, BUTTON_RELEASE
:
7900 formatValue(sink
, button
, fmt
); return;
7901 case SCROLL
: formatValue(sink
, scroll
, fmt
); return;
7902 case STAGE_STATE
: formatValue(sink
, stage_state
, fmt
); return;
7903 any
: case DELETE
, DESTROY_NOTIFY
, CLIENT_MESSAGE
:
7904 formatValue(sink
, any
, fmt
); return;
7905 default: sink("/*FIXME*/"); goto any
;
7909 // <--- mixin/Clutter_Event.d ---
7912 // Flags for the #ClutterEvent
7913 enum EventFlags
/* Version 0.6 */ {
7918 enum EventType
/* Version 0.4 */ {
7929 DESTROY_NOTIFY
= 10,
7930 CLIENT_MESSAGE
= 11,
7933 enum int Excel
= 269025116;
7934 enum int Execute
= 65378;
7935 enum int Explorer
= 269025117;
7937 enum int F1
= 65470;
7938 enum int F10
= 65479;
7939 enum int F11
= 65480;
7940 enum int F12
= 65481;
7941 enum int F13
= 65482;
7942 enum int F14
= 65483;
7943 enum int F15
= 65484;
7944 enum int F16
= 65485;
7945 enum int F17
= 65486;
7946 enum int F18
= 65487;
7947 enum int F19
= 65488;
7948 enum int F2
= 65471;
7949 enum int F20
= 65489;
7950 enum int F21
= 65490;
7951 enum int F22
= 65491;
7952 enum int F23
= 65492;
7953 enum int F24
= 65493;
7954 enum int F25
= 65494;
7955 enum int F26
= 65495;
7956 enum int F27
= 65496;
7957 enum int F28
= 65497;
7958 enum int F29
= 65498;
7959 enum int F3
= 65472;
7960 enum int F30
= 65499;
7961 enum int F31
= 65500;
7962 enum int F32
= 65501;
7963 enum int F33
= 65502;
7964 enum int F34
= 65503;
7965 enum int F35
= 65504;
7966 enum int F4
= 65473;
7967 enum int F5
= 65474;
7968 enum int F6
= 65475;
7969 enum int F7
= 65476;
7970 enum int F8
= 65477;
7971 enum int F9
= 65478;
7972 enum int FFrancSign
= 16785571;
7973 enum FLAVOUR
= "glx";
7974 enum int Fabovedot
= 16784926;
7975 enum int Farsi_0
= 16778992;
7976 enum int Farsi_1
= 16778993;
7977 enum int Farsi_2
= 16778994;
7978 enum int Farsi_3
= 16778995;
7979 enum int Farsi_4
= 16778996;
7980 enum int Farsi_5
= 16778997;
7981 enum int Farsi_6
= 16778998;
7982 enum int Farsi_7
= 16778999;
7983 enum int Farsi_8
= 16779000;
7984 enum int Farsi_9
= 16779001;
7985 enum int Farsi_yeh
= 16778956;
7986 enum int Favorites
= 269025072;
7988 // Runtime flags indicating specific features available via Clutter window
7989 // sysytem and graphics backend.
7990 enum FeatureFlags
/* Version 0.4 */ {
7994 TEXTURE_READ_PIXELS
= 32,
7996 STAGE_USER_RESIZE
= 128,
8000 STAGE_MULTIPLE
= 2048,
8003 enum int Finance
= 269025084;
8004 enum int Find
= 65384;
8005 enum int First_Virtual_Screen
= 65232;
8007 // The #ClutterFixedLayout structure contains only private data and
8008 // it should be accessed using the provided API
8009 struct FixedLayout
/* : LayoutManager */ /* Version 1.2 */ {
8010 alias parent_instance
this;
8011 alias parent_instance super_
;
8012 alias parent_instance layoutmanager
;
8013 LayoutManager parent_instance
;
8017 // Creates a new #ClutterFixedLayout
8018 // RETURNS: the newly created #ClutterFixedLayout
8019 static FixedLayout
* new_()() {
8020 return clutter_fixed_layout_new();
8025 // The #ClutterFixedLayoutClass structure contains only private data
8026 // and it should be accessed using the provided API
8027 struct FixedLayoutClass
/* Version 1.2 */ {
8028 private LayoutManagerClass parent_class
;
8032 // The #ClutterFlowLayout structure contains only private data
8033 // and should be accessed using the provided API
8034 struct FlowLayout
/* : LayoutManager */ /* Version 1.2 */ {
8035 alias parent_instance
this;
8036 alias parent_instance super_
;
8037 alias parent_instance layoutmanager
;
8038 LayoutManager parent_instance
;
8039 private FlowLayoutPrivate
* priv
;
8043 // Creates a new #ClutterFlowLayout with the given @orientation
8044 // RETURNS: the newly created #ClutterFlowLayout
8045 // <orientation>: the orientation of the flow layout
8046 static FlowLayout
* new_()(FlowOrientation orientation
) {
8047 return clutter_flow_layout_new(orientation
);
8051 // Retrieves the spacing between columns
8054 // RETURNS: the spacing between columns of the #ClutterFlowLayout,
8055 float get_column_spacing()() {
8056 return clutter_flow_layout_get_column_spacing(&this);
8060 // Retrieves the minimum and maximum column widths
8061 // <min_width>: return location for the minimum column width, or %NULL
8062 // <max_width>: return location for the maximum column width, or %NULL
8063 void get_column_width()(/*out*/ float* min_width
, /*out*/ float* max_width
) {
8064 clutter_flow_layout_get_column_width(&this, min_width
, max_width
);
8068 // Retrieves whether the @layout is homogeneous
8069 // RETURNS: %TRUE if the #ClutterFlowLayout is homogeneous
8070 int get_homogeneous()() {
8071 return clutter_flow_layout_get_homogeneous(&this);
8075 // Retrieves the orientation of the @layout
8076 // RETURNS: the orientation of the #ClutterFlowLayout
8077 FlowOrientation
get_orientation()() {
8078 return clutter_flow_layout_get_orientation(&this);
8082 // Retrieves the minimum and maximum row heights
8083 // <min_height>: return location for the minimum row height, or %NULL
8084 // <max_height>: return location for the maximum row height, or %NULL
8085 void get_row_height()(/*out*/ float* min_height
, /*out*/ float* max_height
) {
8086 clutter_flow_layout_get_row_height(&this, min_height
, max_height
);
8090 // Retrieves the spacing between rows
8093 // RETURNS: the spacing between rows of the #ClutterFlowLayout,
8094 float get_row_spacing()() {
8095 return clutter_flow_layout_get_row_spacing(&this);
8099 // Sets the space between columns, in pixels
8100 // <spacing>: the space between columns
8101 void set_column_spacing()(float spacing
) {
8102 clutter_flow_layout_set_column_spacing(&this, spacing
);
8106 // Sets the minimum and maximum widths that a column can have
8107 // <min_width>: minimum width of a column
8108 // <max_width>: maximum width of a column
8109 void set_column_width()(float min_width
, float max_width
) {
8110 clutter_flow_layout_set_column_width(&this, min_width
, max_width
);
8114 // Sets whether the @layout should allocate the same space for
8116 // <homogeneous>: whether the layout should be homogeneous or not
8117 void set_homogeneous()(int homogeneous
) {
8118 clutter_flow_layout_set_homogeneous(&this, homogeneous
);
8122 // Sets the orientation of the flow layout
8124 // The orientation controls the direction used to allocate
8125 // the children: either horizontally or vertically. The
8126 // orientation also controls the direction of the overflowing
8127 // <orientation>: the orientation of the layout
8128 void set_orientation()(FlowOrientation orientation
) {
8129 clutter_flow_layout_set_orientation(&this, orientation
);
8133 // Sets the minimum and maximum heights that a row can have
8134 // <min_height>: the minimum height of a row
8135 // <max_height>: the maximum height of a row
8136 void set_row_height()(float min_height
, float max_height
) {
8137 clutter_flow_layout_set_row_height(&this, min_height
, max_height
);
8141 // Sets the spacing between rows, in pixels
8142 // <spacing>: the space between rows
8143 void set_row_spacing()(float spacing
) {
8144 clutter_flow_layout_set_row_spacing(&this, spacing
);
8149 // The #ClutterFlowLayoutClass structure contains only private data
8150 // and should be accessed using the provided API
8151 struct FlowLayoutClass
/* Version 1.2 */ {
8152 private LayoutManagerClass parent_class
;
8155 struct FlowLayoutPrivate
{
8159 // The direction of the arrangement of the children inside
8160 // a #ClutterFlowLayout
8161 enum FlowOrientation
/* Version 1.2 */ {
8165 // Fog settings used to create the depth cueing effect.
8166 struct Fog
/* Version 0.6 */ {
8167 float z_near
, z_far
;
8171 // Runtime flags to change the font quality. To be used with
8172 // clutter_set_font_flags().
8173 enum FontFlags
/* Version 1.0 */ {
8177 enum int Forward
= 269025063;
8178 enum int FrameBack
= 269025181;
8179 enum int FrameForward
= 269025182;
8181 enum int Gabovedot
= 725;
8182 enum int Game
= 269025118;
8183 enum int Gbreve
= 683;
8184 enum int Gcaron
= 16777702;
8185 enum int Gcedilla
= 939;
8186 enum int Gcircumflex
= 728;
8187 // The rectangle containing an actor's bounding box, measured in pixels.
8194 // Determines if @geometry0 and geometry1 intersect returning %TRUE if
8195 // they do else %FALSE.
8198 // RETURNS: %TRUE of @geometry0 and geometry1 intersect else
8199 // <geometry1>: The second geometry to test
8200 int intersects()(Geometry
* geometry1
) {
8201 return clutter_geometry_intersects(&this, geometry1
);
8205 // Find the union of two rectangles represented as #ClutterGeometry.
8206 // <geometry_b>: another #ClutterGeometry
8207 // <result>: location to store the result
8208 void union_()(Geometry
* geometry_b
, /*out*/ Geometry
* result
) {
8209 clutter_geometry_union(&this, geometry_b
, result
);
8213 enum int Georgian_an
= 16781520;
8214 enum int Georgian_ban
= 16781521;
8215 enum int Georgian_can
= 16781546;
8216 enum int Georgian_char
= 16781549;
8217 enum int Georgian_chin
= 16781545;
8218 enum int Georgian_cil
= 16781548;
8219 enum int Georgian_don
= 16781523;
8220 enum int Georgian_en
= 16781524;
8221 enum int Georgian_fi
= 16781558;
8222 enum int Georgian_gan
= 16781522;
8223 enum int Georgian_ghan
= 16781542;
8224 enum int Georgian_hae
= 16781552;
8225 enum int Georgian_har
= 16781556;
8226 enum int Georgian_he
= 16781553;
8227 enum int Georgian_hie
= 16781554;
8228 enum int Georgian_hoe
= 16781557;
8229 enum int Georgian_in
= 16781528;
8230 enum int Georgian_jhan
= 16781551;
8231 enum int Georgian_jil
= 16781547;
8232 enum int Georgian_kan
= 16781529;
8233 enum int Georgian_khar
= 16781541;
8234 enum int Georgian_las
= 16781530;
8235 enum int Georgian_man
= 16781531;
8236 enum int Georgian_nar
= 16781532;
8237 enum int Georgian_on
= 16781533;
8238 enum int Georgian_par
= 16781534;
8239 enum int Georgian_phar
= 16781540;
8240 enum int Georgian_qar
= 16781543;
8241 enum int Georgian_rae
= 16781536;
8242 enum int Georgian_san
= 16781537;
8243 enum int Georgian_shin
= 16781544;
8244 enum int Georgian_tan
= 16781527;
8245 enum int Georgian_tar
= 16781538;
8246 enum int Georgian_un
= 16781539;
8247 enum int Georgian_vin
= 16781525;
8248 enum int Georgian_we
= 16781555;
8249 enum int Georgian_xan
= 16781550;
8250 enum int Georgian_zen
= 16781526;
8251 enum int Georgian_zhar
= 16781535;
8253 // The <structname>ClutterGestureAction</structname> structure contains
8254 // only private data and should be accessed using the provided API
8255 struct GestureAction
/* : Action */ /* Version 1.8 */ {
8256 alias parent_instance
this;
8257 alias parent_instance super_
;
8258 alias parent_instance action
;
8259 Action parent_instance
;
8260 private GestureActionPrivate
* priv
;
8264 // Creates a new #ClutterGestureAction instance.
8265 // RETURNS: the newly created #ClutterGestureAction
8266 static GestureAction
* new_()() {
8267 return clutter_gesture_action_new();
8271 // Retrieves the coordinates, in stage space, of the latest motion
8272 // event during the dragging
8273 // <device>: currently unused, set to 0
8274 // <motion_x>: return location for the latest motion event's X coordinate
8275 // <motion_y>: return location for the latest motion event's Y coordinate
8276 void get_motion_coords()(uint device
, /*out*/ float* motion_x
, /*out*/ float* motion_y
) {
8277 clutter_gesture_action_get_motion_coords(&this, device
, motion_x
, motion_y
);
8281 // Retrieves the coordinates, in stage space, of the press event
8282 // that started the dragging for an specific pointer device
8283 // <device>: currently unused, set to 0
8284 // <press_x>: return location for the press event's X coordinate
8285 // <press_y>: return location for the press event's Y coordinate
8286 void get_press_coords()(uint device
, /*out*/ float* press_x
, /*out*/ float* press_y
) {
8287 clutter_gesture_action_get_press_coords(&this, device
, press_x
, press_y
);
8291 // Retrieves the coordinates, in stage space, of the point where the pointer
8292 // device was last released.
8293 // <device>: currently unused, set to 0
8294 // <release_x>: return location for the X coordinate of the last release
8295 // <release_y>: return location for the Y coordinate of the last release
8296 void get_release_coords()(uint device
, /*out*/ float* release_x
, /*out*/ float* release_y
) {
8297 clutter_gesture_action_get_release_coords(&this, device
, release_x
, release_y
);
8301 // The ::gesture_begin signal is emitted when the #ClutterActor to which
8302 // a #ClutterGestureAction has been applied starts receiving a gesture.
8304 // the gesture should be ignored.
8305 // RETURNS: %TRUE if the gesture should start, and %FALSE if
8306 // <actor>: the #ClutterActor attached to the @action
8307 extern (C
) alias static c_int
function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_begin
;
8309 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
8310 return super_
.signal_connect
!name(cb
, data
, cf
);
8313 ulong signal_connect(string name
:"gesture-begin", CB
:signal_gesture_begin
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
8314 return signal_connect_data
!()(&this, cast(char*)"gesture-begin",
8315 cast(GObject2
.Callback
)cb
, data
, null, cf
);
8319 // The ::gesture-cancel signal is emitted when the ongoing gesture gets
8320 // cancelled from the #ClutterGestureAction::gesture-progress signal handler.
8322 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
8323 // signal has been emitted first.
8324 // <actor>: the #ClutterActor attached to the @action
8325 extern (C
) alias static void function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_cancel
;
8326 ulong signal_connect(string name
:"gesture-cancel", CB
:signal_gesture_cancel
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
8327 return signal_connect_data
!()(&this, cast(char*)"gesture-cancel",
8328 cast(GObject2
.Callback
)cb
, data
, null, cf
);
8332 // The ::gesture-end signal is emitted at the end of the gesture gesture,
8333 // when the pointer's button is released
8335 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
8336 // signal has been emitted first.
8337 // <actor>: the #ClutterActor attached to the @action
8338 extern (C
) alias static void function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_end
;
8339 ulong signal_connect(string name
:"gesture-end", CB
:signal_gesture_end
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
8340 return signal_connect_data
!()(&this, cast(char*)"gesture-end",
8341 cast(GObject2
.Callback
)cb
, data
, null, cf
);
8345 // The ::gesture-progress signal is emitted for each motion event after
8346 // the #ClutterGestureAction::gesture-begin signal has been emitted.
8348 // the gesture should be cancelled.
8349 // RETURNS: %TRUE if the gesture should continue, and %FALSE if
8350 // <actor>: the #ClutterActor attached to the @action
8351 extern (C
) alias static c_int
function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_progress
;
8352 ulong signal_connect(string name
:"gesture-progress", CB
:signal_gesture_progress
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
8353 return signal_connect_data
!()(&this, cast(char*)"gesture-progress",
8354 cast(GObject2
.Callback
)cb
, data
, null, cf
);
8359 // The <structname>ClutterGestureClass</structname> structure contains only
8361 struct GestureActionClass
/* Version 1.8 */ {
8362 private ActionClass parent_class
;
8363 extern (C
) int function (GestureAction
* action
, Actor
* actor
) gesture_begin
;
8364 extern (C
) int function (GestureAction
* action
, Actor
* actor
) gesture_progress
;
8365 extern (C
) void function (GestureAction
* action
, Actor
* actor
) gesture_end
;
8366 extern (C
) void function (GestureAction
* action
, Actor
* actor
) gesture_cancel
;
8367 extern (C
) void function () _clutter_gesture_action1
;
8368 extern (C
) void function () _clutter_gesture_action2
;
8369 extern (C
) void function () _clutter_gesture_action3
;
8370 extern (C
) void function () _clutter_gesture_action4
;
8371 extern (C
) void function () _clutter_gesture_action5
;
8372 extern (C
) void function () _clutter_gesture_action6
;
8373 extern (C
) void function () _clutter_gesture_action7
;
8376 struct GestureActionPrivate
{
8379 enum int Go
= 269025119;
8381 // Gravity of the scaling operations. When a gravity different than
8382 // %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
8383 // of the specified portion at the same coordinates.
8384 enum Gravity
/* Version 0.2 */ {
8396 enum int Greek_ALPHA
= 1985;
8397 enum int Greek_ALPHAaccent
= 1953;
8398 enum int Greek_BETA
= 1986;
8399 enum int Greek_CHI
= 2007;
8400 enum int Greek_DELTA
= 1988;
8401 enum int Greek_EPSILON
= 1989;
8402 enum int Greek_EPSILONaccent
= 1954;
8403 enum int Greek_ETA
= 1991;
8404 enum int Greek_ETAaccent
= 1955;
8405 enum int Greek_GAMMA
= 1987;
8406 enum int Greek_IOTA
= 1993;
8407 enum int Greek_IOTAaccent
= 1956;
8408 enum int Greek_IOTAdiaeresis
= 1957;
8409 enum int Greek_IOTAdieresis
= 1957;
8410 enum int Greek_KAPPA
= 1994;
8411 enum int Greek_LAMBDA
= 1995;
8412 enum int Greek_LAMDA
= 1995;
8413 enum int Greek_MU
= 1996;
8414 enum int Greek_NU
= 1997;
8415 enum int Greek_OMEGA
= 2009;
8416 enum int Greek_OMEGAaccent
= 1963;
8417 enum int Greek_OMICRON
= 1999;
8418 enum int Greek_OMICRONaccent
= 1959;
8419 enum int Greek_PHI
= 2006;
8420 enum int Greek_PI
= 2000;
8421 enum int Greek_PSI
= 2008;
8422 enum int Greek_RHO
= 2001;
8423 enum int Greek_SIGMA
= 2002;
8424 enum int Greek_TAU
= 2004;
8425 enum int Greek_THETA
= 1992;
8426 enum int Greek_UPSILON
= 2005;
8427 enum int Greek_UPSILONaccent
= 1960;
8428 enum int Greek_UPSILONdieresis
= 1961;
8429 enum int Greek_XI
= 1998;
8430 enum int Greek_ZETA
= 1990;
8431 enum int Greek_accentdieresis
= 1966;
8432 enum int Greek_alpha
= 2017;
8433 enum int Greek_alphaaccent
= 1969;
8434 enum int Greek_beta
= 2018;
8435 enum int Greek_chi
= 2039;
8436 enum int Greek_delta
= 2020;
8437 enum int Greek_epsilon
= 2021;
8438 enum int Greek_epsilonaccent
= 1970;
8439 enum int Greek_eta
= 2023;
8440 enum int Greek_etaaccent
= 1971;
8441 enum int Greek_finalsmallsigma
= 2035;
8442 enum int Greek_gamma
= 2019;
8443 enum int Greek_horizbar
= 1967;
8444 enum int Greek_iota
= 2025;
8445 enum int Greek_iotaaccent
= 1972;
8446 enum int Greek_iotaaccentdieresis
= 1974;
8447 enum int Greek_iotadieresis
= 1973;
8448 enum int Greek_kappa
= 2026;
8449 enum int Greek_lambda
= 2027;
8450 enum int Greek_lamda
= 2027;
8451 enum int Greek_mu
= 2028;
8452 enum int Greek_nu
= 2029;
8453 enum int Greek_omega
= 2041;
8454 enum int Greek_omegaaccent
= 1979;
8455 enum int Greek_omicron
= 2031;
8456 enum int Greek_omicronaccent
= 1975;
8457 enum int Greek_phi
= 2038;
8458 enum int Greek_pi
= 2032;
8459 enum int Greek_psi
= 2040;
8460 enum int Greek_rho
= 2033;
8461 enum int Greek_sigma
= 2034;
8462 enum int Greek_switch
= 65406;
8463 enum int Greek_tau
= 2036;
8464 enum int Greek_theta
= 2024;
8465 enum int Greek_upsilon
= 2037;
8466 enum int Greek_upsilonaccent
= 1976;
8467 enum int Greek_upsilonaccentdieresis
= 1978;
8468 enum int Greek_upsilondieresis
= 1977;
8469 enum int Greek_xi
= 2030;
8470 enum int Greek_zeta
= 2022;
8471 enum int Green
= 269025188;
8473 // The #ClutterGroup structure contains only private data
8474 // and should be accessed using the provided API
8475 struct Group
/* : Actor */ /* Version 0.1 */ {
8476 mixin Atk
.ImplementorIface
.__interface__
;
8477 mixin Animatable
.__interface__
;
8478 mixin Container
.__interface__
;
8479 mixin Scriptable
.__interface__
;
8480 alias parent_instance
this;
8481 alias parent_instance super_
;
8482 alias parent_instance actor
;
8483 Actor parent_instance
;
8484 private GroupPrivate
* priv
;
8487 // Create a new #ClutterGroup.
8488 // RETURNS: the newly created #ClutterGroup actor
8489 static Group
* new_()() {
8490 return clutter_group_new();
8494 // Gets the number of actors held in the group.
8495 // RETURNS: The number of child actors held in the group.
8496 int get_n_children()() {
8497 return clutter_group_get_n_children(&this);
8501 // Gets a groups child held at @index_ in stack.
8503 // @index_ is invalid.
8504 // RETURNS: A Clutter actor, or %NULL if
8505 // <index_>: the position of the requested actor.
8506 Actor
* get_nth_child()(int index_
) {
8507 return clutter_group_get_nth_child(&this, index_
);
8509 // Removes all children actors from the #ClutterGroup.
8510 void remove_all()() {
8511 clutter_group_remove_all(&this);
8515 // The #ClutterGroupClass structure contains only private data
8516 struct GroupClass
/* Version 0.1 */ {
8517 private ActorClass parent_class
;
8518 extern (C
) void function () _clutter_reserved1
;
8519 extern (C
) void function () _clutter_reserved2
;
8520 extern (C
) void function () _clutter_reserved3
;
8521 extern (C
) void function () _clutter_reserved4
;
8522 extern (C
) void function () _clutter_reserved5
;
8523 extern (C
) void function () _clutter_reserved6
;
8526 struct GroupPrivate
{
8530 enum int Hangul
= 65329;
8531 enum int Hangul_A
= 3775;
8532 enum int Hangul_AE
= 3776;
8533 enum int Hangul_AraeA
= 3830;
8534 enum int Hangul_AraeAE
= 3831;
8535 enum int Hangul_Banja
= 65337;
8536 enum int Hangul_Cieuc
= 3770;
8537 enum int Hangul_Codeinput
= 65335;
8538 enum int Hangul_Dikeud
= 3751;
8539 enum int Hangul_E
= 3780;
8540 enum int Hangul_EO
= 3779;
8541 enum int Hangul_EU
= 3793;
8542 enum int Hangul_End
= 65331;
8543 enum int Hangul_Hanja
= 65332;
8544 enum int Hangul_Hieuh
= 3774;
8545 enum int Hangul_I
= 3795;
8546 enum int Hangul_Ieung
= 3767;
8547 enum int Hangul_J_Cieuc
= 3818;
8548 enum int Hangul_J_Dikeud
= 3802;
8549 enum int Hangul_J_Hieuh
= 3822;
8550 enum int Hangul_J_Ieung
= 3816;
8551 enum int Hangul_J_Jieuj
= 3817;
8552 enum int Hangul_J_Khieuq
= 3819;
8553 enum int Hangul_J_Kiyeog
= 3796;
8554 enum int Hangul_J_KiyeogSios
= 3798;
8555 enum int Hangul_J_KkogjiDalrinIeung
= 3833;
8556 enum int Hangul_J_Mieum
= 3811;
8557 enum int Hangul_J_Nieun
= 3799;
8558 enum int Hangul_J_NieunHieuh
= 3801;
8559 enum int Hangul_J_NieunJieuj
= 3800;
8560 enum int Hangul_J_PanSios
= 3832;
8561 enum int Hangul_J_Phieuf
= 3821;
8562 enum int Hangul_J_Pieub
= 3812;
8563 enum int Hangul_J_PieubSios
= 3813;
8564 enum int Hangul_J_Rieul
= 3803;
8565 enum int Hangul_J_RieulHieuh
= 3810;
8566 enum int Hangul_J_RieulKiyeog
= 3804;
8567 enum int Hangul_J_RieulMieum
= 3805;
8568 enum int Hangul_J_RieulPhieuf
= 3809;
8569 enum int Hangul_J_RieulPieub
= 3806;
8570 enum int Hangul_J_RieulSios
= 3807;
8571 enum int Hangul_J_RieulTieut
= 3808;
8572 enum int Hangul_J_Sios
= 3814;
8573 enum int Hangul_J_SsangKiyeog
= 3797;
8574 enum int Hangul_J_SsangSios
= 3815;
8575 enum int Hangul_J_Tieut
= 3820;
8576 enum int Hangul_J_YeorinHieuh
= 3834;
8577 enum int Hangul_Jamo
= 65333;
8578 enum int Hangul_Jeonja
= 65336;
8579 enum int Hangul_Jieuj
= 3768;
8580 enum int Hangul_Khieuq
= 3771;
8581 enum int Hangul_Kiyeog
= 3745;
8582 enum int Hangul_KiyeogSios
= 3747;
8583 enum int Hangul_KkogjiDalrinIeung
= 3827;
8584 enum int Hangul_Mieum
= 3761;
8585 enum int Hangul_MultipleCandidate
= 65341;
8586 enum int Hangul_Nieun
= 3748;
8587 enum int Hangul_NieunHieuh
= 3750;
8588 enum int Hangul_NieunJieuj
= 3749;
8589 enum int Hangul_O
= 3783;
8590 enum int Hangul_OE
= 3786;
8591 enum int Hangul_PanSios
= 3826;
8592 enum int Hangul_Phieuf
= 3773;
8593 enum int Hangul_Pieub
= 3762;
8594 enum int Hangul_PieubSios
= 3764;
8595 enum int Hangul_PostHanja
= 65339;
8596 enum int Hangul_PreHanja
= 65338;
8597 enum int Hangul_PreviousCandidate
= 65342;
8598 enum int Hangul_Rieul
= 3753;
8599 enum int Hangul_RieulHieuh
= 3760;
8600 enum int Hangul_RieulKiyeog
= 3754;
8601 enum int Hangul_RieulMieum
= 3755;
8602 enum int Hangul_RieulPhieuf
= 3759;
8603 enum int Hangul_RieulPieub
= 3756;
8604 enum int Hangul_RieulSios
= 3757;
8605 enum int Hangul_RieulTieut
= 3758;
8606 enum int Hangul_RieulYeorinHieuh
= 3823;
8607 enum int Hangul_Romaja
= 65334;
8608 enum int Hangul_SingleCandidate
= 65340;
8609 enum int Hangul_Sios
= 3765;
8610 enum int Hangul_Special
= 65343;
8611 enum int Hangul_SsangDikeud
= 3752;
8612 enum int Hangul_SsangJieuj
= 3769;
8613 enum int Hangul_SsangKiyeog
= 3746;
8614 enum int Hangul_SsangPieub
= 3763;
8615 enum int Hangul_SsangSios
= 3766;
8616 enum int Hangul_Start
= 65330;
8617 enum int Hangul_SunkyeongeumMieum
= 3824;
8618 enum int Hangul_SunkyeongeumPhieuf
= 3828;
8619 enum int Hangul_SunkyeongeumPieub
= 3825;
8620 enum int Hangul_Tieut
= 3772;
8621 enum int Hangul_U
= 3788;
8622 enum int Hangul_WA
= 3784;
8623 enum int Hangul_WAE
= 3785;
8624 enum int Hangul_WE
= 3790;
8625 enum int Hangul_WEO
= 3789;
8626 enum int Hangul_WI
= 3791;
8627 enum int Hangul_YA
= 3777;
8628 enum int Hangul_YAE
= 3778;
8629 enum int Hangul_YE
= 3782;
8630 enum int Hangul_YEO
= 3781;
8631 enum int Hangul_YI
= 3794;
8632 enum int Hangul_YO
= 3787;
8633 enum int Hangul_YU
= 3792;
8634 enum int Hangul_YeorinHieuh
= 3829;
8635 enum int Hangul_switch
= 65406;
8636 enum int Hankaku
= 65321;
8637 enum int Hcircumflex
= 678;
8638 enum int Hebrew_switch
= 65406;
8639 enum int Help
= 65386;
8640 enum int Henkan
= 65315;
8641 enum int Henkan_Mode
= 65315;
8642 enum int Hibernate
= 269025192;
8643 enum int Hiragana
= 65317;
8644 enum int Hiragana_Katakana
= 65319;
8645 enum int History
= 269025079;
8646 enum int Home
= 65360;
8647 enum int HomePage
= 269025048;
8648 enum int HotLinks
= 269025082;
8649 enum int Hstroke
= 673;
8650 enum int Hyper_L
= 65517;
8651 enum int Hyper_R
= 65518;
8653 enum int ISO_Center_Object
= 65075;
8654 enum int ISO_Continuous_Underline
= 65072;
8655 enum int ISO_Discontinuous_Underline
= 65073;
8656 enum int ISO_Emphasize
= 65074;
8657 enum int ISO_Enter
= 65076;
8658 enum int ISO_Fast_Cursor_Down
= 65071;
8659 enum int ISO_Fast_Cursor_Left
= 65068;
8660 enum int ISO_Fast_Cursor_Right
= 65069;
8661 enum int ISO_Fast_Cursor_Up
= 65070;
8662 enum int ISO_First_Group
= 65036;
8663 enum int ISO_First_Group_Lock
= 65037;
8664 enum int ISO_Group_Latch
= 65030;
8665 enum int ISO_Group_Lock
= 65031;
8666 enum int ISO_Group_Shift
= 65406;
8667 enum int ISO_Last_Group
= 65038;
8668 enum int ISO_Last_Group_Lock
= 65039;
8669 enum int ISO_Left_Tab
= 65056;
8670 enum int ISO_Level2_Latch
= 65026;
8671 enum int ISO_Level3_Latch
= 65028;
8672 enum int ISO_Level3_Lock
= 65029;
8673 enum int ISO_Level3_Shift
= 65027;
8674 enum int ISO_Level5_Latch
= 65042;
8675 enum int ISO_Level5_Lock
= 65043;
8676 enum int ISO_Level5_Shift
= 65041;
8677 enum int ISO_Lock
= 65025;
8678 enum int ISO_Move_Line_Down
= 65058;
8679 enum int ISO_Move_Line_Up
= 65057;
8680 enum int ISO_Next_Group
= 65032;
8681 enum int ISO_Next_Group_Lock
= 65033;
8682 enum int ISO_Partial_Line_Down
= 65060;
8683 enum int ISO_Partial_Line_Up
= 65059;
8684 enum int ISO_Partial_Space_Left
= 65061;
8685 enum int ISO_Partial_Space_Right
= 65062;
8686 enum int ISO_Prev_Group
= 65034;
8687 enum int ISO_Prev_Group_Lock
= 65035;
8688 enum int ISO_Release_Both_Margins
= 65067;
8689 enum int ISO_Release_Margin_Left
= 65065;
8690 enum int ISO_Release_Margin_Right
= 65066;
8691 enum int ISO_Set_Margin_Left
= 65063;
8692 enum int ISO_Set_Margin_Right
= 65064;
8693 enum int Iabovedot
= 681;
8694 enum int Iacute
= 205;
8695 enum int Ibelowdot
= 16785098;
8696 enum int Ibreve
= 16777516;
8697 enum int Icircumflex
= 206;
8698 enum int Idiaeresis
= 207;
8699 enum int Igrave
= 204;
8700 enum int Ihook
= 16785096;
8701 enum int Imacron
= 975;
8702 // Error conditions returned by clutter_init() and clutter_init_with_args().
8703 enum InitError
/* Version 0.2 */ {
8710 // The type of axes Clutter recognizes on a #ClutterInputDevice
8711 enum InputAxis
/* Version 1.6 */ {
8721 // Generic representation of an input device. The actual contents of this
8722 // structure depend on the backend used.
8723 struct InputDevice
/* : GObject.Object */ {
8724 alias method_parent
this;
8725 alias method_parent super_
;
8726 alias method_parent object
;
8727 GObject2
.Object method_parent
;
8731 // Retrieves a pointer to the #ClutterInputDevice that has been
8732 // associated to @device.
8734 // If the #ClutterInputDevice:device-mode property of @device is
8735 // set to %CLUTTER_INPUT_MODE_MASTER, this function will return
8737 // RETURNS: a #ClutterInputDevice, or %NULL
8738 InputDevice
* get_associated_device()() {
8739 return clutter_input_device_get_associated_device(&this);
8743 // Retrieves the type of axis on @device at the given index.
8744 // RETURNS: the axis type
8745 // <index_>: the index of the axis
8746 InputAxis
get_axis()(uint index_
) {
8747 return clutter_input_device_get_axis(&this, index_
);
8751 // Extracts the value of the given @axis of a #ClutterInputDevice from
8752 // an array of axis values.
8754 // An example of typical usage for this function is:
8757 // ClutterInputDevice *device = clutter_event_get_device (event);
8758 // gdouble *axes = clutter_event_get_axes (event, NULL);
8759 // gdouble pressure_value = 0;
8761 // clutter_input_device_get_axis_value (device, axes,
8762 // CLUTTER_INPUT_AXIS_PRESSURE,
8763 // &pressure_value);
8765 // RETURNS: %TRUE if the value was set, and %FALSE otherwise
8766 // <axes>: an array of axes values, typically coming from clutter_event_get_axes()
8767 // <axis>: the axis to extract
8768 // <value>: return location for the axis value
8769 int get_axis_value()(double* axes
, InputAxis axis
, /*out*/ double* value
) {
8770 return clutter_input_device_get_axis_value(&this, axes
, axis
, value
);
8774 // Retrieves the latest coordinates of the pointer of @device
8775 // <x>: return location for the X coordinate
8776 // <y>: return location for the Y coordinate
8777 void get_device_coords()(/*out*/ int* x
, /*out*/ int* y
) {
8778 clutter_input_device_get_device_coords(&this, x
, y
);
8782 // Retrieves the unique identifier of @device
8783 // RETURNS: the identifier of the device
8784 int get_device_id()() {
8785 return clutter_input_device_get_device_id(&this);
8789 // Retrieves the #ClutterInputMode of @device.
8790 // RETURNS: the device mode
8791 InputMode
get_device_mode()() {
8792 return clutter_input_device_get_device_mode(&this);
8796 // Retrieves the name of the @device
8798 // is owned by the #ClutterInputDevice and should never be modified
8800 // RETURNS: the name of the device, or %NULL. The returned string
8801 char* get_device_name()() {
8802 return clutter_input_device_get_device_name(&this);
8806 // Retrieves the type of @device
8807 // RETURNS: the type of the device
8808 InputDeviceType
get_device_type()() {
8809 return clutter_input_device_get_device_type(&this);
8813 // Retrieves whether @device is enabled.
8814 // RETURNS: %TRUE if the device is enabled
8815 int get_enabled()() {
8816 return clutter_input_device_get_enabled(&this);
8820 // Retrieves whether @device has a pointer that follows the
8822 // RETURNS: %TRUE if the device has a cursor
8823 int get_has_cursor()() {
8824 return clutter_input_device_get_has_cursor(&this);
8828 // Retrieves the key set using clutter_input_device_set_key()
8829 // RETURNS: %TRUE if a key was set at the given index
8830 // <index_>: the index of the key
8831 // <keyval>: return location for the keyval at @index_
8832 // <modifiers>: return location for the modifiers at @index_
8833 int get_key()(uint index_
, /*out*/ uint* keyval
, /*out*/ ModifierType
* modifiers
) {
8834 return clutter_input_device_get_key(&this, index_
, keyval
, modifiers
);
8838 // Retrieves the number of axes available on @device.
8839 // RETURNS: the number of axes on the device
8840 uint get_n_axes()() {
8841 return clutter_input_device_get_n_axes(&this);
8845 // Retrieves the number of keys registered for @device.
8846 // RETURNS: the number of registered keys
8847 uint get_n_keys()() {
8848 return clutter_input_device_get_n_keys(&this);
8852 // Retrieves the #ClutterActor underneath the pointer of @device
8853 // RETURNS: a pointer to the #ClutterActor or %NULL
8854 Actor
* get_pointer_actor()() {
8855 return clutter_input_device_get_pointer_actor(&this);
8859 // Retrieves the #ClutterStage underneath the pointer of @device
8860 // RETURNS: a pointer to the #ClutterStage or %NULL
8861 Stage
* get_pointer_stage()() {
8862 return clutter_input_device_get_pointer_stage(&this);
8866 // Retrieves the slave devices attached to @device.
8868 // list of #ClutterInputDevice, or %NULL. The contents of the list are
8869 // owned by the device. Use g_list_free() when done
8871 GLib2
.List
* /*new container*/ get_slave_devices()() {
8872 return clutter_input_device_get_slave_devices(&this);
8876 // Enables or disables a #ClutterInputDevice.
8878 // Only devices with a #ClutterInputDevice:device-mode property set
8879 // to %CLUTTER_INPUT_MODE_SLAVE or %CLUTTER_INPUT_MODE_FLOATING can
8881 // <enabled>: %TRUE to enable the @device
8882 void set_enabled()(int enabled
) {
8883 clutter_input_device_set_enabled(&this, enabled
);
8887 // Sets the keyval and modifiers at the given @index_ for @device.
8889 // Clutter will use the keyval and modifiers set when filling out
8890 // an event coming from the same input device.
8891 // <index_>: the index of the key
8892 // <keyval>: the keyval
8893 // <modifiers>: a bitmask of modifiers
8894 void set_key()(uint index_
, uint keyval
, ModifierType modifiers
) {
8895 clutter_input_device_set_key(&this, index_
, keyval
, modifiers
);
8899 // Forcibly updates the state of the @device using a #ClutterEvent
8901 // This function should never be used by applications: it is meant
8902 // for integration with embedding toolkits, like clutter-gtk
8904 // Embedding toolkits that disable the event collection inside Clutter
8905 // need to use this function to update the state of input devices depending
8906 // on a #ClutterEvent that they are going to submit to the event handling code
8907 // in Clutter though clutter_do_event(). Since the input devices hold the state
8908 // that is going to be used to fill in fields like the #ClutterButtonEvent
8909 // click count, or to emit synthesized events like %CLUTTER_ENTER and
8910 // %CLUTTER_LEAVE, it is necessary for embedding toolkits to also be
8911 // responsible of updating the input device state.
8913 // For instance, this might be the code to translate an embedding toolkit
8914 // native motion notification into a Clutter #ClutterMotionEvent and ask
8915 // Clutter to process it:
8918 // ClutterEvent c_event;
8920 // translate_native_event_to_clutter (native_event, &c_event);
8922 // clutter_do_event (&c_event);
8925 // Before letting clutter_do_event() process the event, it is necessary to call
8926 // clutter_input_device_update_from_event():
8929 // ClutterEvent c_event;
8930 // ClutterDeviceManager *manager;
8931 // ClutterInputDevice *device;
8933 // translate_native_event_to_clutter (native_event, &c_event);
8935 // /* get the device manager */
8936 // manager = clutter_device_manager_get_default ();
8938 // /* use the default Core Pointer that Clutter
8939 // * backends register by default
8941 // device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE);
8943 // /* update the state of the input device */
8944 // clutter_input_device_update_from_event (device, &c_event, FALSE);
8946 // clutter_do_event (&c_event);
8949 // The @update_stage boolean argument should be used when the input device
8950 // enters and leaves a #ClutterStage; it will use the #ClutterStage field
8951 // of the passed @event to update the stage associated to the input device.
8952 // <event>: a #ClutterEvent
8953 // <update_stage>: whether to update the #ClutterStage of the @device using the stage of the event
8954 void update_from_event()(Event
* event
, int update_stage
) {
8955 clutter_input_device_update_from_event(&this, event
, update_stage
);
8959 struct InputDeviceClass
{
8963 // The types of input devices available.
8965 // The #ClutterInputDeviceType enumeration can be extended at later
8966 // date; not every platform supports every input device type.
8967 enum InputDeviceType
/* Version 1.0 */ {
8969 KEYBOARD_DEVICE
= 1,
8970 EXTENSION_DEVICE
= 2,
8971 JOYSTICK_DEVICE
= 3,
8973 TOUCHPAD_DEVICE
= 5,
8974 TOUCHSCREEN_DEVICE
= 6,
8980 // The mode for input devices available.
8981 enum InputMode
/* Version 1.6 */ {
8986 enum int Insert
= 65379;
8987 // The mode of interpolation between key frames
8988 enum Interpolation
/* Version 1.2 */ {
8993 // The #ClutterInterval structure contains only private data and should
8994 // be accessed using the provided functions.
8995 struct Interval
/* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
8996 alias parent_instance
this;
8997 alias parent_instance super_
;
8998 alias parent_instance initiallyunowned
;
8999 GObject2
.InitiallyUnowned parent_instance
;
9000 private IntervalPrivate
* priv
;
9003 // Unintrospectable constructor: new() / clutter_interval_new()
9005 // Creates a new #ClutterInterval holding values of type @gtype.
9007 // This function avoids using a #GValue for the initial and final values
9011 // interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0);
9012 // interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE);
9013 // interval = clutter_interval_new (G_TYPE_INT, 0, 360);
9015 // RETURNS: the newly created #ClutterInterval
9016 // <gtype>: the type of the values in the interval
9017 alias clutter_interval_new new_
; // Variadic
9020 // Creates a new #ClutterInterval of type @gtype, between @initial
9023 // This function is useful for language bindings.
9024 // RETURNS: the newly created #ClutterInterval
9025 // <gtype>: the type of the values in the interval
9026 // <initial>: a #GValue holding the initial value of the interval
9027 // <final>: a #GValue holding the final value of the interval
9028 static Interval
* new_with_values()(Type gtype
, GObject2
.Value
* initial
, GObject2
.Value
* final_
) {
9029 return clutter_interval_new_with_values(gtype
, initial
, final_
);
9032 // Unintrospectable function: register_progress_func() / clutter_interval_register_progress_func()
9034 // Sets the progress function for a given @value_type, like:
9037 // clutter_interval_register_progress_func (MY_TYPE_FOO,
9038 // my_foo_progress);
9041 // Whenever a #ClutterInterval instance using the default
9042 // #ClutterInterval::compute_value implementation is set as an
9043 // interval between two #GValue of type @value_type, it will call
9044 // @func to establish the value depending on the given progress,
9049 // my_int_progress (const GValue *a,
9051 // gdouble progress,
9054 // gint ia = g_value_get_int (a);
9055 // gint ib = g_value_get_int (b);
9056 // gint res = factor * (ib - ia) + ia;
9058 // g_value_set_int (retval, res);
9063 // clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress);
9066 // To unset a previously set progress function of a #GType, pass %NULL
9068 // <value_type>: a #GType
9069 // <func>: a #ClutterProgressFunc, or %NULL to unset a previously set progress function
9070 static void register_progress_func()(Type value_type
, ProgressFunc func
) {
9071 clutter_interval_register_progress_func(value_type
, func
);
9075 // Creates a copy of @interval.
9076 // RETURNS: the newly created #ClutterInterval
9077 Interval
* /*new*/ clone()() {
9078 return clutter_interval_clone(&this);
9082 // Computes the value between the @interval boundaries given the
9085 // Unlike clutter_interval_compute_value(), this function will
9086 // return a const pointer to the computed value
9088 // You should use this function if you immediately pass the computed
9089 // value to another function that makes a copy of it, like
9090 // g_object_set_property()
9092 // or %NULL if the computation was not successfull
9093 // RETURNS: a pointer to the computed value,
9094 // <factor>: the progress factor, between 0 and 1
9095 GObject2
.Value
* compute()(double factor
) {
9096 return clutter_interval_compute(&this, factor
);
9100 // Computes the value between the @interval boundaries given the
9101 // progress @factor and copies it into @value.
9102 // RETURNS: %TRUE if the operation was successful
9103 // <factor>: the progress factor, between 0 and 1
9104 // <value>: return location for an initialized #GValue
9105 int compute_value()(double factor
, /*out*/ GObject2
.Value
* value
) {
9106 return clutter_interval_compute_value(&this, factor
, value
);
9110 // Retrieves the final value of @interval and copies
9113 // The passed #GValue must be initialized to the value held by
9114 // the #ClutterInterval.
9115 // <value>: a #GValue
9116 void get_final_value()(/*out*/ GObject2
.Value
* value
) {
9117 clutter_interval_get_final_value(&this, value
);
9121 // Retrieves the initial value of @interval and copies
9124 // The passed #GValue must be initialized to the value held by
9125 // the #ClutterInterval.
9126 // <value>: a #GValue
9127 void get_initial_value()(/*out*/ GObject2
.Value
* value
) {
9128 clutter_interval_get_initial_value(&this, value
);
9131 // Unintrospectable method: get_interval() / clutter_interval_get_interval()
9133 // Variable arguments wrapper for clutter_interval_get_initial_value()
9134 // and clutter_interval_get_final_value() that avoids using the
9135 // #GValue arguments:
9138 // gint a = 0, b = 0;
9139 // clutter_interval_get_interval (interval, &a, &b);
9142 // This function is meant for the convenience of the C API; bindings
9143 // should reimplement this function using the #GValue-based API.
9144 /+ Not available -- variadic methods unsupported - use the C function directly.
9145 alias clutter_interval_get_interval get_interval; // Variadic
9149 // Retrieves the #GType of the values inside @interval.
9150 // RETURNS: the type of the value, or G_TYPE_INVALID
9151 Type
get_value_type()() {
9152 return clutter_interval_get_value_type(&this);
9156 // Gets the pointer to the final value of @interval
9158 // The value is owned by the #ClutterInterval and it should not be
9159 // modified or freed
9160 // RETURNS: the final value of the interval.
9161 GObject2
.Value
* peek_final_value()() {
9162 return clutter_interval_peek_final_value(&this);
9166 // Gets the pointer to the initial value of @interval
9168 // The value is owned by the #ClutterInterval and it should not be
9169 // modified or freed
9170 // RETURNS: the initial value of the interval.
9171 GObject2
.Value
* peek_initial_value()() {
9172 return clutter_interval_peek_initial_value(&this);
9176 // Sets the final value of @interval to @value. The value is
9177 // copied inside the #ClutterInterval.
9178 // <value>: a #GValue
9179 void set_final_value()(GObject2
.Value
* value
) {
9180 clutter_interval_set_final_value(&this, value
);
9184 // Sets the initial value of @interval to @value. The value is copied
9185 // inside the #ClutterInterval.
9186 // <value>: a #GValue
9187 void set_initial_value()(GObject2
.Value
* value
) {
9188 clutter_interval_set_initial_value(&this, value
);
9191 // Unintrospectable method: set_interval() / clutter_interval_set_interval()
9193 // Variable arguments wrapper for clutter_interval_set_initial_value()
9194 // and clutter_interval_set_final_value() that avoids using the
9195 // #GValue arguments:
9198 // clutter_interval_set_interval (interval, 0, 50);
9199 // clutter_interval_set_interval (interval, 1.0, 0.0);
9200 // clutter_interval_set_interval (interval, FALSE, TRUE);
9203 // This function is meant for the convenience of the C API; bindings
9204 // should reimplement this function using the #GValue-based API.
9205 /+ Not available -- variadic methods unsupported - use the C function directly.
9206 alias clutter_interval_set_interval set_interval; // Variadic
9210 // Validates the initial and final values of @interval against
9212 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
9213 // <pspec>: a #GParamSpec
9214 int validate()(GObject2
.ParamSpec
* pspec
) {
9215 return clutter_interval_validate(&this, pspec
);
9219 // The #ClutterIntervalClass contains only private data.
9220 struct IntervalClass
/* Version 1.0 */ {
9221 private GObject2
.InitiallyUnownedClass parent_class
;
9223 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
9224 // <pspec>: a #GParamSpec
9225 extern (C
) int function (Interval
* interval
, GObject2
.ParamSpec
* pspec
) validate
;
9227 // RETURNS: %TRUE if the operation was successful
9228 // <factor>: the progress factor, between 0 and 1
9229 // <value>: return location for an initialized #GValue
9230 extern (C
) int function (Interval
* interval
, double factor
, /*out*/ GObject2
.Value
* value
) compute_value
;
9231 extern (C
) void function () _clutter_reserved1
;
9232 extern (C
) void function () _clutter_reserved2
;
9233 extern (C
) void function () _clutter_reserved3
;
9234 extern (C
) void function () _clutter_reserved4
;
9235 extern (C
) void function () _clutter_reserved5
;
9236 extern (C
) void function () _clutter_reserved6
;
9239 struct IntervalPrivate
{
9242 enum int Iogonek
= 967;
9243 enum int Itilde
= 933;
9245 enum int Jcircumflex
= 684;
9247 enum int KEY_0
= 48;
9248 enum int KEY_1
= 49;
9249 enum int KEY_2
= 50;
9250 enum int KEY_3
= 51;
9251 enum int KEY_3270_AltCursor
= 64784;
9252 enum int KEY_3270_Attn
= 64782;
9253 enum int KEY_3270_BackTab
= 64773;
9254 enum int KEY_3270_ChangeScreen
= 64793;
9255 enum int KEY_3270_Copy
= 64789;
9256 enum int KEY_3270_CursorBlink
= 64783;
9257 enum int KEY_3270_CursorSelect
= 64796;
9258 enum int KEY_3270_DeleteWord
= 64794;
9259 enum int KEY_3270_Duplicate
= 64769;
9260 enum int KEY_3270_Enter
= 64798;
9261 enum int KEY_3270_EraseEOF
= 64774;
9262 enum int KEY_3270_EraseInput
= 64775;
9263 enum int KEY_3270_ExSelect
= 64795;
9264 enum int KEY_3270_FieldMark
= 64770;
9265 enum int KEY_3270_Ident
= 64787;
9266 enum int KEY_3270_Jump
= 64786;
9267 enum int KEY_3270_KeyClick
= 64785;
9268 enum int KEY_3270_Left2
= 64772;
9269 enum int KEY_3270_PA1
= 64778;
9270 enum int KEY_3270_PA2
= 64779;
9271 enum int KEY_3270_PA3
= 64780;
9272 enum int KEY_3270_Play
= 64790;
9273 enum int KEY_3270_PrintScreen
= 64797;
9274 enum int KEY_3270_Quit
= 64777;
9275 enum int KEY_3270_Record
= 64792;
9276 enum int KEY_3270_Reset
= 64776;
9277 enum int KEY_3270_Right2
= 64771;
9278 enum int KEY_3270_Rule
= 64788;
9279 enum int KEY_3270_Setup
= 64791;
9280 enum int KEY_3270_Test
= 64781;
9281 enum int KEY_4
= 52;
9282 enum int KEY_5
= 53;
9283 enum int KEY_6
= 54;
9284 enum int KEY_7
= 55;
9285 enum int KEY_8
= 56;
9286 enum int KEY_9
= 57;
9287 enum int KEY_A
= 65;
9288 enum int KEY_AE
= 198;
9289 enum int KEY_Aacute
= 193;
9290 enum int KEY_Abelowdot
= 16785056;
9291 enum int KEY_Abreve
= 451;
9292 enum int KEY_Abreveacute
= 16785070;
9293 enum int KEY_Abrevebelowdot
= 16785078;
9294 enum int KEY_Abrevegrave
= 16785072;
9295 enum int KEY_Abrevehook
= 16785074;
9296 enum int KEY_Abrevetilde
= 16785076;
9297 enum int KEY_AccessX_Enable
= 65136;
9298 enum int KEY_AccessX_Feedback_Enable
= 65137;
9299 enum int KEY_Acircumflex
= 194;
9300 enum int KEY_Acircumflexacute
= 16785060;
9301 enum int KEY_Acircumflexbelowdot
= 16785068;
9302 enum int KEY_Acircumflexgrave
= 16785062;
9303 enum int KEY_Acircumflexhook
= 16785064;
9304 enum int KEY_Acircumflextilde
= 16785066;
9305 enum int KEY_AddFavorite
= 269025081;
9306 enum int KEY_Adiaeresis
= 196;
9307 enum int KEY_Agrave
= 192;
9308 enum int KEY_Ahook
= 16785058;
9309 enum int KEY_Alt_L
= 65513;
9310 enum int KEY_Alt_R
= 65514;
9311 enum int KEY_Amacron
= 960;
9312 enum int KEY_Aogonek
= 417;
9313 enum int KEY_ApplicationLeft
= 269025104;
9314 enum int KEY_ApplicationRight
= 269025105;
9315 enum int KEY_Arabic_0
= 16778848;
9316 enum int KEY_Arabic_1
= 16778849;
9317 enum int KEY_Arabic_2
= 16778850;
9318 enum int KEY_Arabic_3
= 16778851;
9319 enum int KEY_Arabic_4
= 16778852;
9320 enum int KEY_Arabic_5
= 16778853;
9321 enum int KEY_Arabic_6
= 16778854;
9322 enum int KEY_Arabic_7
= 16778855;
9323 enum int KEY_Arabic_8
= 16778856;
9324 enum int KEY_Arabic_9
= 16778857;
9325 enum int KEY_Arabic_ain
= 1497;
9326 enum int KEY_Arabic_alef
= 1479;
9327 enum int KEY_Arabic_alefmaksura
= 1513;
9328 enum int KEY_Arabic_beh
= 1480;
9329 enum int KEY_Arabic_comma
= 1452;
9330 enum int KEY_Arabic_dad
= 1494;
9331 enum int KEY_Arabic_dal
= 1487;
9332 enum int KEY_Arabic_damma
= 1519;
9333 enum int KEY_Arabic_dammatan
= 1516;
9334 enum int KEY_Arabic_ddal
= 16778888;
9335 enum int KEY_Arabic_farsi_yeh
= 16778956;
9336 enum int KEY_Arabic_fatha
= 1518;
9337 enum int KEY_Arabic_fathatan
= 1515;
9338 enum int KEY_Arabic_feh
= 1505;
9339 enum int KEY_Arabic_fullstop
= 16778964;
9340 enum int KEY_Arabic_gaf
= 16778927;
9341 enum int KEY_Arabic_ghain
= 1498;
9342 enum int KEY_Arabic_ha
= 1511;
9343 enum int KEY_Arabic_hah
= 1485;
9344 enum int KEY_Arabic_hamza
= 1473;
9345 enum int KEY_Arabic_hamza_above
= 16778836;
9346 enum int KEY_Arabic_hamza_below
= 16778837;
9347 enum int KEY_Arabic_hamzaonalef
= 1475;
9348 enum int KEY_Arabic_hamzaonwaw
= 1476;
9349 enum int KEY_Arabic_hamzaonyeh
= 1478;
9350 enum int KEY_Arabic_hamzaunderalef
= 1477;
9351 enum int KEY_Arabic_heh
= 1511;
9352 enum int KEY_Arabic_heh_doachashmee
= 16778942;
9353 enum int KEY_Arabic_heh_goal
= 16778945;
9354 enum int KEY_Arabic_jeem
= 1484;
9355 enum int KEY_Arabic_jeh
= 16778904;
9356 enum int KEY_Arabic_kaf
= 1507;
9357 enum int KEY_Arabic_kasra
= 1520;
9358 enum int KEY_Arabic_kasratan
= 1517;
9359 enum int KEY_Arabic_keheh
= 16778921;
9360 enum int KEY_Arabic_khah
= 1486;
9361 enum int KEY_Arabic_lam
= 1508;
9362 enum int KEY_Arabic_madda_above
= 16778835;
9363 enum int KEY_Arabic_maddaonalef
= 1474;
9364 enum int KEY_Arabic_meem
= 1509;
9365 enum int KEY_Arabic_noon
= 1510;
9366 enum int KEY_Arabic_noon_ghunna
= 16778938;
9367 enum int KEY_Arabic_peh
= 16778878;
9368 enum int KEY_Arabic_percent
= 16778858;
9369 enum int KEY_Arabic_qaf
= 1506;
9370 enum int KEY_Arabic_question_mark
= 1471;
9371 enum int KEY_Arabic_ra
= 1489;
9372 enum int KEY_Arabic_rreh
= 16778897;
9373 enum int KEY_Arabic_sad
= 1493;
9374 enum int KEY_Arabic_seen
= 1491;
9375 enum int KEY_Arabic_semicolon
= 1467;
9376 enum int KEY_Arabic_shadda
= 1521;
9377 enum int KEY_Arabic_sheen
= 1492;
9378 enum int KEY_Arabic_sukun
= 1522;
9379 enum int KEY_Arabic_superscript_alef
= 16778864;
9380 enum int KEY_Arabic_switch
= 65406;
9381 enum int KEY_Arabic_tah
= 1495;
9382 enum int KEY_Arabic_tatweel
= 1504;
9383 enum int KEY_Arabic_tcheh
= 16778886;
9384 enum int KEY_Arabic_teh
= 1482;
9385 enum int KEY_Arabic_tehmarbuta
= 1481;
9386 enum int KEY_Arabic_thal
= 1488;
9387 enum int KEY_Arabic_theh
= 1483;
9388 enum int KEY_Arabic_tteh
= 16778873;
9389 enum int KEY_Arabic_veh
= 16778916;
9390 enum int KEY_Arabic_waw
= 1512;
9391 enum int KEY_Arabic_yeh
= 1514;
9392 enum int KEY_Arabic_yeh_baree
= 16778962;
9393 enum int KEY_Arabic_zah
= 1496;
9394 enum int KEY_Arabic_zain
= 1490;
9395 enum int KEY_Aring
= 197;
9396 enum int KEY_Armenian_AT
= 16778552;
9397 enum int KEY_Armenian_AYB
= 16778545;
9398 enum int KEY_Armenian_BEN
= 16778546;
9399 enum int KEY_Armenian_CHA
= 16778569;
9400 enum int KEY_Armenian_DA
= 16778548;
9401 enum int KEY_Armenian_DZA
= 16778561;
9402 enum int KEY_Armenian_E
= 16778551;
9403 enum int KEY_Armenian_FE
= 16778582;
9404 enum int KEY_Armenian_GHAT
= 16778562;
9405 enum int KEY_Armenian_GIM
= 16778547;
9406 enum int KEY_Armenian_HI
= 16778565;
9407 enum int KEY_Armenian_HO
= 16778560;
9408 enum int KEY_Armenian_INI
= 16778555;
9409 enum int KEY_Armenian_JE
= 16778571;
9410 enum int KEY_Armenian_KE
= 16778580;
9411 enum int KEY_Armenian_KEN
= 16778559;
9412 enum int KEY_Armenian_KHE
= 16778557;
9413 enum int KEY_Armenian_LYUN
= 16778556;
9414 enum int KEY_Armenian_MEN
= 16778564;
9415 enum int KEY_Armenian_NU
= 16778566;
9416 enum int KEY_Armenian_O
= 16778581;
9417 enum int KEY_Armenian_PE
= 16778570;
9418 enum int KEY_Armenian_PYUR
= 16778579;
9419 enum int KEY_Armenian_RA
= 16778572;
9420 enum int KEY_Armenian_RE
= 16778576;
9421 enum int KEY_Armenian_SE
= 16778573;
9422 enum int KEY_Armenian_SHA
= 16778567;
9423 enum int KEY_Armenian_TCHE
= 16778563;
9424 enum int KEY_Armenian_TO
= 16778553;
9425 enum int KEY_Armenian_TSA
= 16778558;
9426 enum int KEY_Armenian_TSO
= 16778577;
9427 enum int KEY_Armenian_TYUN
= 16778575;
9428 enum int KEY_Armenian_VEV
= 16778574;
9429 enum int KEY_Armenian_VO
= 16778568;
9430 enum int KEY_Armenian_VYUN
= 16778578;
9431 enum int KEY_Armenian_YECH
= 16778549;
9432 enum int KEY_Armenian_ZA
= 16778550;
9433 enum int KEY_Armenian_ZHE
= 16778554;
9434 enum int KEY_Armenian_accent
= 16778587;
9435 enum int KEY_Armenian_amanak
= 16778588;
9436 enum int KEY_Armenian_apostrophe
= 16778586;
9437 enum int KEY_Armenian_at
= 16778600;
9438 enum int KEY_Armenian_ayb
= 16778593;
9439 enum int KEY_Armenian_ben
= 16778594;
9440 enum int KEY_Armenian_but
= 16778589;
9441 enum int KEY_Armenian_cha
= 16778617;
9442 enum int KEY_Armenian_da
= 16778596;
9443 enum int KEY_Armenian_dza
= 16778609;
9444 enum int KEY_Armenian_e
= 16778599;
9445 enum int KEY_Armenian_exclam
= 16778588;
9446 enum int KEY_Armenian_fe
= 16778630;
9447 enum int KEY_Armenian_full_stop
= 16778633;
9448 enum int KEY_Armenian_ghat
= 16778610;
9449 enum int KEY_Armenian_gim
= 16778595;
9450 enum int KEY_Armenian_hi
= 16778613;
9451 enum int KEY_Armenian_ho
= 16778608;
9452 enum int KEY_Armenian_hyphen
= 16778634;
9453 enum int KEY_Armenian_ini
= 16778603;
9454 enum int KEY_Armenian_je
= 16778619;
9455 enum int KEY_Armenian_ke
= 16778628;
9456 enum int KEY_Armenian_ken
= 16778607;
9457 enum int KEY_Armenian_khe
= 16778605;
9458 enum int KEY_Armenian_ligature_ew
= 16778631;
9459 enum int KEY_Armenian_lyun
= 16778604;
9460 enum int KEY_Armenian_men
= 16778612;
9461 enum int KEY_Armenian_nu
= 16778614;
9462 enum int KEY_Armenian_o
= 16778629;
9463 enum int KEY_Armenian_paruyk
= 16778590;
9464 enum int KEY_Armenian_pe
= 16778618;
9465 enum int KEY_Armenian_pyur
= 16778627;
9466 enum int KEY_Armenian_question
= 16778590;
9467 enum int KEY_Armenian_ra
= 16778620;
9468 enum int KEY_Armenian_re
= 16778624;
9469 enum int KEY_Armenian_se
= 16778621;
9470 enum int KEY_Armenian_separation_mark
= 16778589;
9471 enum int KEY_Armenian_sha
= 16778615;
9472 enum int KEY_Armenian_shesht
= 16778587;
9473 enum int KEY_Armenian_tche
= 16778611;
9474 enum int KEY_Armenian_to
= 16778601;
9475 enum int KEY_Armenian_tsa
= 16778606;
9476 enum int KEY_Armenian_tso
= 16778625;
9477 enum int KEY_Armenian_tyun
= 16778623;
9478 enum int KEY_Armenian_verjaket
= 16778633;
9479 enum int KEY_Armenian_vev
= 16778622;
9480 enum int KEY_Armenian_vo
= 16778616;
9481 enum int KEY_Armenian_vyun
= 16778626;
9482 enum int KEY_Armenian_yech
= 16778597;
9483 enum int KEY_Armenian_yentamna
= 16778634;
9484 enum int KEY_Armenian_za
= 16778598;
9485 enum int KEY_Armenian_zhe
= 16778602;
9486 enum int KEY_Atilde
= 195;
9487 enum int KEY_AudibleBell_Enable
= 65146;
9488 enum int KEY_AudioCycleTrack
= 269025179;
9489 enum int KEY_AudioForward
= 269025175;
9490 enum int KEY_AudioLowerVolume
= 269025041;
9491 enum int KEY_AudioMedia
= 269025074;
9492 enum int KEY_AudioMute
= 269025042;
9493 enum int KEY_AudioNext
= 269025047;
9494 enum int KEY_AudioPause
= 269025073;
9495 enum int KEY_AudioPlay
= 269025044;
9496 enum int KEY_AudioPrev
= 269025046;
9497 enum int KEY_AudioRaiseVolume
= 269025043;
9498 enum int KEY_AudioRandomPlay
= 269025177;
9499 enum int KEY_AudioRecord
= 269025052;
9500 enum int KEY_AudioRepeat
= 269025176;
9501 enum int KEY_AudioRewind
= 269025086;
9502 enum int KEY_AudioStop
= 269025045;
9503 enum int KEY_Away
= 269025165;
9504 enum int KEY_B
= 66;
9505 enum int KEY_Babovedot
= 16784898;
9506 enum int KEY_Back
= 269025062;
9507 enum int KEY_BackForward
= 269025087;
9508 enum int KEY_BackSpace
= 65288;
9509 enum int KEY_Battery
= 269025171;
9510 enum int KEY_Begin
= 65368;
9511 enum int KEY_Blue
= 269025190;
9512 enum int KEY_Bluetooth
= 269025172;
9513 enum int KEY_Book
= 269025106;
9514 enum int KEY_BounceKeys_Enable
= 65140;
9515 enum int KEY_Break
= 65387;
9516 enum int KEY_BrightnessAdjust
= 269025083;
9517 enum int KEY_Byelorussian_SHORTU
= 1726;
9518 enum int KEY_Byelorussian_shortu
= 1710;
9519 enum int KEY_C
= 67;
9520 enum int KEY_CD
= 269025107;
9521 enum int KEY_Cabovedot
= 709;
9522 enum int KEY_Cacute
= 454;
9523 enum int KEY_Calculator
= 269025053;
9524 enum int KEY_Calendar
= 269025056;
9525 enum int KEY_Cancel
= 65385;
9526 enum int KEY_Caps_Lock
= 65509;
9527 enum int KEY_Ccaron
= 456;
9528 enum int KEY_Ccedilla
= 199;
9529 enum int KEY_Ccircumflex
= 710;
9530 enum int KEY_Clear
= 65291;
9531 enum int KEY_ClearGrab
= 269024801;
9532 enum int KEY_Close
= 269025110;
9533 enum int KEY_Codeinput
= 65335;
9534 enum int KEY_ColonSign
= 16785569;
9535 enum int KEY_Community
= 269025085;
9536 enum int KEY_ContrastAdjust
= 269025058;
9537 enum int KEY_Control_L
= 65507;
9538 enum int KEY_Control_R
= 65508;
9539 enum int KEY_Copy
= 269025111;
9540 enum int KEY_CruzeiroSign
= 16785570;
9541 enum int KEY_Cut
= 269025112;
9542 enum int KEY_CycleAngle
= 269025180;
9543 enum int KEY_Cyrillic_A
= 1761;
9544 enum int KEY_Cyrillic_BE
= 1762;
9545 enum int KEY_Cyrillic_CHE
= 1790;
9546 enum int KEY_Cyrillic_CHE_descender
= 16778422;
9547 enum int KEY_Cyrillic_CHE_vertstroke
= 16778424;
9548 enum int KEY_Cyrillic_DE
= 1764;
9549 enum int KEY_Cyrillic_DZHE
= 1727;
9550 enum int KEY_Cyrillic_E
= 1788;
9551 enum int KEY_Cyrillic_EF
= 1766;
9552 enum int KEY_Cyrillic_EL
= 1772;
9553 enum int KEY_Cyrillic_EM
= 1773;
9554 enum int KEY_Cyrillic_EN
= 1774;
9555 enum int KEY_Cyrillic_EN_descender
= 16778402;
9556 enum int KEY_Cyrillic_ER
= 1778;
9557 enum int KEY_Cyrillic_ES
= 1779;
9558 enum int KEY_Cyrillic_GHE
= 1767;
9559 enum int KEY_Cyrillic_GHE_bar
= 16778386;
9560 enum int KEY_Cyrillic_HA
= 1768;
9561 enum int KEY_Cyrillic_HARDSIGN
= 1791;
9562 enum int KEY_Cyrillic_HA_descender
= 16778418;
9563 enum int KEY_Cyrillic_I
= 1769;
9564 enum int KEY_Cyrillic_IE
= 1765;
9565 enum int KEY_Cyrillic_IO
= 1715;
9566 enum int KEY_Cyrillic_I_macron
= 16778466;
9567 enum int KEY_Cyrillic_JE
= 1720;
9568 enum int KEY_Cyrillic_KA
= 1771;
9569 enum int KEY_Cyrillic_KA_descender
= 16778394;
9570 enum int KEY_Cyrillic_KA_vertstroke
= 16778396;
9571 enum int KEY_Cyrillic_LJE
= 1721;
9572 enum int KEY_Cyrillic_NJE
= 1722;
9573 enum int KEY_Cyrillic_O
= 1775;
9574 enum int KEY_Cyrillic_O_bar
= 16778472;
9575 enum int KEY_Cyrillic_PE
= 1776;
9576 enum int KEY_Cyrillic_SCHWA
= 16778456;
9577 enum int KEY_Cyrillic_SHA
= 1787;
9578 enum int KEY_Cyrillic_SHCHA
= 1789;
9579 enum int KEY_Cyrillic_SHHA
= 16778426;
9580 enum int KEY_Cyrillic_SHORTI
= 1770;
9581 enum int KEY_Cyrillic_SOFTSIGN
= 1784;
9582 enum int KEY_Cyrillic_TE
= 1780;
9583 enum int KEY_Cyrillic_TSE
= 1763;
9584 enum int KEY_Cyrillic_U
= 1781;
9585 enum int KEY_Cyrillic_U_macron
= 16778478;
9586 enum int KEY_Cyrillic_U_straight
= 16778414;
9587 enum int KEY_Cyrillic_U_straight_bar
= 16778416;
9588 enum int KEY_Cyrillic_VE
= 1783;
9589 enum int KEY_Cyrillic_YA
= 1777;
9590 enum int KEY_Cyrillic_YERU
= 1785;
9591 enum int KEY_Cyrillic_YU
= 1760;
9592 enum int KEY_Cyrillic_ZE
= 1786;
9593 enum int KEY_Cyrillic_ZHE
= 1782;
9594 enum int KEY_Cyrillic_ZHE_descender
= 16778390;
9595 enum int KEY_Cyrillic_a
= 1729;
9596 enum int KEY_Cyrillic_be
= 1730;
9597 enum int KEY_Cyrillic_che
= 1758;
9598 enum int KEY_Cyrillic_che_descender
= 16778423;
9599 enum int KEY_Cyrillic_che_vertstroke
= 16778425;
9600 enum int KEY_Cyrillic_de
= 1732;
9601 enum int KEY_Cyrillic_dzhe
= 1711;
9602 enum int KEY_Cyrillic_e
= 1756;
9603 enum int KEY_Cyrillic_ef
= 1734;
9604 enum int KEY_Cyrillic_el
= 1740;
9605 enum int KEY_Cyrillic_em
= 1741;
9606 enum int KEY_Cyrillic_en
= 1742;
9607 enum int KEY_Cyrillic_en_descender
= 16778403;
9608 enum int KEY_Cyrillic_er
= 1746;
9609 enum int KEY_Cyrillic_es
= 1747;
9610 enum int KEY_Cyrillic_ghe
= 1735;
9611 enum int KEY_Cyrillic_ghe_bar
= 16778387;
9612 enum int KEY_Cyrillic_ha
= 1736;
9613 enum int KEY_Cyrillic_ha_descender
= 16778419;
9614 enum int KEY_Cyrillic_hardsign
= 1759;
9615 enum int KEY_Cyrillic_i
= 1737;
9616 enum int KEY_Cyrillic_i_macron
= 16778467;
9617 enum int KEY_Cyrillic_ie
= 1733;
9618 enum int KEY_Cyrillic_io
= 1699;
9619 enum int KEY_Cyrillic_je
= 1704;
9620 enum int KEY_Cyrillic_ka
= 1739;
9621 enum int KEY_Cyrillic_ka_descender
= 16778395;
9622 enum int KEY_Cyrillic_ka_vertstroke
= 16778397;
9623 enum int KEY_Cyrillic_lje
= 1705;
9624 enum int KEY_Cyrillic_nje
= 1706;
9625 enum int KEY_Cyrillic_o
= 1743;
9626 enum int KEY_Cyrillic_o_bar
= 16778473;
9627 enum int KEY_Cyrillic_pe
= 1744;
9628 enum int KEY_Cyrillic_schwa
= 16778457;
9629 enum int KEY_Cyrillic_sha
= 1755;
9630 enum int KEY_Cyrillic_shcha
= 1757;
9631 enum int KEY_Cyrillic_shha
= 16778427;
9632 enum int KEY_Cyrillic_shorti
= 1738;
9633 enum int KEY_Cyrillic_softsign
= 1752;
9634 enum int KEY_Cyrillic_te
= 1748;
9635 enum int KEY_Cyrillic_tse
= 1731;
9636 enum int KEY_Cyrillic_u
= 1749;
9637 enum int KEY_Cyrillic_u_macron
= 16778479;
9638 enum int KEY_Cyrillic_u_straight
= 16778415;
9639 enum int KEY_Cyrillic_u_straight_bar
= 16778417;
9640 enum int KEY_Cyrillic_ve
= 1751;
9641 enum int KEY_Cyrillic_ya
= 1745;
9642 enum int KEY_Cyrillic_yeru
= 1753;
9643 enum int KEY_Cyrillic_yu
= 1728;
9644 enum int KEY_Cyrillic_ze
= 1754;
9645 enum int KEY_Cyrillic_zhe
= 1750;
9646 enum int KEY_Cyrillic_zhe_descender
= 16778391;
9647 enum int KEY_D
= 68;
9648 enum int KEY_DOS
= 269025114;
9649 enum int KEY_Dabovedot
= 16784906;
9650 enum int KEY_Dcaron
= 463;
9651 enum int KEY_Delete
= 65535;
9652 enum int KEY_Display
= 269025113;
9653 enum int KEY_Documents
= 269025115;
9654 enum int KEY_DongSign
= 16785579;
9655 enum int KEY_Down
= 65364;
9656 enum int KEY_Dstroke
= 464;
9657 enum int KEY_E
= 69;
9658 enum int KEY_ENG
= 957;
9659 enum int KEY_ETH
= 208;
9660 enum int KEY_Eabovedot
= 972;
9661 enum int KEY_Eacute
= 201;
9662 enum int KEY_Ebelowdot
= 16785080;
9663 enum int KEY_Ecaron
= 460;
9664 enum int KEY_Ecircumflex
= 202;
9665 enum int KEY_Ecircumflexacute
= 16785086;
9666 enum int KEY_Ecircumflexbelowdot
= 16785094;
9667 enum int KEY_Ecircumflexgrave
= 16785088;
9668 enum int KEY_Ecircumflexhook
= 16785090;
9669 enum int KEY_Ecircumflextilde
= 16785092;
9670 enum int KEY_EcuSign
= 16785568;
9671 enum int KEY_Ediaeresis
= 203;
9672 enum int KEY_Egrave
= 200;
9673 enum int KEY_Ehook
= 16785082;
9674 enum int KEY_Eisu_Shift
= 65327;
9675 enum int KEY_Eisu_toggle
= 65328;
9676 enum int KEY_Eject
= 269025068;
9677 enum int KEY_Emacron
= 938;
9678 enum int KEY_End
= 65367;
9679 enum int KEY_Eogonek
= 458;
9680 enum int KEY_Escape
= 65307;
9681 enum int KEY_Eth
= 208;
9682 enum int KEY_Etilde
= 16785084;
9683 enum int KEY_EuroSign
= 8364;
9684 enum int KEY_Excel
= 269025116;
9685 enum int KEY_Execute
= 65378;
9686 enum int KEY_Explorer
= 269025117;
9687 enum int KEY_F
= 70;
9688 enum int KEY_F1
= 65470;
9689 enum int KEY_F10
= 65479;
9690 enum int KEY_F11
= 65480;
9691 enum int KEY_F12
= 65481;
9692 enum int KEY_F13
= 65482;
9693 enum int KEY_F14
= 65483;
9694 enum int KEY_F15
= 65484;
9695 enum int KEY_F16
= 65485;
9696 enum int KEY_F17
= 65486;
9697 enum int KEY_F18
= 65487;
9698 enum int KEY_F19
= 65488;
9699 enum int KEY_F2
= 65471;
9700 enum int KEY_F20
= 65489;
9701 enum int KEY_F21
= 65490;
9702 enum int KEY_F22
= 65491;
9703 enum int KEY_F23
= 65492;
9704 enum int KEY_F24
= 65493;
9705 enum int KEY_F25
= 65494;
9706 enum int KEY_F26
= 65495;
9707 enum int KEY_F27
= 65496;
9708 enum int KEY_F28
= 65497;
9709 enum int KEY_F29
= 65498;
9710 enum int KEY_F3
= 65472;
9711 enum int KEY_F30
= 65499;
9712 enum int KEY_F31
= 65500;
9713 enum int KEY_F32
= 65501;
9714 enum int KEY_F33
= 65502;
9715 enum int KEY_F34
= 65503;
9716 enum int KEY_F35
= 65504;
9717 enum int KEY_F4
= 65473;
9718 enum int KEY_F5
= 65474;
9719 enum int KEY_F6
= 65475;
9720 enum int KEY_F7
= 65476;
9721 enum int KEY_F8
= 65477;
9722 enum int KEY_F9
= 65478;
9723 enum int KEY_FFrancSign
= 16785571;
9724 enum int KEY_Fabovedot
= 16784926;
9725 enum int KEY_Farsi_0
= 16778992;
9726 enum int KEY_Farsi_1
= 16778993;
9727 enum int KEY_Farsi_2
= 16778994;
9728 enum int KEY_Farsi_3
= 16778995;
9729 enum int KEY_Farsi_4
= 16778996;
9730 enum int KEY_Farsi_5
= 16778997;
9731 enum int KEY_Farsi_6
= 16778998;
9732 enum int KEY_Farsi_7
= 16778999;
9733 enum int KEY_Farsi_8
= 16779000;
9734 enum int KEY_Farsi_9
= 16779001;
9735 enum int KEY_Farsi_yeh
= 16778956;
9736 enum int KEY_Favorites
= 269025072;
9737 enum int KEY_Finance
= 269025084;
9738 enum int KEY_Find
= 65384;
9739 enum int KEY_First_Virtual_Screen
= 65232;
9740 enum int KEY_Forward
= 269025063;
9741 enum int KEY_FrameBack
= 269025181;
9742 enum int KEY_FrameForward
= 269025182;
9743 enum int KEY_G
= 71;
9744 enum int KEY_Gabovedot
= 725;
9745 enum int KEY_Game
= 269025118;
9746 enum int KEY_Gbreve
= 683;
9747 enum int KEY_Gcaron
= 16777702;
9748 enum int KEY_Gcedilla
= 939;
9749 enum int KEY_Gcircumflex
= 728;
9750 enum int KEY_Georgian_an
= 16781520;
9751 enum int KEY_Georgian_ban
= 16781521;
9752 enum int KEY_Georgian_can
= 16781546;
9753 enum int KEY_Georgian_char
= 16781549;
9754 enum int KEY_Georgian_chin
= 16781545;
9755 enum int KEY_Georgian_cil
= 16781548;
9756 enum int KEY_Georgian_don
= 16781523;
9757 enum int KEY_Georgian_en
= 16781524;
9758 enum int KEY_Georgian_fi
= 16781558;
9759 enum int KEY_Georgian_gan
= 16781522;
9760 enum int KEY_Georgian_ghan
= 16781542;
9761 enum int KEY_Georgian_hae
= 16781552;
9762 enum int KEY_Georgian_har
= 16781556;
9763 enum int KEY_Georgian_he
= 16781553;
9764 enum int KEY_Georgian_hie
= 16781554;
9765 enum int KEY_Georgian_hoe
= 16781557;
9766 enum int KEY_Georgian_in
= 16781528;
9767 enum int KEY_Georgian_jhan
= 16781551;
9768 enum int KEY_Georgian_jil
= 16781547;
9769 enum int KEY_Georgian_kan
= 16781529;
9770 enum int KEY_Georgian_khar
= 16781541;
9771 enum int KEY_Georgian_las
= 16781530;
9772 enum int KEY_Georgian_man
= 16781531;
9773 enum int KEY_Georgian_nar
= 16781532;
9774 enum int KEY_Georgian_on
= 16781533;
9775 enum int KEY_Georgian_par
= 16781534;
9776 enum int KEY_Georgian_phar
= 16781540;
9777 enum int KEY_Georgian_qar
= 16781543;
9778 enum int KEY_Georgian_rae
= 16781536;
9779 enum int KEY_Georgian_san
= 16781537;
9780 enum int KEY_Georgian_shin
= 16781544;
9781 enum int KEY_Georgian_tan
= 16781527;
9782 enum int KEY_Georgian_tar
= 16781538;
9783 enum int KEY_Georgian_un
= 16781539;
9784 enum int KEY_Georgian_vin
= 16781525;
9785 enum int KEY_Georgian_we
= 16781555;
9786 enum int KEY_Georgian_xan
= 16781550;
9787 enum int KEY_Georgian_zen
= 16781526;
9788 enum int KEY_Georgian_zhar
= 16781535;
9789 enum int KEY_Go
= 269025119;
9790 enum int KEY_Greek_ALPHA
= 1985;
9791 enum int KEY_Greek_ALPHAaccent
= 1953;
9792 enum int KEY_Greek_BETA
= 1986;
9793 enum int KEY_Greek_CHI
= 2007;
9794 enum int KEY_Greek_DELTA
= 1988;
9795 enum int KEY_Greek_EPSILON
= 1989;
9796 enum int KEY_Greek_EPSILONaccent
= 1954;
9797 enum int KEY_Greek_ETA
= 1991;
9798 enum int KEY_Greek_ETAaccent
= 1955;
9799 enum int KEY_Greek_GAMMA
= 1987;
9800 enum int KEY_Greek_IOTA
= 1993;
9801 enum int KEY_Greek_IOTAaccent
= 1956;
9802 enum int KEY_Greek_IOTAdiaeresis
= 1957;
9803 enum int KEY_Greek_IOTAdieresis
= 1957;
9804 enum int KEY_Greek_KAPPA
= 1994;
9805 enum int KEY_Greek_LAMBDA
= 1995;
9806 enum int KEY_Greek_LAMDA
= 1995;
9807 enum int KEY_Greek_MU
= 1996;
9808 enum int KEY_Greek_NU
= 1997;
9809 enum int KEY_Greek_OMEGA
= 2009;
9810 enum int KEY_Greek_OMEGAaccent
= 1963;
9811 enum int KEY_Greek_OMICRON
= 1999;
9812 enum int KEY_Greek_OMICRONaccent
= 1959;
9813 enum int KEY_Greek_PHI
= 2006;
9814 enum int KEY_Greek_PI
= 2000;
9815 enum int KEY_Greek_PSI
= 2008;
9816 enum int KEY_Greek_RHO
= 2001;
9817 enum int KEY_Greek_SIGMA
= 2002;
9818 enum int KEY_Greek_TAU
= 2004;
9819 enum int KEY_Greek_THETA
= 1992;
9820 enum int KEY_Greek_UPSILON
= 2005;
9821 enum int KEY_Greek_UPSILONaccent
= 1960;
9822 enum int KEY_Greek_UPSILONdieresis
= 1961;
9823 enum int KEY_Greek_XI
= 1998;
9824 enum int KEY_Greek_ZETA
= 1990;
9825 enum int KEY_Greek_accentdieresis
= 1966;
9826 enum int KEY_Greek_alpha
= 2017;
9827 enum int KEY_Greek_alphaaccent
= 1969;
9828 enum int KEY_Greek_beta
= 2018;
9829 enum int KEY_Greek_chi
= 2039;
9830 enum int KEY_Greek_delta
= 2020;
9831 enum int KEY_Greek_epsilon
= 2021;
9832 enum int KEY_Greek_epsilonaccent
= 1970;
9833 enum int KEY_Greek_eta
= 2023;
9834 enum int KEY_Greek_etaaccent
= 1971;
9835 enum int KEY_Greek_finalsmallsigma
= 2035;
9836 enum int KEY_Greek_gamma
= 2019;
9837 enum int KEY_Greek_horizbar
= 1967;
9838 enum int KEY_Greek_iota
= 2025;
9839 enum int KEY_Greek_iotaaccent
= 1972;
9840 enum int KEY_Greek_iotaaccentdieresis
= 1974;
9841 enum int KEY_Greek_iotadieresis
= 1973;
9842 enum int KEY_Greek_kappa
= 2026;
9843 enum int KEY_Greek_lambda
= 2027;
9844 enum int KEY_Greek_lamda
= 2027;
9845 enum int KEY_Greek_mu
= 2028;
9846 enum int KEY_Greek_nu
= 2029;
9847 enum int KEY_Greek_omega
= 2041;
9848 enum int KEY_Greek_omegaaccent
= 1979;
9849 enum int KEY_Greek_omicron
= 2031;
9850 enum int KEY_Greek_omicronaccent
= 1975;
9851 enum int KEY_Greek_phi
= 2038;
9852 enum int KEY_Greek_pi
= 2032;
9853 enum int KEY_Greek_psi
= 2040;
9854 enum int KEY_Greek_rho
= 2033;
9855 enum int KEY_Greek_sigma
= 2034;
9856 enum int KEY_Greek_switch
= 65406;
9857 enum int KEY_Greek_tau
= 2036;
9858 enum int KEY_Greek_theta
= 2024;
9859 enum int KEY_Greek_upsilon
= 2037;
9860 enum int KEY_Greek_upsilonaccent
= 1976;
9861 enum int KEY_Greek_upsilonaccentdieresis
= 1978;
9862 enum int KEY_Greek_upsilondieresis
= 1977;
9863 enum int KEY_Greek_xi
= 2030;
9864 enum int KEY_Greek_zeta
= 2022;
9865 enum int KEY_Green
= 269025188;
9866 enum int KEY_H
= 72;
9867 enum int KEY_Hangul
= 65329;
9868 enum int KEY_Hangul_A
= 3775;
9869 enum int KEY_Hangul_AE
= 3776;
9870 enum int KEY_Hangul_AraeA
= 3830;
9871 enum int KEY_Hangul_AraeAE
= 3831;
9872 enum int KEY_Hangul_Banja
= 65337;
9873 enum int KEY_Hangul_Cieuc
= 3770;
9874 enum int KEY_Hangul_Codeinput
= 65335;
9875 enum int KEY_Hangul_Dikeud
= 3751;
9876 enum int KEY_Hangul_E
= 3780;
9877 enum int KEY_Hangul_EO
= 3779;
9878 enum int KEY_Hangul_EU
= 3793;
9879 enum int KEY_Hangul_End
= 65331;
9880 enum int KEY_Hangul_Hanja
= 65332;
9881 enum int KEY_Hangul_Hieuh
= 3774;
9882 enum int KEY_Hangul_I
= 3795;
9883 enum int KEY_Hangul_Ieung
= 3767;
9884 enum int KEY_Hangul_J_Cieuc
= 3818;
9885 enum int KEY_Hangul_J_Dikeud
= 3802;
9886 enum int KEY_Hangul_J_Hieuh
= 3822;
9887 enum int KEY_Hangul_J_Ieung
= 3816;
9888 enum int KEY_Hangul_J_Jieuj
= 3817;
9889 enum int KEY_Hangul_J_Khieuq
= 3819;
9890 enum int KEY_Hangul_J_Kiyeog
= 3796;
9891 enum int KEY_Hangul_J_KiyeogSios
= 3798;
9892 enum int KEY_Hangul_J_KkogjiDalrinIeung
= 3833;
9893 enum int KEY_Hangul_J_Mieum
= 3811;
9894 enum int KEY_Hangul_J_Nieun
= 3799;
9895 enum int KEY_Hangul_J_NieunHieuh
= 3801;
9896 enum int KEY_Hangul_J_NieunJieuj
= 3800;
9897 enum int KEY_Hangul_J_PanSios
= 3832;
9898 enum int KEY_Hangul_J_Phieuf
= 3821;
9899 enum int KEY_Hangul_J_Pieub
= 3812;
9900 enum int KEY_Hangul_J_PieubSios
= 3813;
9901 enum int KEY_Hangul_J_Rieul
= 3803;
9902 enum int KEY_Hangul_J_RieulHieuh
= 3810;
9903 enum int KEY_Hangul_J_RieulKiyeog
= 3804;
9904 enum int KEY_Hangul_J_RieulMieum
= 3805;
9905 enum int KEY_Hangul_J_RieulPhieuf
= 3809;
9906 enum int KEY_Hangul_J_RieulPieub
= 3806;
9907 enum int KEY_Hangul_J_RieulSios
= 3807;
9908 enum int KEY_Hangul_J_RieulTieut
= 3808;
9909 enum int KEY_Hangul_J_Sios
= 3814;
9910 enum int KEY_Hangul_J_SsangKiyeog
= 3797;
9911 enum int KEY_Hangul_J_SsangSios
= 3815;
9912 enum int KEY_Hangul_J_Tieut
= 3820;
9913 enum int KEY_Hangul_J_YeorinHieuh
= 3834;
9914 enum int KEY_Hangul_Jamo
= 65333;
9915 enum int KEY_Hangul_Jeonja
= 65336;
9916 enum int KEY_Hangul_Jieuj
= 3768;
9917 enum int KEY_Hangul_Khieuq
= 3771;
9918 enum int KEY_Hangul_Kiyeog
= 3745;
9919 enum int KEY_Hangul_KiyeogSios
= 3747;
9920 enum int KEY_Hangul_KkogjiDalrinIeung
= 3827;
9921 enum int KEY_Hangul_Mieum
= 3761;
9922 enum int KEY_Hangul_MultipleCandidate
= 65341;
9923 enum int KEY_Hangul_Nieun
= 3748;
9924 enum int KEY_Hangul_NieunHieuh
= 3750;
9925 enum int KEY_Hangul_NieunJieuj
= 3749;
9926 enum int KEY_Hangul_O
= 3783;
9927 enum int KEY_Hangul_OE
= 3786;
9928 enum int KEY_Hangul_PanSios
= 3826;
9929 enum int KEY_Hangul_Phieuf
= 3773;
9930 enum int KEY_Hangul_Pieub
= 3762;
9931 enum int KEY_Hangul_PieubSios
= 3764;
9932 enum int KEY_Hangul_PostHanja
= 65339;
9933 enum int KEY_Hangul_PreHanja
= 65338;
9934 enum int KEY_Hangul_PreviousCandidate
= 65342;
9935 enum int KEY_Hangul_Rieul
= 3753;
9936 enum int KEY_Hangul_RieulHieuh
= 3760;
9937 enum int KEY_Hangul_RieulKiyeog
= 3754;
9938 enum int KEY_Hangul_RieulMieum
= 3755;
9939 enum int KEY_Hangul_RieulPhieuf
= 3759;
9940 enum int KEY_Hangul_RieulPieub
= 3756;
9941 enum int KEY_Hangul_RieulSios
= 3757;
9942 enum int KEY_Hangul_RieulTieut
= 3758;
9943 enum int KEY_Hangul_RieulYeorinHieuh
= 3823;
9944 enum int KEY_Hangul_Romaja
= 65334;
9945 enum int KEY_Hangul_SingleCandidate
= 65340;
9946 enum int KEY_Hangul_Sios
= 3765;
9947 enum int KEY_Hangul_Special
= 65343;
9948 enum int KEY_Hangul_SsangDikeud
= 3752;
9949 enum int KEY_Hangul_SsangJieuj
= 3769;
9950 enum int KEY_Hangul_SsangKiyeog
= 3746;
9951 enum int KEY_Hangul_SsangPieub
= 3763;
9952 enum int KEY_Hangul_SsangSios
= 3766;
9953 enum int KEY_Hangul_Start
= 65330;
9954 enum int KEY_Hangul_SunkyeongeumMieum
= 3824;
9955 enum int KEY_Hangul_SunkyeongeumPhieuf
= 3828;
9956 enum int KEY_Hangul_SunkyeongeumPieub
= 3825;
9957 enum int KEY_Hangul_Tieut
= 3772;
9958 enum int KEY_Hangul_U
= 3788;
9959 enum int KEY_Hangul_WA
= 3784;
9960 enum int KEY_Hangul_WAE
= 3785;
9961 enum int KEY_Hangul_WE
= 3790;
9962 enum int KEY_Hangul_WEO
= 3789;
9963 enum int KEY_Hangul_WI
= 3791;
9964 enum int KEY_Hangul_YA
= 3777;
9965 enum int KEY_Hangul_YAE
= 3778;
9966 enum int KEY_Hangul_YE
= 3782;
9967 enum int KEY_Hangul_YEO
= 3781;
9968 enum int KEY_Hangul_YI
= 3794;
9969 enum int KEY_Hangul_YO
= 3787;
9970 enum int KEY_Hangul_YU
= 3792;
9971 enum int KEY_Hangul_YeorinHieuh
= 3829;
9972 enum int KEY_Hangul_switch
= 65406;
9973 enum int KEY_Hankaku
= 65321;
9974 enum int KEY_Hcircumflex
= 678;
9975 enum int KEY_Hebrew_switch
= 65406;
9976 enum int KEY_Help
= 65386;
9977 enum int KEY_Henkan
= 65315;
9978 enum int KEY_Henkan_Mode
= 65315;
9979 enum int KEY_Hibernate
= 269025192;
9980 enum int KEY_Hiragana
= 65317;
9981 enum int KEY_Hiragana_Katakana
= 65319;
9982 enum int KEY_History
= 269025079;
9983 enum int KEY_Home
= 65360;
9984 enum int KEY_HomePage
= 269025048;
9985 enum int KEY_HotLinks
= 269025082;
9986 enum int KEY_Hstroke
= 673;
9987 enum int KEY_Hyper_L
= 65517;
9988 enum int KEY_Hyper_R
= 65518;
9989 enum int KEY_I
= 73;
9990 enum int KEY_ISO_Center_Object
= 65075;
9991 enum int KEY_ISO_Continuous_Underline
= 65072;
9992 enum int KEY_ISO_Discontinuous_Underline
= 65073;
9993 enum int KEY_ISO_Emphasize
= 65074;
9994 enum int KEY_ISO_Enter
= 65076;
9995 enum int KEY_ISO_Fast_Cursor_Down
= 65071;
9996 enum int KEY_ISO_Fast_Cursor_Left
= 65068;
9997 enum int KEY_ISO_Fast_Cursor_Right
= 65069;
9998 enum int KEY_ISO_Fast_Cursor_Up
= 65070;
9999 enum int KEY_ISO_First_Group
= 65036;
10000 enum int KEY_ISO_First_Group_Lock
= 65037;
10001 enum int KEY_ISO_Group_Latch
= 65030;
10002 enum int KEY_ISO_Group_Lock
= 65031;
10003 enum int KEY_ISO_Group_Shift
= 65406;
10004 enum int KEY_ISO_Last_Group
= 65038;
10005 enum int KEY_ISO_Last_Group_Lock
= 65039;
10006 enum int KEY_ISO_Left_Tab
= 65056;
10007 enum int KEY_ISO_Level2_Latch
= 65026;
10008 enum int KEY_ISO_Level3_Latch
= 65028;
10009 enum int KEY_ISO_Level3_Lock
= 65029;
10010 enum int KEY_ISO_Level3_Shift
= 65027;
10011 enum int KEY_ISO_Level5_Latch
= 65042;
10012 enum int KEY_ISO_Level5_Lock
= 65043;
10013 enum int KEY_ISO_Level5_Shift
= 65041;
10014 enum int KEY_ISO_Lock
= 65025;
10015 enum int KEY_ISO_Move_Line_Down
= 65058;
10016 enum int KEY_ISO_Move_Line_Up
= 65057;
10017 enum int KEY_ISO_Next_Group
= 65032;
10018 enum int KEY_ISO_Next_Group_Lock
= 65033;
10019 enum int KEY_ISO_Partial_Line_Down
= 65060;
10020 enum int KEY_ISO_Partial_Line_Up
= 65059;
10021 enum int KEY_ISO_Partial_Space_Left
= 65061;
10022 enum int KEY_ISO_Partial_Space_Right
= 65062;
10023 enum int KEY_ISO_Prev_Group
= 65034;
10024 enum int KEY_ISO_Prev_Group_Lock
= 65035;
10025 enum int KEY_ISO_Release_Both_Margins
= 65067;
10026 enum int KEY_ISO_Release_Margin_Left
= 65065;
10027 enum int KEY_ISO_Release_Margin_Right
= 65066;
10028 enum int KEY_ISO_Set_Margin_Left
= 65063;
10029 enum int KEY_ISO_Set_Margin_Right
= 65064;
10030 enum int KEY_Iabovedot
= 681;
10031 enum int KEY_Iacute
= 205;
10032 enum int KEY_Ibelowdot
= 16785098;
10033 enum int KEY_Ibreve
= 16777516;
10034 enum int KEY_Icircumflex
= 206;
10035 enum int KEY_Idiaeresis
= 207;
10036 enum int KEY_Igrave
= 204;
10037 enum int KEY_Ihook
= 16785096;
10038 enum int KEY_Imacron
= 975;
10039 enum int KEY_Insert
= 65379;
10040 enum int KEY_Iogonek
= 967;
10041 enum int KEY_Itilde
= 933;
10042 enum int KEY_J
= 74;
10043 enum int KEY_Jcircumflex
= 684;
10044 enum int KEY_K
= 75;
10045 enum int KEY_KP_0
= 65456;
10046 enum int KEY_KP_1
= 65457;
10047 enum int KEY_KP_2
= 65458;
10048 enum int KEY_KP_3
= 65459;
10049 enum int KEY_KP_4
= 65460;
10050 enum int KEY_KP_5
= 65461;
10051 enum int KEY_KP_6
= 65462;
10052 enum int KEY_KP_7
= 65463;
10053 enum int KEY_KP_8
= 65464;
10054 enum int KEY_KP_9
= 65465;
10055 enum int KEY_KP_Add
= 65451;
10056 enum int KEY_KP_Begin
= 65437;
10057 enum int KEY_KP_Decimal
= 65454;
10058 enum int KEY_KP_Delete
= 65439;
10059 enum int KEY_KP_Divide
= 65455;
10060 enum int KEY_KP_Down
= 65433;
10061 enum int KEY_KP_End
= 65436;
10062 enum int KEY_KP_Enter
= 65421;
10063 enum int KEY_KP_Equal
= 65469;
10064 enum int KEY_KP_F1
= 65425;
10065 enum int KEY_KP_F2
= 65426;
10066 enum int KEY_KP_F3
= 65427;
10067 enum int KEY_KP_F4
= 65428;
10068 enum int KEY_KP_Home
= 65429;
10069 enum int KEY_KP_Insert
= 65438;
10070 enum int KEY_KP_Left
= 65430;
10071 enum int KEY_KP_Multiply
= 65450;
10072 enum int KEY_KP_Next
= 65435;
10073 enum int KEY_KP_Page_Down
= 65435;
10074 enum int KEY_KP_Page_Up
= 65434;
10075 enum int KEY_KP_Prior
= 65434;
10076 enum int KEY_KP_Right
= 65432;
10077 enum int KEY_KP_Separator
= 65452;
10078 enum int KEY_KP_Space
= 65408;
10079 enum int KEY_KP_Subtract
= 65453;
10080 enum int KEY_KP_Tab
= 65417;
10081 enum int KEY_KP_Up
= 65431;
10082 enum int KEY_Kana_Lock
= 65325;
10083 enum int KEY_Kana_Shift
= 65326;
10084 enum int KEY_Kanji
= 65313;
10085 enum int KEY_Kanji_Bangou
= 65335;
10086 enum int KEY_Katakana
= 65318;
10087 enum int KEY_KbdBrightnessDown
= 269025030;
10088 enum int KEY_KbdBrightnessUp
= 269025029;
10089 enum int KEY_KbdLightOnOff
= 269025028;
10090 enum int KEY_Kcedilla
= 979;
10091 enum int KEY_Korean_Won
= 3839;
10092 enum int KEY_L
= 76;
10093 enum int KEY_L1
= 65480;
10094 enum int KEY_L10
= 65489;
10095 enum int KEY_L2
= 65481;
10096 enum int KEY_L3
= 65482;
10097 enum int KEY_L4
= 65483;
10098 enum int KEY_L5
= 65484;
10099 enum int KEY_L6
= 65485;
10100 enum int KEY_L7
= 65486;
10101 enum int KEY_L8
= 65487;
10102 enum int KEY_L9
= 65488;
10103 enum int KEY_Lacute
= 453;
10104 enum int KEY_Last_Virtual_Screen
= 65236;
10105 enum int KEY_Launch0
= 269025088;
10106 enum int KEY_Launch1
= 269025089;
10107 enum int KEY_Launch2
= 269025090;
10108 enum int KEY_Launch3
= 269025091;
10109 enum int KEY_Launch4
= 269025092;
10110 enum int KEY_Launch5
= 269025093;
10111 enum int KEY_Launch6
= 269025094;
10112 enum int KEY_Launch7
= 269025095;
10113 enum int KEY_Launch8
= 269025096;
10114 enum int KEY_Launch9
= 269025097;
10115 enum int KEY_LaunchA
= 269025098;
10116 enum int KEY_LaunchB
= 269025099;
10117 enum int KEY_LaunchC
= 269025100;
10118 enum int KEY_LaunchD
= 269025101;
10119 enum int KEY_LaunchE
= 269025102;
10120 enum int KEY_LaunchF
= 269025103;
10121 enum int KEY_Lbelowdot
= 16784950;
10122 enum int KEY_Lcaron
= 421;
10123 enum int KEY_Lcedilla
= 934;
10124 enum int KEY_Left
= 65361;
10125 enum int KEY_LightBulb
= 269025077;
10126 enum int KEY_Linefeed
= 65290;
10127 enum int KEY_LiraSign
= 16785572;
10128 enum int KEY_LogOff
= 269025121;
10129 enum int KEY_Lstroke
= 419;
10130 enum int KEY_M
= 77;
10131 enum int KEY_Mabovedot
= 16784960;
10132 enum int KEY_Macedonia_DSE
= 1717;
10133 enum int KEY_Macedonia_GJE
= 1714;
10134 enum int KEY_Macedonia_KJE
= 1724;
10135 enum int KEY_Macedonia_dse
= 1701;
10136 enum int KEY_Macedonia_gje
= 1698;
10137 enum int KEY_Macedonia_kje
= 1708;
10138 enum int KEY_Mae_Koho
= 65342;
10139 enum int KEY_Mail
= 269025049;
10140 enum int KEY_MailForward
= 269025168;
10141 enum int KEY_Market
= 269025122;
10142 enum int KEY_Massyo
= 65324;
10143 enum int KEY_Meeting
= 269025123;
10144 enum int KEY_Memo
= 269025054;
10145 enum int KEY_Menu
= 65383;
10146 enum int KEY_MenuKB
= 269025125;
10147 enum int KEY_MenuPB
= 269025126;
10148 enum int KEY_Messenger
= 269025166;
10149 enum int KEY_Meta_L
= 65511;
10150 enum int KEY_Meta_R
= 65512;
10151 enum int KEY_MillSign
= 16785573;
10152 enum int KEY_ModeLock
= 269025025;
10153 enum int KEY_Mode_switch
= 65406;
10154 enum int KEY_MonBrightnessDown
= 269025027;
10155 enum int KEY_MonBrightnessUp
= 269025026;
10156 enum int KEY_MouseKeys_Accel_Enable
= 65143;
10157 enum int KEY_MouseKeys_Enable
= 65142;
10158 enum int KEY_Muhenkan
= 65314;
10159 enum int KEY_Multi_key
= 65312;
10160 enum int KEY_MultipleCandidate
= 65341;
10161 enum int KEY_Music
= 269025170;
10162 enum int KEY_MyComputer
= 269025075;
10163 enum int KEY_MySites
= 269025127;
10164 enum int KEY_N
= 78;
10165 enum int KEY_Nacute
= 465;
10166 enum int KEY_NairaSign
= 16785574;
10167 enum int KEY_Ncaron
= 466;
10168 enum int KEY_Ncedilla
= 977;
10169 enum int KEY_New
= 269025128;
10170 enum int KEY_NewSheqelSign
= 16785578;
10171 enum int KEY_News
= 269025129;
10172 enum int KEY_Next
= 65366;
10173 enum int KEY_Next_VMode
= 269024802;
10174 enum int KEY_Next_Virtual_Screen
= 65234;
10175 enum int KEY_Ntilde
= 209;
10176 enum int KEY_Num_Lock
= 65407;
10177 enum int KEY_O
= 79;
10178 enum int KEY_OE
= 5052;
10179 enum int KEY_Oacute
= 211;
10180 enum int KEY_Obarred
= 16777631;
10181 enum int KEY_Obelowdot
= 16785100;
10182 enum int KEY_Ocaron
= 16777681;
10183 enum int KEY_Ocircumflex
= 212;
10184 enum int KEY_Ocircumflexacute
= 16785104;
10185 enum int KEY_Ocircumflexbelowdot
= 16785112;
10186 enum int KEY_Ocircumflexgrave
= 16785106;
10187 enum int KEY_Ocircumflexhook
= 16785108;
10188 enum int KEY_Ocircumflextilde
= 16785110;
10189 enum int KEY_Odiaeresis
= 214;
10190 enum int KEY_Odoubleacute
= 469;
10191 enum int KEY_OfficeHome
= 269025130;
10192 enum int KEY_Ograve
= 210;
10193 enum int KEY_Ohook
= 16785102;
10194 enum int KEY_Ohorn
= 16777632;
10195 enum int KEY_Ohornacute
= 16785114;
10196 enum int KEY_Ohornbelowdot
= 16785122;
10197 enum int KEY_Ohorngrave
= 16785116;
10198 enum int KEY_Ohornhook
= 16785118;
10199 enum int KEY_Ohorntilde
= 16785120;
10200 enum int KEY_Omacron
= 978;
10201 enum int KEY_Ooblique
= 216;
10202 enum int KEY_Open
= 269025131;
10203 enum int KEY_OpenURL
= 269025080;
10204 enum int KEY_Option
= 269025132;
10205 enum int KEY_Oslash
= 216;
10206 enum int KEY_Otilde
= 213;
10207 enum int KEY_Overlay1_Enable
= 65144;
10208 enum int KEY_Overlay2_Enable
= 65145;
10209 enum int KEY_P
= 80;
10210 enum int KEY_Pabovedot
= 16784982;
10211 enum int KEY_Page_Down
= 65366;
10212 enum int KEY_Page_Up
= 65365;
10213 enum int KEY_Paste
= 269025133;
10214 enum int KEY_Pause
= 65299;
10215 enum int KEY_PesetaSign
= 16785575;
10216 enum int KEY_Phone
= 269025134;
10217 enum int KEY_Pictures
= 269025169;
10218 enum int KEY_Pointer_Accelerate
= 65274;
10219 enum int KEY_Pointer_Button1
= 65257;
10220 enum int KEY_Pointer_Button2
= 65258;
10221 enum int KEY_Pointer_Button3
= 65259;
10222 enum int KEY_Pointer_Button4
= 65260;
10223 enum int KEY_Pointer_Button5
= 65261;
10224 enum int KEY_Pointer_Button_Dflt
= 65256;
10225 enum int KEY_Pointer_DblClick1
= 65263;
10226 enum int KEY_Pointer_DblClick2
= 65264;
10227 enum int KEY_Pointer_DblClick3
= 65265;
10228 enum int KEY_Pointer_DblClick4
= 65266;
10229 enum int KEY_Pointer_DblClick5
= 65267;
10230 enum int KEY_Pointer_DblClick_Dflt
= 65262;
10231 enum int KEY_Pointer_DfltBtnNext
= 65275;
10232 enum int KEY_Pointer_DfltBtnPrev
= 65276;
10233 enum int KEY_Pointer_Down
= 65251;
10234 enum int KEY_Pointer_DownLeft
= 65254;
10235 enum int KEY_Pointer_DownRight
= 65255;
10236 enum int KEY_Pointer_Drag1
= 65269;
10237 enum int KEY_Pointer_Drag2
= 65270;
10238 enum int KEY_Pointer_Drag3
= 65271;
10239 enum int KEY_Pointer_Drag4
= 65272;
10240 enum int KEY_Pointer_Drag5
= 65277;
10241 enum int KEY_Pointer_Drag_Dflt
= 65268;
10242 enum int KEY_Pointer_EnableKeys
= 65273;
10243 enum int KEY_Pointer_Left
= 65248;
10244 enum int KEY_Pointer_Right
= 65249;
10245 enum int KEY_Pointer_Up
= 65250;
10246 enum int KEY_Pointer_UpLeft
= 65252;
10247 enum int KEY_Pointer_UpRight
= 65253;
10248 enum int KEY_PowerDown
= 269025057;
10249 enum int KEY_PowerOff
= 269025066;
10250 enum int KEY_Prev_VMode
= 269024803;
10251 enum int KEY_Prev_Virtual_Screen
= 65233;
10252 enum int KEY_PreviousCandidate
= 65342;
10253 enum int KEY_Print
= 65377;
10254 enum int KEY_Prior
= 65365;
10255 enum int KEY_Q
= 81;
10256 enum int KEY_R
= 82;
10257 enum int KEY_R1
= 65490;
10258 enum int KEY_R10
= 65499;
10259 enum int KEY_R11
= 65500;
10260 enum int KEY_R12
= 65501;
10261 enum int KEY_R13
= 65502;
10262 enum int KEY_R14
= 65503;
10263 enum int KEY_R15
= 65504;
10264 enum int KEY_R2
= 65491;
10265 enum int KEY_R3
= 65492;
10266 enum int KEY_R4
= 65493;
10267 enum int KEY_R5
= 65494;
10268 enum int KEY_R6
= 65495;
10269 enum int KEY_R7
= 65496;
10270 enum int KEY_R8
= 65497;
10271 enum int KEY_R9
= 65498;
10272 enum int KEY_Racute
= 448;
10273 enum int KEY_Rcaron
= 472;
10274 enum int KEY_Rcedilla
= 931;
10275 enum int KEY_Red
= 269025187;
10276 enum int KEY_Redo
= 65382;
10277 enum int KEY_Refresh
= 269025065;
10278 enum int KEY_Reload
= 269025139;
10279 enum int KEY_RepeatKeys_Enable
= 65138;
10280 enum int KEY_Reply
= 269025138;
10281 enum int KEY_Return
= 65293;
10282 enum int KEY_Right
= 65363;
10283 enum int KEY_RockerDown
= 269025060;
10284 enum int KEY_RockerEnter
= 269025061;
10285 enum int KEY_RockerUp
= 269025059;
10286 enum int KEY_Romaji
= 65316;
10287 enum int KEY_RotateWindows
= 269025140;
10288 enum int KEY_RotationKB
= 269025142;
10289 enum int KEY_RotationPB
= 269025141;
10290 enum int KEY_RupeeSign
= 16785576;
10291 enum int KEY_S
= 83;
10292 enum int KEY_SCHWA
= 16777615;
10293 enum int KEY_Sabovedot
= 16784992;
10294 enum int KEY_Sacute
= 422;
10295 enum int KEY_Save
= 269025143;
10296 enum int KEY_Scaron
= 425;
10297 enum int KEY_Scedilla
= 426;
10298 enum int KEY_Scircumflex
= 734;
10299 enum int KEY_ScreenSaver
= 269025069;
10300 enum int KEY_ScrollClick
= 269025146;
10301 enum int KEY_ScrollDown
= 269025145;
10302 enum int KEY_ScrollUp
= 269025144;
10303 enum int KEY_Scroll_Lock
= 65300;
10304 enum int KEY_Search
= 269025051;
10305 enum int KEY_Select
= 65376;
10306 enum int KEY_SelectButton
= 269025184;
10307 enum int KEY_Send
= 269025147;
10308 enum int KEY_Serbian_DJE
= 1713;
10309 enum int KEY_Serbian_DZE
= 1727;
10310 enum int KEY_Serbian_JE
= 1720;
10311 enum int KEY_Serbian_LJE
= 1721;
10312 enum int KEY_Serbian_NJE
= 1722;
10313 enum int KEY_Serbian_TSHE
= 1723;
10314 enum int KEY_Serbian_dje
= 1697;
10315 enum int KEY_Serbian_dze
= 1711;
10316 enum int KEY_Serbian_je
= 1704;
10317 enum int KEY_Serbian_lje
= 1705;
10318 enum int KEY_Serbian_nje
= 1706;
10319 enum int KEY_Serbian_tshe
= 1707;
10320 enum int KEY_Shift_L
= 65505;
10321 enum int KEY_Shift_Lock
= 65510;
10322 enum int KEY_Shift_R
= 65506;
10323 enum int KEY_Shop
= 269025078;
10324 enum int KEY_SingleCandidate
= 65340;
10325 enum int KEY_Sinh_a
= 16780677;
10326 enum int KEY_Sinh_aa
= 16780678;
10327 enum int KEY_Sinh_aa2
= 16780751;
10328 enum int KEY_Sinh_ae
= 16780679;
10329 enum int KEY_Sinh_ae2
= 16780752;
10330 enum int KEY_Sinh_aee
= 16780680;
10331 enum int KEY_Sinh_aee2
= 16780753;
10332 enum int KEY_Sinh_ai
= 16780691;
10333 enum int KEY_Sinh_ai2
= 16780763;
10334 enum int KEY_Sinh_al
= 16780746;
10335 enum int KEY_Sinh_au
= 16780694;
10336 enum int KEY_Sinh_au2
= 16780766;
10337 enum int KEY_Sinh_ba
= 16780726;
10338 enum int KEY_Sinh_bha
= 16780727;
10339 enum int KEY_Sinh_ca
= 16780704;
10340 enum int KEY_Sinh_cha
= 16780705;
10341 enum int KEY_Sinh_dda
= 16780713;
10342 enum int KEY_Sinh_ddha
= 16780714;
10343 enum int KEY_Sinh_dha
= 16780719;
10344 enum int KEY_Sinh_dhha
= 16780720;
10345 enum int KEY_Sinh_e
= 16780689;
10346 enum int KEY_Sinh_e2
= 16780761;
10347 enum int KEY_Sinh_ee
= 16780690;
10348 enum int KEY_Sinh_ee2
= 16780762;
10349 enum int KEY_Sinh_fa
= 16780742;
10350 enum int KEY_Sinh_ga
= 16780700;
10351 enum int KEY_Sinh_gha
= 16780701;
10352 enum int KEY_Sinh_h2
= 16780675;
10353 enum int KEY_Sinh_ha
= 16780740;
10354 enum int KEY_Sinh_i
= 16780681;
10355 enum int KEY_Sinh_i2
= 16780754;
10356 enum int KEY_Sinh_ii
= 16780682;
10357 enum int KEY_Sinh_ii2
= 16780755;
10358 enum int KEY_Sinh_ja
= 16780706;
10359 enum int KEY_Sinh_jha
= 16780707;
10360 enum int KEY_Sinh_jnya
= 16780709;
10361 enum int KEY_Sinh_ka
= 16780698;
10362 enum int KEY_Sinh_kha
= 16780699;
10363 enum int KEY_Sinh_kunddaliya
= 16780788;
10364 enum int KEY_Sinh_la
= 16780733;
10365 enum int KEY_Sinh_lla
= 16780741;
10366 enum int KEY_Sinh_lu
= 16780687;
10367 enum int KEY_Sinh_lu2
= 16780767;
10368 enum int KEY_Sinh_luu
= 16780688;
10369 enum int KEY_Sinh_luu2
= 16780787;
10370 enum int KEY_Sinh_ma
= 16780728;
10371 enum int KEY_Sinh_mba
= 16780729;
10372 enum int KEY_Sinh_na
= 16780721;
10373 enum int KEY_Sinh_ndda
= 16780716;
10374 enum int KEY_Sinh_ndha
= 16780723;
10375 enum int KEY_Sinh_ng
= 16780674;
10376 enum int KEY_Sinh_ng2
= 16780702;
10377 enum int KEY_Sinh_nga
= 16780703;
10378 enum int KEY_Sinh_nja
= 16780710;
10379 enum int KEY_Sinh_nna
= 16780715;
10380 enum int KEY_Sinh_nya
= 16780708;
10381 enum int KEY_Sinh_o
= 16780692;
10382 enum int KEY_Sinh_o2
= 16780764;
10383 enum int KEY_Sinh_oo
= 16780693;
10384 enum int KEY_Sinh_oo2
= 16780765;
10385 enum int KEY_Sinh_pa
= 16780724;
10386 enum int KEY_Sinh_pha
= 16780725;
10387 enum int KEY_Sinh_ra
= 16780731;
10388 enum int KEY_Sinh_ri
= 16780685;
10389 enum int KEY_Sinh_rii
= 16780686;
10390 enum int KEY_Sinh_ru2
= 16780760;
10391 enum int KEY_Sinh_ruu2
= 16780786;
10392 enum int KEY_Sinh_sa
= 16780739;
10393 enum int KEY_Sinh_sha
= 16780737;
10394 enum int KEY_Sinh_ssha
= 16780738;
10395 enum int KEY_Sinh_tha
= 16780717;
10396 enum int KEY_Sinh_thha
= 16780718;
10397 enum int KEY_Sinh_tta
= 16780711;
10398 enum int KEY_Sinh_ttha
= 16780712;
10399 enum int KEY_Sinh_u
= 16780683;
10400 enum int KEY_Sinh_u2
= 16780756;
10401 enum int KEY_Sinh_uu
= 16780684;
10402 enum int KEY_Sinh_uu2
= 16780758;
10403 enum int KEY_Sinh_va
= 16780736;
10404 enum int KEY_Sinh_ya
= 16780730;
10405 enum int KEY_Sleep
= 269025071;
10406 enum int KEY_SlowKeys_Enable
= 65139;
10407 enum int KEY_Spell
= 269025148;
10408 enum int KEY_SplitScreen
= 269025149;
10409 enum int KEY_Standby
= 269025040;
10410 enum int KEY_Start
= 269025050;
10411 enum int KEY_StickyKeys_Enable
= 65141;
10412 enum int KEY_Stop
= 269025064;
10413 enum int KEY_Subtitle
= 269025178;
10414 enum int KEY_Super_L
= 65515;
10415 enum int KEY_Super_R
= 65516;
10416 enum int KEY_Support
= 269025150;
10417 enum int KEY_Suspend
= 269025191;
10418 enum int KEY_Switch_VT_1
= 269024769;
10419 enum int KEY_Switch_VT_10
= 269024778;
10420 enum int KEY_Switch_VT_11
= 269024779;
10421 enum int KEY_Switch_VT_12
= 269024780;
10422 enum int KEY_Switch_VT_2
= 269024770;
10423 enum int KEY_Switch_VT_3
= 269024771;
10424 enum int KEY_Switch_VT_4
= 269024772;
10425 enum int KEY_Switch_VT_5
= 269024773;
10426 enum int KEY_Switch_VT_6
= 269024774;
10427 enum int KEY_Switch_VT_7
= 269024775;
10428 enum int KEY_Switch_VT_8
= 269024776;
10429 enum int KEY_Switch_VT_9
= 269024777;
10430 enum int KEY_Sys_Req
= 65301;
10431 enum int KEY_T
= 84;
10432 enum int KEY_THORN
= 222;
10433 enum int KEY_Tab
= 65289;
10434 enum int KEY_Tabovedot
= 16785002;
10435 enum int KEY_TaskPane
= 269025151;
10436 enum int KEY_Tcaron
= 427;
10437 enum int KEY_Tcedilla
= 478;
10438 enum int KEY_Terminal
= 269025152;
10439 enum int KEY_Terminate_Server
= 65237;
10440 enum int KEY_Thai_baht
= 3551;
10441 enum int KEY_Thai_bobaimai
= 3514;
10442 enum int KEY_Thai_chochan
= 3496;
10443 enum int KEY_Thai_chochang
= 3498;
10444 enum int KEY_Thai_choching
= 3497;
10445 enum int KEY_Thai_chochoe
= 3500;
10446 enum int KEY_Thai_dochada
= 3502;
10447 enum int KEY_Thai_dodek
= 3508;
10448 enum int KEY_Thai_fofa
= 3517;
10449 enum int KEY_Thai_fofan
= 3519;
10450 enum int KEY_Thai_hohip
= 3531;
10451 enum int KEY_Thai_honokhuk
= 3534;
10452 enum int KEY_Thai_khokhai
= 3490;
10453 enum int KEY_Thai_khokhon
= 3493;
10454 enum int KEY_Thai_khokhuat
= 3491;
10455 enum int KEY_Thai_khokhwai
= 3492;
10456 enum int KEY_Thai_khorakhang
= 3494;
10457 enum int KEY_Thai_kokai
= 3489;
10458 enum int KEY_Thai_lakkhangyao
= 3557;
10459 enum int KEY_Thai_lekchet
= 3575;
10460 enum int KEY_Thai_lekha
= 3573;
10461 enum int KEY_Thai_lekhok
= 3574;
10462 enum int KEY_Thai_lekkao
= 3577;
10463 enum int KEY_Thai_leknung
= 3569;
10464 enum int KEY_Thai_lekpaet
= 3576;
10465 enum int KEY_Thai_leksam
= 3571;
10466 enum int KEY_Thai_leksi
= 3572;
10467 enum int KEY_Thai_leksong
= 3570;
10468 enum int KEY_Thai_leksun
= 3568;
10469 enum int KEY_Thai_lochula
= 3532;
10470 enum int KEY_Thai_loling
= 3525;
10471 enum int KEY_Thai_lu
= 3526;
10472 enum int KEY_Thai_maichattawa
= 3563;
10473 enum int KEY_Thai_maiek
= 3560;
10474 enum int KEY_Thai_maihanakat
= 3537;
10475 enum int KEY_Thai_maihanakat_maitho
= 3550;
10476 enum int KEY_Thai_maitaikhu
= 3559;
10477 enum int KEY_Thai_maitho
= 3561;
10478 enum int KEY_Thai_maitri
= 3562;
10479 enum int KEY_Thai_maiyamok
= 3558;
10480 enum int KEY_Thai_moma
= 3521;
10481 enum int KEY_Thai_ngongu
= 3495;
10482 enum int KEY_Thai_nikhahit
= 3565;
10483 enum int KEY_Thai_nonen
= 3507;
10484 enum int KEY_Thai_nonu
= 3513;
10485 enum int KEY_Thai_oang
= 3533;
10486 enum int KEY_Thai_paiyannoi
= 3535;
10487 enum int KEY_Thai_phinthu
= 3546;
10488 enum int KEY_Thai_phophan
= 3518;
10489 enum int KEY_Thai_phophung
= 3516;
10490 enum int KEY_Thai_phosamphao
= 3520;
10491 enum int KEY_Thai_popla
= 3515;
10492 enum int KEY_Thai_rorua
= 3523;
10493 enum int KEY_Thai_ru
= 3524;
10494 enum int KEY_Thai_saraa
= 3536;
10495 enum int KEY_Thai_saraaa
= 3538;
10496 enum int KEY_Thai_saraae
= 3553;
10497 enum int KEY_Thai_saraaimaimalai
= 3556;
10498 enum int KEY_Thai_saraaimaimuan
= 3555;
10499 enum int KEY_Thai_saraam
= 3539;
10500 enum int KEY_Thai_sarae
= 3552;
10501 enum int KEY_Thai_sarai
= 3540;
10502 enum int KEY_Thai_saraii
= 3541;
10503 enum int KEY_Thai_sarao
= 3554;
10504 enum int KEY_Thai_sarau
= 3544;
10505 enum int KEY_Thai_saraue
= 3542;
10506 enum int KEY_Thai_sarauee
= 3543;
10507 enum int KEY_Thai_sarauu
= 3545;
10508 enum int KEY_Thai_sorusi
= 3529;
10509 enum int KEY_Thai_sosala
= 3528;
10510 enum int KEY_Thai_soso
= 3499;
10511 enum int KEY_Thai_sosua
= 3530;
10512 enum int KEY_Thai_thanthakhat
= 3564;
10513 enum int KEY_Thai_thonangmontho
= 3505;
10514 enum int KEY_Thai_thophuthao
= 3506;
10515 enum int KEY_Thai_thothahan
= 3511;
10516 enum int KEY_Thai_thothan
= 3504;
10517 enum int KEY_Thai_thothong
= 3512;
10518 enum int KEY_Thai_thothung
= 3510;
10519 enum int KEY_Thai_topatak
= 3503;
10520 enum int KEY_Thai_totao
= 3509;
10521 enum int KEY_Thai_wowaen
= 3527;
10522 enum int KEY_Thai_yoyak
= 3522;
10523 enum int KEY_Thai_yoying
= 3501;
10524 enum int KEY_Thorn
= 222;
10525 enum int KEY_Time
= 269025183;
10526 enum int KEY_ToDoList
= 269025055;
10527 enum int KEY_Tools
= 269025153;
10528 enum int KEY_TopMenu
= 269025186;
10529 enum int KEY_TouchpadOff
= 269025201;
10530 enum int KEY_TouchpadOn
= 269025200;
10531 enum int KEY_TouchpadToggle
= 269025193;
10532 enum int KEY_Touroku
= 65323;
10533 enum int KEY_Travel
= 269025154;
10534 enum int KEY_Tslash
= 940;
10535 enum int KEY_U
= 85;
10536 enum int KEY_UWB
= 269025174;
10537 enum int KEY_Uacute
= 218;
10538 enum int KEY_Ubelowdot
= 16785124;
10539 enum int KEY_Ubreve
= 733;
10540 enum int KEY_Ucircumflex
= 219;
10541 enum int KEY_Udiaeresis
= 220;
10542 enum int KEY_Udoubleacute
= 475;
10543 enum int KEY_Ugrave
= 217;
10544 enum int KEY_Uhook
= 16785126;
10545 enum int KEY_Uhorn
= 16777647;
10546 enum int KEY_Uhornacute
= 16785128;
10547 enum int KEY_Uhornbelowdot
= 16785136;
10548 enum int KEY_Uhorngrave
= 16785130;
10549 enum int KEY_Uhornhook
= 16785132;
10550 enum int KEY_Uhorntilde
= 16785134;
10551 enum int KEY_Ukrainian_GHE_WITH_UPTURN
= 1725;
10552 enum int KEY_Ukrainian_I
= 1718;
10553 enum int KEY_Ukrainian_IE
= 1716;
10554 enum int KEY_Ukrainian_YI
= 1719;
10555 enum int KEY_Ukrainian_ghe_with_upturn
= 1709;
10556 enum int KEY_Ukrainian_i
= 1702;
10557 enum int KEY_Ukrainian_ie
= 1700;
10558 enum int KEY_Ukrainian_yi
= 1703;
10559 enum int KEY_Ukranian_I
= 1718;
10560 enum int KEY_Ukranian_JE
= 1716;
10561 enum int KEY_Ukranian_YI
= 1719;
10562 enum int KEY_Ukranian_i
= 1702;
10563 enum int KEY_Ukranian_je
= 1700;
10564 enum int KEY_Ukranian_yi
= 1703;
10565 enum int KEY_Umacron
= 990;
10566 enum int KEY_Undo
= 65381;
10567 enum int KEY_Ungrab
= 269024800;
10568 enum int KEY_Uogonek
= 985;
10569 enum int KEY_Up
= 65362;
10570 enum int KEY_Uring
= 473;
10571 enum int KEY_User1KB
= 269025157;
10572 enum int KEY_User2KB
= 269025158;
10573 enum int KEY_UserPB
= 269025156;
10574 enum int KEY_Utilde
= 989;
10575 enum int KEY_V
= 86;
10576 enum int KEY_VendorHome
= 269025076;
10577 enum int KEY_Video
= 269025159;
10578 enum int KEY_View
= 269025185;
10579 enum int KEY_VoidSymbol
= 16777215;
10580 enum int KEY_W
= 87;
10581 enum int KEY_WLAN
= 269025173;
10582 enum int KEY_WWW
= 269025070;
10583 enum int KEY_Wacute
= 16785026;
10584 enum int KEY_WakeUp
= 269025067;
10585 enum int KEY_Wcircumflex
= 16777588;
10586 enum int KEY_Wdiaeresis
= 16785028;
10587 enum int KEY_WebCam
= 269025167;
10588 enum int KEY_Wgrave
= 16785024;
10589 enum int KEY_WheelButton
= 269025160;
10590 enum int KEY_WindowClear
= 269025109;
10591 enum int KEY_WonSign
= 16785577;
10592 enum int KEY_Word
= 269025161;
10593 enum int KEY_X
= 88;
10594 enum int KEY_Xabovedot
= 16785034;
10595 enum int KEY_Xfer
= 269025162;
10596 enum int KEY_Y
= 89;
10597 enum int KEY_Yacute
= 221;
10598 enum int KEY_Ybelowdot
= 16785140;
10599 enum int KEY_Ycircumflex
= 16777590;
10600 enum int KEY_Ydiaeresis
= 5054;
10601 enum int KEY_Yellow
= 269025189;
10602 enum int KEY_Ygrave
= 16785138;
10603 enum int KEY_Yhook
= 16785142;
10604 enum int KEY_Ytilde
= 16785144;
10605 enum int KEY_Z
= 90;
10606 enum int KEY_Zabovedot
= 431;
10607 enum int KEY_Zacute
= 428;
10608 enum int KEY_Zcaron
= 430;
10609 enum int KEY_Zen_Koho
= 65341;
10610 enum int KEY_Zenkaku
= 65320;
10611 enum int KEY_Zenkaku_Hankaku
= 65322;
10612 enum int KEY_ZoomIn
= 269025163;
10613 enum int KEY_ZoomOut
= 269025164;
10614 enum int KEY_Zstroke
= 16777653;
10615 enum int KEY_a
= 97;
10616 enum int KEY_aacute
= 225;
10617 enum int KEY_abelowdot
= 16785057;
10618 enum int KEY_abovedot
= 511;
10619 enum int KEY_abreve
= 483;
10620 enum int KEY_abreveacute
= 16785071;
10621 enum int KEY_abrevebelowdot
= 16785079;
10622 enum int KEY_abrevegrave
= 16785073;
10623 enum int KEY_abrevehook
= 16785075;
10624 enum int KEY_abrevetilde
= 16785077;
10625 enum int KEY_acircumflex
= 226;
10626 enum int KEY_acircumflexacute
= 16785061;
10627 enum int KEY_acircumflexbelowdot
= 16785069;
10628 enum int KEY_acircumflexgrave
= 16785063;
10629 enum int KEY_acircumflexhook
= 16785065;
10630 enum int KEY_acircumflextilde
= 16785067;
10631 enum int KEY_acute
= 180;
10632 enum int KEY_adiaeresis
= 228;
10633 enum int KEY_ae
= 230;
10634 enum int KEY_agrave
= 224;
10635 enum int KEY_ahook
= 16785059;
10636 enum int KEY_amacron
= 992;
10637 enum int KEY_ampersand
= 38;
10638 enum int KEY_aogonek
= 433;
10639 enum int KEY_apostrophe
= 39;
10640 enum int KEY_approxeq
= 16785992;
10641 enum int KEY_approximate
= 2248;
10642 enum int KEY_aring
= 229;
10643 enum int KEY_asciicircum
= 94;
10644 enum int KEY_asciitilde
= 126;
10645 enum int KEY_asterisk
= 42;
10646 enum int KEY_at
= 64;
10647 enum int KEY_atilde
= 227;
10648 enum int KEY_b
= 98;
10649 enum int KEY_babovedot
= 16784899;
10650 enum int KEY_backslash
= 92;
10651 enum int KEY_ballotcross
= 2804;
10652 enum int KEY_bar
= 124;
10653 enum int KEY_because
= 16785973;
10654 enum int KEY_blank
= 2527;
10655 enum int KEY_botintegral
= 2213;
10656 enum int KEY_botleftparens
= 2220;
10657 enum int KEY_botleftsqbracket
= 2216;
10658 enum int KEY_botleftsummation
= 2226;
10659 enum int KEY_botrightparens
= 2222;
10660 enum int KEY_botrightsqbracket
= 2218;
10661 enum int KEY_botrightsummation
= 2230;
10662 enum int KEY_bott
= 2550;
10663 enum int KEY_botvertsummationconnector
= 2228;
10664 enum int KEY_braceleft
= 123;
10665 enum int KEY_braceright
= 125;
10666 enum int KEY_bracketleft
= 91;
10667 enum int KEY_bracketright
= 93;
10668 enum int KEY_braille_blank
= 16787456;
10669 enum int KEY_braille_dot_1
= 65521;
10670 enum int KEY_braille_dot_10
= 65530;
10671 enum int KEY_braille_dot_2
= 65522;
10672 enum int KEY_braille_dot_3
= 65523;
10673 enum int KEY_braille_dot_4
= 65524;
10674 enum int KEY_braille_dot_5
= 65525;
10675 enum int KEY_braille_dot_6
= 65526;
10676 enum int KEY_braille_dot_7
= 65527;
10677 enum int KEY_braille_dot_8
= 65528;
10678 enum int KEY_braille_dot_9
= 65529;
10679 enum int KEY_braille_dots_1
= 16787457;
10680 enum int KEY_braille_dots_12
= 16787459;
10681 enum int KEY_braille_dots_123
= 16787463;
10682 enum int KEY_braille_dots_1234
= 16787471;
10683 enum int KEY_braille_dots_12345
= 16787487;
10684 enum int KEY_braille_dots_123456
= 16787519;
10685 enum int KEY_braille_dots_1234567
= 16787583;
10686 enum int KEY_braille_dots_12345678
= 16787711;
10687 enum int KEY_braille_dots_1234568
= 16787647;
10688 enum int KEY_braille_dots_123457
= 16787551;
10689 enum int KEY_braille_dots_1234578
= 16787679;
10690 enum int KEY_braille_dots_123458
= 16787615;
10691 enum int KEY_braille_dots_12346
= 16787503;
10692 enum int KEY_braille_dots_123467
= 16787567;
10693 enum int KEY_braille_dots_1234678
= 16787695;
10694 enum int KEY_braille_dots_123468
= 16787631;
10695 enum int KEY_braille_dots_12347
= 16787535;
10696 enum int KEY_braille_dots_123478
= 16787663;
10697 enum int KEY_braille_dots_12348
= 16787599;
10698 enum int KEY_braille_dots_1235
= 16787479;
10699 enum int KEY_braille_dots_12356
= 16787511;
10700 enum int KEY_braille_dots_123567
= 16787575;
10701 enum int KEY_braille_dots_1235678
= 16787703;
10702 enum int KEY_braille_dots_123568
= 16787639;
10703 enum int KEY_braille_dots_12357
= 16787543;
10704 enum int KEY_braille_dots_123578
= 16787671;
10705 enum int KEY_braille_dots_12358
= 16787607;
10706 enum int KEY_braille_dots_1236
= 16787495;
10707 enum int KEY_braille_dots_12367
= 16787559;
10708 enum int KEY_braille_dots_123678
= 16787687;
10709 enum int KEY_braille_dots_12368
= 16787623;
10710 enum int KEY_braille_dots_1237
= 16787527;
10711 enum int KEY_braille_dots_12378
= 16787655;
10712 enum int KEY_braille_dots_1238
= 16787591;
10713 enum int KEY_braille_dots_124
= 16787467;
10714 enum int KEY_braille_dots_1245
= 16787483;
10715 enum int KEY_braille_dots_12456
= 16787515;
10716 enum int KEY_braille_dots_124567
= 16787579;
10717 enum int KEY_braille_dots_1245678
= 16787707;
10718 enum int KEY_braille_dots_124568
= 16787643;
10719 enum int KEY_braille_dots_12457
= 16787547;
10720 enum int KEY_braille_dots_124578
= 16787675;
10721 enum int KEY_braille_dots_12458
= 16787611;
10722 enum int KEY_braille_dots_1246
= 16787499;
10723 enum int KEY_braille_dots_12467
= 16787563;
10724 enum int KEY_braille_dots_124678
= 16787691;
10725 enum int KEY_braille_dots_12468
= 16787627;
10726 enum int KEY_braille_dots_1247
= 16787531;
10727 enum int KEY_braille_dots_12478
= 16787659;
10728 enum int KEY_braille_dots_1248
= 16787595;
10729 enum int KEY_braille_dots_125
= 16787475;
10730 enum int KEY_braille_dots_1256
= 16787507;
10731 enum int KEY_braille_dots_12567
= 16787571;
10732 enum int KEY_braille_dots_125678
= 16787699;
10733 enum int KEY_braille_dots_12568
= 16787635;
10734 enum int KEY_braille_dots_1257
= 16787539;
10735 enum int KEY_braille_dots_12578
= 16787667;
10736 enum int KEY_braille_dots_1258
= 16787603;
10737 enum int KEY_braille_dots_126
= 16787491;
10738 enum int KEY_braille_dots_1267
= 16787555;
10739 enum int KEY_braille_dots_12678
= 16787683;
10740 enum int KEY_braille_dots_1268
= 16787619;
10741 enum int KEY_braille_dots_127
= 16787523;
10742 enum int KEY_braille_dots_1278
= 16787651;
10743 enum int KEY_braille_dots_128
= 16787587;
10744 enum int KEY_braille_dots_13
= 16787461;
10745 enum int KEY_braille_dots_134
= 16787469;
10746 enum int KEY_braille_dots_1345
= 16787485;
10747 enum int KEY_braille_dots_13456
= 16787517;
10748 enum int KEY_braille_dots_134567
= 16787581;
10749 enum int KEY_braille_dots_1345678
= 16787709;
10750 enum int KEY_braille_dots_134568
= 16787645;
10751 enum int KEY_braille_dots_13457
= 16787549;
10752 enum int KEY_braille_dots_134578
= 16787677;
10753 enum int KEY_braille_dots_13458
= 16787613;
10754 enum int KEY_braille_dots_1346
= 16787501;
10755 enum int KEY_braille_dots_13467
= 16787565;
10756 enum int KEY_braille_dots_134678
= 16787693;
10757 enum int KEY_braille_dots_13468
= 16787629;
10758 enum int KEY_braille_dots_1347
= 16787533;
10759 enum int KEY_braille_dots_13478
= 16787661;
10760 enum int KEY_braille_dots_1348
= 16787597;
10761 enum int KEY_braille_dots_135
= 16787477;
10762 enum int KEY_braille_dots_1356
= 16787509;
10763 enum int KEY_braille_dots_13567
= 16787573;
10764 enum int KEY_braille_dots_135678
= 16787701;
10765 enum int KEY_braille_dots_13568
= 16787637;
10766 enum int KEY_braille_dots_1357
= 16787541;
10767 enum int KEY_braille_dots_13578
= 16787669;
10768 enum int KEY_braille_dots_1358
= 16787605;
10769 enum int KEY_braille_dots_136
= 16787493;
10770 enum int KEY_braille_dots_1367
= 16787557;
10771 enum int KEY_braille_dots_13678
= 16787685;
10772 enum int KEY_braille_dots_1368
= 16787621;
10773 enum int KEY_braille_dots_137
= 16787525;
10774 enum int KEY_braille_dots_1378
= 16787653;
10775 enum int KEY_braille_dots_138
= 16787589;
10776 enum int KEY_braille_dots_14
= 16787465;
10777 enum int KEY_braille_dots_145
= 16787481;
10778 enum int KEY_braille_dots_1456
= 16787513;
10779 enum int KEY_braille_dots_14567
= 16787577;
10780 enum int KEY_braille_dots_145678
= 16787705;
10781 enum int KEY_braille_dots_14568
= 16787641;
10782 enum int KEY_braille_dots_1457
= 16787545;
10783 enum int KEY_braille_dots_14578
= 16787673;
10784 enum int KEY_braille_dots_1458
= 16787609;
10785 enum int KEY_braille_dots_146
= 16787497;
10786 enum int KEY_braille_dots_1467
= 16787561;
10787 enum int KEY_braille_dots_14678
= 16787689;
10788 enum int KEY_braille_dots_1468
= 16787625;
10789 enum int KEY_braille_dots_147
= 16787529;
10790 enum int KEY_braille_dots_1478
= 16787657;
10791 enum int KEY_braille_dots_148
= 16787593;
10792 enum int KEY_braille_dots_15
= 16787473;
10793 enum int KEY_braille_dots_156
= 16787505;
10794 enum int KEY_braille_dots_1567
= 16787569;
10795 enum int KEY_braille_dots_15678
= 16787697;
10796 enum int KEY_braille_dots_1568
= 16787633;
10797 enum int KEY_braille_dots_157
= 16787537;
10798 enum int KEY_braille_dots_1578
= 16787665;
10799 enum int KEY_braille_dots_158
= 16787601;
10800 enum int KEY_braille_dots_16
= 16787489;
10801 enum int KEY_braille_dots_167
= 16787553;
10802 enum int KEY_braille_dots_1678
= 16787681;
10803 enum int KEY_braille_dots_168
= 16787617;
10804 enum int KEY_braille_dots_17
= 16787521;
10805 enum int KEY_braille_dots_178
= 16787649;
10806 enum int KEY_braille_dots_18
= 16787585;
10807 enum int KEY_braille_dots_2
= 16787458;
10808 enum int KEY_braille_dots_23
= 16787462;
10809 enum int KEY_braille_dots_234
= 16787470;
10810 enum int KEY_braille_dots_2345
= 16787486;
10811 enum int KEY_braille_dots_23456
= 16787518;
10812 enum int KEY_braille_dots_234567
= 16787582;
10813 enum int KEY_braille_dots_2345678
= 16787710;
10814 enum int KEY_braille_dots_234568
= 16787646;
10815 enum int KEY_braille_dots_23457
= 16787550;
10816 enum int KEY_braille_dots_234578
= 16787678;
10817 enum int KEY_braille_dots_23458
= 16787614;
10818 enum int KEY_braille_dots_2346
= 16787502;
10819 enum int KEY_braille_dots_23467
= 16787566;
10820 enum int KEY_braille_dots_234678
= 16787694;
10821 enum int KEY_braille_dots_23468
= 16787630;
10822 enum int KEY_braille_dots_2347
= 16787534;
10823 enum int KEY_braille_dots_23478
= 16787662;
10824 enum int KEY_braille_dots_2348
= 16787598;
10825 enum int KEY_braille_dots_235
= 16787478;
10826 enum int KEY_braille_dots_2356
= 16787510;
10827 enum int KEY_braille_dots_23567
= 16787574;
10828 enum int KEY_braille_dots_235678
= 16787702;
10829 enum int KEY_braille_dots_23568
= 16787638;
10830 enum int KEY_braille_dots_2357
= 16787542;
10831 enum int KEY_braille_dots_23578
= 16787670;
10832 enum int KEY_braille_dots_2358
= 16787606;
10833 enum int KEY_braille_dots_236
= 16787494;
10834 enum int KEY_braille_dots_2367
= 16787558;
10835 enum int KEY_braille_dots_23678
= 16787686;
10836 enum int KEY_braille_dots_2368
= 16787622;
10837 enum int KEY_braille_dots_237
= 16787526;
10838 enum int KEY_braille_dots_2378
= 16787654;
10839 enum int KEY_braille_dots_238
= 16787590;
10840 enum int KEY_braille_dots_24
= 16787466;
10841 enum int KEY_braille_dots_245
= 16787482;
10842 enum int KEY_braille_dots_2456
= 16787514;
10843 enum int KEY_braille_dots_24567
= 16787578;
10844 enum int KEY_braille_dots_245678
= 16787706;
10845 enum int KEY_braille_dots_24568
= 16787642;
10846 enum int KEY_braille_dots_2457
= 16787546;
10847 enum int KEY_braille_dots_24578
= 16787674;
10848 enum int KEY_braille_dots_2458
= 16787610;
10849 enum int KEY_braille_dots_246
= 16787498;
10850 enum int KEY_braille_dots_2467
= 16787562;
10851 enum int KEY_braille_dots_24678
= 16787690;
10852 enum int KEY_braille_dots_2468
= 16787626;
10853 enum int KEY_braille_dots_247
= 16787530;
10854 enum int KEY_braille_dots_2478
= 16787658;
10855 enum int KEY_braille_dots_248
= 16787594;
10856 enum int KEY_braille_dots_25
= 16787474;
10857 enum int KEY_braille_dots_256
= 16787506;
10858 enum int KEY_braille_dots_2567
= 16787570;
10859 enum int KEY_braille_dots_25678
= 16787698;
10860 enum int KEY_braille_dots_2568
= 16787634;
10861 enum int KEY_braille_dots_257
= 16787538;
10862 enum int KEY_braille_dots_2578
= 16787666;
10863 enum int KEY_braille_dots_258
= 16787602;
10864 enum int KEY_braille_dots_26
= 16787490;
10865 enum int KEY_braille_dots_267
= 16787554;
10866 enum int KEY_braille_dots_2678
= 16787682;
10867 enum int KEY_braille_dots_268
= 16787618;
10868 enum int KEY_braille_dots_27
= 16787522;
10869 enum int KEY_braille_dots_278
= 16787650;
10870 enum int KEY_braille_dots_28
= 16787586;
10871 enum int KEY_braille_dots_3
= 16787460;
10872 enum int KEY_braille_dots_34
= 16787468;
10873 enum int KEY_braille_dots_345
= 16787484;
10874 enum int KEY_braille_dots_3456
= 16787516;
10875 enum int KEY_braille_dots_34567
= 16787580;
10876 enum int KEY_braille_dots_345678
= 16787708;
10877 enum int KEY_braille_dots_34568
= 16787644;
10878 enum int KEY_braille_dots_3457
= 16787548;
10879 enum int KEY_braille_dots_34578
= 16787676;
10880 enum int KEY_braille_dots_3458
= 16787612;
10881 enum int KEY_braille_dots_346
= 16787500;
10882 enum int KEY_braille_dots_3467
= 16787564;
10883 enum int KEY_braille_dots_34678
= 16787692;
10884 enum int KEY_braille_dots_3468
= 16787628;
10885 enum int KEY_braille_dots_347
= 16787532;
10886 enum int KEY_braille_dots_3478
= 16787660;
10887 enum int KEY_braille_dots_348
= 16787596;
10888 enum int KEY_braille_dots_35
= 16787476;
10889 enum int KEY_braille_dots_356
= 16787508;
10890 enum int KEY_braille_dots_3567
= 16787572;
10891 enum int KEY_braille_dots_35678
= 16787700;
10892 enum int KEY_braille_dots_3568
= 16787636;
10893 enum int KEY_braille_dots_357
= 16787540;
10894 enum int KEY_braille_dots_3578
= 16787668;
10895 enum int KEY_braille_dots_358
= 16787604;
10896 enum int KEY_braille_dots_36
= 16787492;
10897 enum int KEY_braille_dots_367
= 16787556;
10898 enum int KEY_braille_dots_3678
= 16787684;
10899 enum int KEY_braille_dots_368
= 16787620;
10900 enum int KEY_braille_dots_37
= 16787524;
10901 enum int KEY_braille_dots_378
= 16787652;
10902 enum int KEY_braille_dots_38
= 16787588;
10903 enum int KEY_braille_dots_4
= 16787464;
10904 enum int KEY_braille_dots_45
= 16787480;
10905 enum int KEY_braille_dots_456
= 16787512;
10906 enum int KEY_braille_dots_4567
= 16787576;
10907 enum int KEY_braille_dots_45678
= 16787704;
10908 enum int KEY_braille_dots_4568
= 16787640;
10909 enum int KEY_braille_dots_457
= 16787544;
10910 enum int KEY_braille_dots_4578
= 16787672;
10911 enum int KEY_braille_dots_458
= 16787608;
10912 enum int KEY_braille_dots_46
= 16787496;
10913 enum int KEY_braille_dots_467
= 16787560;
10914 enum int KEY_braille_dots_4678
= 16787688;
10915 enum int KEY_braille_dots_468
= 16787624;
10916 enum int KEY_braille_dots_47
= 16787528;
10917 enum int KEY_braille_dots_478
= 16787656;
10918 enum int KEY_braille_dots_48
= 16787592;
10919 enum int KEY_braille_dots_5
= 16787472;
10920 enum int KEY_braille_dots_56
= 16787504;
10921 enum int KEY_braille_dots_567
= 16787568;
10922 enum int KEY_braille_dots_5678
= 16787696;
10923 enum int KEY_braille_dots_568
= 16787632;
10924 enum int KEY_braille_dots_57
= 16787536;
10925 enum int KEY_braille_dots_578
= 16787664;
10926 enum int KEY_braille_dots_58
= 16787600;
10927 enum int KEY_braille_dots_6
= 16787488;
10928 enum int KEY_braille_dots_67
= 16787552;
10929 enum int KEY_braille_dots_678
= 16787680;
10930 enum int KEY_braille_dots_68
= 16787616;
10931 enum int KEY_braille_dots_7
= 16787520;
10932 enum int KEY_braille_dots_78
= 16787648;
10933 enum int KEY_braille_dots_8
= 16787584;
10934 enum int KEY_breve
= 418;
10935 enum int KEY_brokenbar
= 166;
10936 enum int KEY_c
= 99;
10937 enum int KEY_cabovedot
= 741;
10938 enum int KEY_cacute
= 486;
10939 enum int KEY_careof
= 2744;
10940 enum int KEY_caret
= 2812;
10941 enum int KEY_caron
= 439;
10942 enum int KEY_ccaron
= 488;
10943 enum int KEY_ccedilla
= 231;
10944 enum int KEY_ccircumflex
= 742;
10945 enum int KEY_cedilla
= 184;
10946 enum int KEY_cent
= 162;
10947 enum int KEY_checkerboard
= 2529;
10948 enum int KEY_checkmark
= 2803;
10949 enum int KEY_circle
= 3023;
10950 enum int KEY_club
= 2796;
10951 enum int KEY_colon
= 58;
10952 enum int KEY_comma
= 44;
10953 enum int KEY_containsas
= 16785931;
10954 enum int KEY_copyright
= 169;
10955 enum int KEY_cr
= 2532;
10956 enum int KEY_crossinglines
= 2542;
10957 enum int KEY_cuberoot
= 16785947;
10958 enum int KEY_currency
= 164;
10959 enum int KEY_cursor
= 2815;
10960 enum int KEY_d
= 100;
10961 enum int KEY_dabovedot
= 16784907;
10962 enum int KEY_dagger
= 2801;
10963 enum int KEY_dcaron
= 495;
10964 enum int KEY_dead_A
= 65153;
10965 enum int KEY_dead_E
= 65155;
10966 enum int KEY_dead_I
= 65157;
10967 enum int KEY_dead_O
= 65159;
10968 enum int KEY_dead_U
= 65161;
10969 enum int KEY_dead_a
= 65152;
10970 enum int KEY_dead_abovecomma
= 65124;
10971 enum int KEY_dead_abovedot
= 65110;
10972 enum int KEY_dead_abovereversedcomma
= 65125;
10973 enum int KEY_dead_abovering
= 65112;
10974 enum int KEY_dead_acute
= 65105;
10975 enum int KEY_dead_belowbreve
= 65131;
10976 enum int KEY_dead_belowcircumflex
= 65129;
10977 enum int KEY_dead_belowcomma
= 65134;
10978 enum int KEY_dead_belowdiaeresis
= 65132;
10979 enum int KEY_dead_belowdot
= 65120;
10980 enum int KEY_dead_belowmacron
= 65128;
10981 enum int KEY_dead_belowring
= 65127;
10982 enum int KEY_dead_belowtilde
= 65130;
10983 enum int KEY_dead_breve
= 65109;
10984 enum int KEY_dead_capital_schwa
= 65163;
10985 enum int KEY_dead_caron
= 65114;
10986 enum int KEY_dead_cedilla
= 65115;
10987 enum int KEY_dead_circumflex
= 65106;
10988 enum int KEY_dead_currency
= 65135;
10989 enum int KEY_dead_dasia
= 65125;
10990 enum int KEY_dead_diaeresis
= 65111;
10991 enum int KEY_dead_doubleacute
= 65113;
10992 enum int KEY_dead_doublegrave
= 65126;
10993 enum int KEY_dead_e
= 65154;
10994 enum int KEY_dead_grave
= 65104;
10995 enum int KEY_dead_hook
= 65121;
10996 enum int KEY_dead_horn
= 65122;
10997 enum int KEY_dead_i
= 65156;
10998 enum int KEY_dead_invertedbreve
= 65133;
10999 enum int KEY_dead_iota
= 65117;
11000 enum int KEY_dead_macron
= 65108;
11001 enum int KEY_dead_o
= 65158;
11002 enum int KEY_dead_ogonek
= 65116;
11003 enum int KEY_dead_perispomeni
= 65107;
11004 enum int KEY_dead_psili
= 65124;
11005 enum int KEY_dead_semivoiced_sound
= 65119;
11006 enum int KEY_dead_small_schwa
= 65162;
11007 enum int KEY_dead_stroke
= 65123;
11008 enum int KEY_dead_tilde
= 65107;
11009 enum int KEY_dead_u
= 65160;
11010 enum int KEY_dead_voiced_sound
= 65118;
11011 enum int KEY_decimalpoint
= 2749;
11012 enum int KEY_degree
= 176;
11013 enum int KEY_diaeresis
= 168;
11014 enum int KEY_diamond
= 2797;
11015 enum int KEY_digitspace
= 2725;
11016 enum int KEY_dintegral
= 16785964;
11017 enum int KEY_division
= 247;
11018 enum int KEY_dollar
= 36;
11019 enum int KEY_doubbaselinedot
= 2735;
11020 enum int KEY_doubleacute
= 445;
11021 enum int KEY_doubledagger
= 2802;
11022 enum int KEY_doublelowquotemark
= 2814;
11023 enum int KEY_downarrow
= 2302;
11024 enum int KEY_downcaret
= 2984;
11025 enum int KEY_downshoe
= 3030;
11026 enum int KEY_downstile
= 3012;
11027 enum int KEY_downtack
= 3010;
11028 enum int KEY_dstroke
= 496;
11029 enum int KEY_e
= 101;
11030 enum int KEY_eabovedot
= 1004;
11031 enum int KEY_eacute
= 233;
11032 enum int KEY_ebelowdot
= 16785081;
11033 enum int KEY_ecaron
= 492;
11034 enum int KEY_ecircumflex
= 234;
11035 enum int KEY_ecircumflexacute
= 16785087;
11036 enum int KEY_ecircumflexbelowdot
= 16785095;
11037 enum int KEY_ecircumflexgrave
= 16785089;
11038 enum int KEY_ecircumflexhook
= 16785091;
11039 enum int KEY_ecircumflextilde
= 16785093;
11040 enum int KEY_ediaeresis
= 235;
11041 enum int KEY_egrave
= 232;
11042 enum int KEY_ehook
= 16785083;
11043 enum int KEY_eightsubscript
= 16785544;
11044 enum int KEY_eightsuperior
= 16785528;
11045 enum int KEY_elementof
= 16785928;
11046 enum int KEY_ellipsis
= 2734;
11047 enum int KEY_em3space
= 2723;
11048 enum int KEY_em4space
= 2724;
11049 enum int KEY_emacron
= 954;
11050 enum int KEY_emdash
= 2729;
11051 enum int KEY_emfilledcircle
= 2782;
11052 enum int KEY_emfilledrect
= 2783;
11053 enum int KEY_emopencircle
= 2766;
11054 enum int KEY_emopenrectangle
= 2767;
11055 enum int KEY_emptyset
= 16785925;
11056 enum int KEY_emspace
= 2721;
11057 enum int KEY_endash
= 2730;
11058 enum int KEY_enfilledcircbullet
= 2790;
11059 enum int KEY_enfilledsqbullet
= 2791;
11060 enum int KEY_eng
= 959;
11061 enum int KEY_enopencircbullet
= 2784;
11062 enum int KEY_enopensquarebullet
= 2785;
11063 enum int KEY_enspace
= 2722;
11064 enum int KEY_eogonek
= 490;
11065 enum int KEY_equal
= 61;
11066 enum int KEY_eth
= 240;
11067 enum int KEY_etilde
= 16785085;
11068 enum int KEY_exclam
= 33;
11069 enum int KEY_exclamdown
= 161;
11070 enum int KEY_f
= 102;
11071 enum int KEY_fabovedot
= 16784927;
11072 enum int KEY_femalesymbol
= 2808;
11073 enum int KEY_ff
= 2531;
11074 enum int KEY_figdash
= 2747;
11075 enum int KEY_filledlefttribullet
= 2780;
11076 enum int KEY_filledrectbullet
= 2779;
11077 enum int KEY_filledrighttribullet
= 2781;
11078 enum int KEY_filledtribulletdown
= 2793;
11079 enum int KEY_filledtribulletup
= 2792;
11080 enum int KEY_fiveeighths
= 2757;
11081 enum int KEY_fivesixths
= 2743;
11082 enum int KEY_fivesubscript
= 16785541;
11083 enum int KEY_fivesuperior
= 16785525;
11084 enum int KEY_fourfifths
= 2741;
11085 enum int KEY_foursubscript
= 16785540;
11086 enum int KEY_foursuperior
= 16785524;
11087 enum int KEY_fourthroot
= 16785948;
11088 enum int KEY_function
= 2294;
11089 enum int KEY_g
= 103;
11090 enum int KEY_gabovedot
= 757;
11091 enum int KEY_gbreve
= 699;
11092 enum int KEY_gcaron
= 16777703;
11093 enum int KEY_gcedilla
= 955;
11094 enum int KEY_gcircumflex
= 760;
11095 enum int KEY_grave
= 96;
11096 enum int KEY_greater
= 62;
11097 enum int KEY_greaterthanequal
= 2238;
11098 enum int KEY_guillemotleft
= 171;
11099 enum int KEY_guillemotright
= 187;
11100 enum int KEY_h
= 104;
11101 enum int KEY_hairspace
= 2728;
11102 enum int KEY_hcircumflex
= 694;
11103 enum int KEY_heart
= 2798;
11104 enum int KEY_hebrew_aleph
= 3296;
11105 enum int KEY_hebrew_ayin
= 3314;
11106 enum int KEY_hebrew_bet
= 3297;
11107 enum int KEY_hebrew_beth
= 3297;
11108 enum int KEY_hebrew_chet
= 3303;
11109 enum int KEY_hebrew_dalet
= 3299;
11110 enum int KEY_hebrew_daleth
= 3299;
11111 enum int KEY_hebrew_doublelowline
= 3295;
11112 enum int KEY_hebrew_finalkaph
= 3306;
11113 enum int KEY_hebrew_finalmem
= 3309;
11114 enum int KEY_hebrew_finalnun
= 3311;
11115 enum int KEY_hebrew_finalpe
= 3315;
11116 enum int KEY_hebrew_finalzade
= 3317;
11117 enum int KEY_hebrew_finalzadi
= 3317;
11118 enum int KEY_hebrew_gimel
= 3298;
11119 enum int KEY_hebrew_gimmel
= 3298;
11120 enum int KEY_hebrew_he
= 3300;
11121 enum int KEY_hebrew_het
= 3303;
11122 enum int KEY_hebrew_kaph
= 3307;
11123 enum int KEY_hebrew_kuf
= 3319;
11124 enum int KEY_hebrew_lamed
= 3308;
11125 enum int KEY_hebrew_mem
= 3310;
11126 enum int KEY_hebrew_nun
= 3312;
11127 enum int KEY_hebrew_pe
= 3316;
11128 enum int KEY_hebrew_qoph
= 3319;
11129 enum int KEY_hebrew_resh
= 3320;
11130 enum int KEY_hebrew_samech
= 3313;
11131 enum int KEY_hebrew_samekh
= 3313;
11132 enum int KEY_hebrew_shin
= 3321;
11133 enum int KEY_hebrew_taf
= 3322;
11134 enum int KEY_hebrew_taw
= 3322;
11135 enum int KEY_hebrew_tet
= 3304;
11136 enum int KEY_hebrew_teth
= 3304;
11137 enum int KEY_hebrew_waw
= 3301;
11138 enum int KEY_hebrew_yod
= 3305;
11139 enum int KEY_hebrew_zade
= 3318;
11140 enum int KEY_hebrew_zadi
= 3318;
11141 enum int KEY_hebrew_zain
= 3302;
11142 enum int KEY_hebrew_zayin
= 3302;
11143 enum int KEY_hexagram
= 2778;
11144 enum int KEY_horizconnector
= 2211;
11145 enum int KEY_horizlinescan1
= 2543;
11146 enum int KEY_horizlinescan3
= 2544;
11147 enum int KEY_horizlinescan5
= 2545;
11148 enum int KEY_horizlinescan7
= 2546;
11149 enum int KEY_horizlinescan9
= 2547;
11150 enum int KEY_hstroke
= 689;
11151 enum int KEY_ht
= 2530;
11152 enum int KEY_hyphen
= 173;
11153 enum int KEY_i
= 105;
11154 enum int KEY_iTouch
= 269025120;
11155 enum int KEY_iacute
= 237;
11156 enum int KEY_ibelowdot
= 16785099;
11157 enum int KEY_ibreve
= 16777517;
11158 enum int KEY_icircumflex
= 238;
11159 enum int KEY_identical
= 2255;
11160 enum int KEY_idiaeresis
= 239;
11161 enum int KEY_idotless
= 697;
11162 enum int KEY_ifonlyif
= 2253;
11163 enum int KEY_igrave
= 236;
11164 enum int KEY_ihook
= 16785097;
11165 enum int KEY_imacron
= 1007;
11166 enum int KEY_implies
= 2254;
11167 enum int KEY_includedin
= 2266;
11168 enum int KEY_includes
= 2267;
11169 enum int KEY_infinity
= 2242;
11170 enum int KEY_integral
= 2239;
11171 enum int KEY_intersection
= 2268;
11172 enum int KEY_iogonek
= 999;
11173 enum int KEY_itilde
= 949;
11174 enum int KEY_j
= 106;
11175 enum int KEY_jcircumflex
= 700;
11176 enum int KEY_jot
= 3018;
11177 enum int KEY_k
= 107;
11178 enum int KEY_kana_A
= 1201;
11179 enum int KEY_kana_CHI
= 1217;
11180 enum int KEY_kana_E
= 1204;
11181 enum int KEY_kana_FU
= 1228;
11182 enum int KEY_kana_HA
= 1226;
11183 enum int KEY_kana_HE
= 1229;
11184 enum int KEY_kana_HI
= 1227;
11185 enum int KEY_kana_HO
= 1230;
11186 enum int KEY_kana_HU
= 1228;
11187 enum int KEY_kana_I
= 1202;
11188 enum int KEY_kana_KA
= 1206;
11189 enum int KEY_kana_KE
= 1209;
11190 enum int KEY_kana_KI
= 1207;
11191 enum int KEY_kana_KO
= 1210;
11192 enum int KEY_kana_KU
= 1208;
11193 enum int KEY_kana_MA
= 1231;
11194 enum int KEY_kana_ME
= 1234;
11195 enum int KEY_kana_MI
= 1232;
11196 enum int KEY_kana_MO
= 1235;
11197 enum int KEY_kana_MU
= 1233;
11198 enum int KEY_kana_N
= 1245;
11199 enum int KEY_kana_NA
= 1221;
11200 enum int KEY_kana_NE
= 1224;
11201 enum int KEY_kana_NI
= 1222;
11202 enum int KEY_kana_NO
= 1225;
11203 enum int KEY_kana_NU
= 1223;
11204 enum int KEY_kana_O
= 1205;
11205 enum int KEY_kana_RA
= 1239;
11206 enum int KEY_kana_RE
= 1242;
11207 enum int KEY_kana_RI
= 1240;
11208 enum int KEY_kana_RO
= 1243;
11209 enum int KEY_kana_RU
= 1241;
11210 enum int KEY_kana_SA
= 1211;
11211 enum int KEY_kana_SE
= 1214;
11212 enum int KEY_kana_SHI
= 1212;
11213 enum int KEY_kana_SO
= 1215;
11214 enum int KEY_kana_SU
= 1213;
11215 enum int KEY_kana_TA
= 1216;
11216 enum int KEY_kana_TE
= 1219;
11217 enum int KEY_kana_TI
= 1217;
11218 enum int KEY_kana_TO
= 1220;
11219 enum int KEY_kana_TSU
= 1218;
11220 enum int KEY_kana_TU
= 1218;
11221 enum int KEY_kana_U
= 1203;
11222 enum int KEY_kana_WA
= 1244;
11223 enum int KEY_kana_WO
= 1190;
11224 enum int KEY_kana_YA
= 1236;
11225 enum int KEY_kana_YO
= 1238;
11226 enum int KEY_kana_YU
= 1237;
11227 enum int KEY_kana_a
= 1191;
11228 enum int KEY_kana_closingbracket
= 1187;
11229 enum int KEY_kana_comma
= 1188;
11230 enum int KEY_kana_conjunctive
= 1189;
11231 enum int KEY_kana_e
= 1194;
11232 enum int KEY_kana_fullstop
= 1185;
11233 enum int KEY_kana_i
= 1192;
11234 enum int KEY_kana_middledot
= 1189;
11235 enum int KEY_kana_o
= 1195;
11236 enum int KEY_kana_openingbracket
= 1186;
11237 enum int KEY_kana_switch
= 65406;
11238 enum int KEY_kana_tsu
= 1199;
11239 enum int KEY_kana_tu
= 1199;
11240 enum int KEY_kana_u
= 1193;
11241 enum int KEY_kana_ya
= 1196;
11242 enum int KEY_kana_yo
= 1198;
11243 enum int KEY_kana_yu
= 1197;
11244 enum int KEY_kappa
= 930;
11245 enum int KEY_kcedilla
= 1011;
11246 enum int KEY_kra
= 930;
11247 enum int KEY_l
= 108;
11248 enum int KEY_lacute
= 485;
11249 enum int KEY_latincross
= 2777;
11250 enum int KEY_lbelowdot
= 16784951;
11251 enum int KEY_lcaron
= 437;
11252 enum int KEY_lcedilla
= 950;
11253 enum int KEY_leftanglebracket
= 2748;
11254 enum int KEY_leftarrow
= 2299;
11255 enum int KEY_leftcaret
= 2979;
11256 enum int KEY_leftdoublequotemark
= 2770;
11257 enum int KEY_leftmiddlecurlybrace
= 2223;
11258 enum int KEY_leftopentriangle
= 2764;
11259 enum int KEY_leftpointer
= 2794;
11260 enum int KEY_leftradical
= 2209;
11261 enum int KEY_leftshoe
= 3034;
11262 enum int KEY_leftsinglequotemark
= 2768;
11263 enum int KEY_leftt
= 2548;
11264 enum int KEY_lefttack
= 3036;
11265 enum int KEY_less
= 60;
11266 enum int KEY_lessthanequal
= 2236;
11267 enum int KEY_lf
= 2533;
11268 enum int KEY_logicaland
= 2270;
11269 enum int KEY_logicalor
= 2271;
11270 enum int KEY_lowleftcorner
= 2541;
11271 enum int KEY_lowrightcorner
= 2538;
11272 enum int KEY_lstroke
= 435;
11273 enum int KEY_m
= 109;
11274 enum int KEY_mabovedot
= 16784961;
11275 enum int KEY_macron
= 175;
11276 enum int KEY_malesymbol
= 2807;
11277 enum int KEY_maltesecross
= 2800;
11278 enum int KEY_marker
= 2751;
11279 enum int KEY_masculine
= 186;
11280 enum int KEY_minus
= 45;
11281 enum int KEY_minutes
= 2774;
11282 enum int KEY_mu
= 181;
11283 enum int KEY_multiply
= 215;
11284 enum int KEY_musicalflat
= 2806;
11285 enum int KEY_musicalsharp
= 2805;
11286 enum int KEY_n
= 110;
11287 enum int KEY_nabla
= 2245;
11288 enum int KEY_nacute
= 497;
11289 enum int KEY_ncaron
= 498;
11290 enum int KEY_ncedilla
= 1009;
11291 enum int KEY_ninesubscript
= 16785545;
11292 enum int KEY_ninesuperior
= 16785529;
11293 enum int KEY_nl
= 2536;
11294 enum int KEY_nobreakspace
= 160;
11295 enum int KEY_notapproxeq
= 16785991;
11296 enum int KEY_notelementof
= 16785929;
11297 enum int KEY_notequal
= 2237;
11298 enum int KEY_notidentical
= 16786018;
11299 enum int KEY_notsign
= 172;
11300 enum int KEY_ntilde
= 241;
11301 enum int KEY_numbersign
= 35;
11302 enum int KEY_numerosign
= 1712;
11303 enum int KEY_o
= 111;
11304 enum int KEY_oacute
= 243;
11305 enum int KEY_obarred
= 16777845;
11306 enum int KEY_obelowdot
= 16785101;
11307 enum int KEY_ocaron
= 16777682;
11308 enum int KEY_ocircumflex
= 244;
11309 enum int KEY_ocircumflexacute
= 16785105;
11310 enum int KEY_ocircumflexbelowdot
= 16785113;
11311 enum int KEY_ocircumflexgrave
= 16785107;
11312 enum int KEY_ocircumflexhook
= 16785109;
11313 enum int KEY_ocircumflextilde
= 16785111;
11314 enum int KEY_odiaeresis
= 246;
11315 enum int KEY_odoubleacute
= 501;
11316 enum int KEY_oe
= 5053;
11317 enum int KEY_ogonek
= 434;
11318 enum int KEY_ograve
= 242;
11319 enum int KEY_ohook
= 16785103;
11320 enum int KEY_ohorn
= 16777633;
11321 enum int KEY_ohornacute
= 16785115;
11322 enum int KEY_ohornbelowdot
= 16785123;
11323 enum int KEY_ohorngrave
= 16785117;
11324 enum int KEY_ohornhook
= 16785119;
11325 enum int KEY_ohorntilde
= 16785121;
11326 enum int KEY_omacron
= 1010;
11327 enum int KEY_oneeighth
= 2755;
11328 enum int KEY_onefifth
= 2738;
11329 enum int KEY_onehalf
= 189;
11330 enum int KEY_onequarter
= 188;
11331 enum int KEY_onesixth
= 2742;
11332 enum int KEY_onesubscript
= 16785537;
11333 enum int KEY_onesuperior
= 185;
11334 enum int KEY_onethird
= 2736;
11335 enum int KEY_ooblique
= 248;
11336 enum int KEY_openrectbullet
= 2786;
11337 enum int KEY_openstar
= 2789;
11338 enum int KEY_opentribulletdown
= 2788;
11339 enum int KEY_opentribulletup
= 2787;
11340 enum int KEY_ordfeminine
= 170;
11341 enum int KEY_oslash
= 248;
11342 enum int KEY_otilde
= 245;
11343 enum int KEY_overbar
= 3008;
11344 enum int KEY_overline
= 1150;
11345 enum int KEY_p
= 112;
11346 enum int KEY_pabovedot
= 16784983;
11347 enum int KEY_paragraph
= 182;
11348 enum int KEY_parenleft
= 40;
11349 enum int KEY_parenright
= 41;
11350 enum int KEY_partdifferential
= 16785922;
11351 enum int KEY_partialderivative
= 2287;
11352 enum int KEY_percent
= 37;
11353 enum int KEY_period
= 46;
11354 enum int KEY_periodcentered
= 183;
11355 enum int KEY_phonographcopyright
= 2811;
11356 enum int KEY_plus
= 43;
11357 enum int KEY_plusminus
= 177;
11358 enum int KEY_prescription
= 2772;
11359 enum int KEY_prolongedsound
= 1200;
11360 enum int KEY_punctspace
= 2726;
11361 enum int KEY_q
= 113;
11362 enum int KEY_quad
= 3020;
11363 enum int KEY_question
= 63;
11364 enum int KEY_questiondown
= 191;
11365 enum int KEY_quotedbl
= 34;
11366 enum int KEY_quoteleft
= 96;
11367 enum int KEY_quoteright
= 39;
11368 enum int KEY_r
= 114;
11369 enum int KEY_racute
= 480;
11370 enum int KEY_radical
= 2262;
11371 enum int KEY_rcaron
= 504;
11372 enum int KEY_rcedilla
= 947;
11373 enum int KEY_registered
= 174;
11374 enum int KEY_rightanglebracket
= 2750;
11375 enum int KEY_rightarrow
= 2301;
11376 enum int KEY_rightcaret
= 2982;
11377 enum int KEY_rightdoublequotemark
= 2771;
11378 enum int KEY_rightmiddlecurlybrace
= 2224;
11379 enum int KEY_rightmiddlesummation
= 2231;
11380 enum int KEY_rightopentriangle
= 2765;
11381 enum int KEY_rightpointer
= 2795;
11382 enum int KEY_rightshoe
= 3032;
11383 enum int KEY_rightsinglequotemark
= 2769;
11384 enum int KEY_rightt
= 2549;
11385 enum int KEY_righttack
= 3068;
11386 enum int KEY_s
= 115;
11387 enum int KEY_sabovedot
= 16784993;
11388 enum int KEY_sacute
= 438;
11389 enum int KEY_scaron
= 441;
11390 enum int KEY_scedilla
= 442;
11391 enum int KEY_schwa
= 16777817;
11392 enum int KEY_scircumflex
= 766;
11393 enum int KEY_script_switch
= 65406;
11394 enum int KEY_seconds
= 2775;
11395 enum int KEY_section
= 167;
11396 enum int KEY_semicolon
= 59;
11397 enum int KEY_semivoicedsound
= 1247;
11398 enum int KEY_seveneighths
= 2758;
11399 enum int KEY_sevensubscript
= 16785543;
11400 enum int KEY_sevensuperior
= 16785527;
11401 enum int KEY_signaturemark
= 2762;
11402 enum int KEY_signifblank
= 2732;
11403 enum int KEY_similarequal
= 2249;
11404 enum int KEY_singlelowquotemark
= 2813;
11405 enum int KEY_sixsubscript
= 16785542;
11406 enum int KEY_sixsuperior
= 16785526;
11407 enum int KEY_slash
= 47;
11408 enum int KEY_soliddiamond
= 2528;
11409 enum int KEY_space
= 32;
11410 enum int KEY_squareroot
= 16785946;
11411 enum int KEY_ssharp
= 223;
11412 enum int KEY_sterling
= 163;
11413 enum int KEY_stricteq
= 16786019;
11414 enum int KEY_t
= 116;
11415 enum int KEY_tabovedot
= 16785003;
11416 enum int KEY_tcaron
= 443;
11417 enum int KEY_tcedilla
= 510;
11418 enum int KEY_telephone
= 2809;
11419 enum int KEY_telephonerecorder
= 2810;
11420 enum int KEY_therefore
= 2240;
11421 enum int KEY_thinspace
= 2727;
11422 enum int KEY_thorn
= 254;
11423 enum int KEY_threeeighths
= 2756;
11424 enum int KEY_threefifths
= 2740;
11425 enum int KEY_threequarters
= 190;
11426 enum int KEY_threesubscript
= 16785539;
11427 enum int KEY_threesuperior
= 179;
11428 enum int KEY_tintegral
= 16785965;
11429 enum int KEY_topintegral
= 2212;
11430 enum int KEY_topleftparens
= 2219;
11431 enum int KEY_topleftradical
= 2210;
11432 enum int KEY_topleftsqbracket
= 2215;
11433 enum int KEY_topleftsummation
= 2225;
11434 enum int KEY_toprightparens
= 2221;
11435 enum int KEY_toprightsqbracket
= 2217;
11436 enum int KEY_toprightsummation
= 2229;
11437 enum int KEY_topt
= 2551;
11438 enum int KEY_topvertsummationconnector
= 2227;
11439 enum int KEY_trademark
= 2761;
11440 enum int KEY_trademarkincircle
= 2763;
11441 enum int KEY_tslash
= 956;
11442 enum int KEY_twofifths
= 2739;
11443 enum int KEY_twosubscript
= 16785538;
11444 enum int KEY_twosuperior
= 178;
11445 enum int KEY_twothirds
= 2737;
11446 enum int KEY_u
= 117;
11447 enum int KEY_uacute
= 250;
11448 enum int KEY_ubelowdot
= 16785125;
11449 enum int KEY_ubreve
= 765;
11450 enum int KEY_ucircumflex
= 251;
11451 enum int KEY_udiaeresis
= 252;
11452 enum int KEY_udoubleacute
= 507;
11453 enum int KEY_ugrave
= 249;
11454 enum int KEY_uhook
= 16785127;
11455 enum int KEY_uhorn
= 16777648;
11456 enum int KEY_uhornacute
= 16785129;
11457 enum int KEY_uhornbelowdot
= 16785137;
11458 enum int KEY_uhorngrave
= 16785131;
11459 enum int KEY_uhornhook
= 16785133;
11460 enum int KEY_uhorntilde
= 16785135;
11461 enum int KEY_umacron
= 1022;
11462 enum int KEY_underbar
= 3014;
11463 enum int KEY_underscore
= 95;
11464 enum int KEY_union
= 2269;
11465 enum int KEY_uogonek
= 1017;
11466 enum int KEY_uparrow
= 2300;
11467 enum int KEY_upcaret
= 2985;
11468 enum int KEY_upleftcorner
= 2540;
11469 enum int KEY_uprightcorner
= 2539;
11470 enum int KEY_upshoe
= 3011;
11471 enum int KEY_upstile
= 3027;
11472 enum int KEY_uptack
= 3022;
11473 enum int KEY_uring
= 505;
11474 enum int KEY_utilde
= 1021;
11475 enum int KEY_v
= 118;
11476 enum int KEY_variation
= 2241;
11477 enum int KEY_vertbar
= 2552;
11478 enum int KEY_vertconnector
= 2214;
11479 enum int KEY_voicedsound
= 1246;
11480 enum int KEY_vt
= 2537;
11481 enum int KEY_w
= 119;
11482 enum int KEY_wacute
= 16785027;
11483 enum int KEY_wcircumflex
= 16777589;
11484 enum int KEY_wdiaeresis
= 16785029;
11485 enum int KEY_wgrave
= 16785025;
11486 enum int KEY_x
= 120;
11487 enum int KEY_xabovedot
= 16785035;
11488 enum int KEY_y
= 121;
11489 enum int KEY_yacute
= 253;
11490 enum int KEY_ybelowdot
= 16785141;
11491 enum int KEY_ycircumflex
= 16777591;
11492 enum int KEY_ydiaeresis
= 255;
11493 enum int KEY_yen
= 165;
11494 enum int KEY_ygrave
= 16785139;
11495 enum int KEY_yhook
= 16785143;
11496 enum int KEY_ytilde
= 16785145;
11497 enum int KEY_z
= 122;
11498 enum int KEY_zabovedot
= 447;
11499 enum int KEY_zacute
= 444;
11500 enum int KEY_zcaron
= 446;
11501 enum int KEY_zerosubscript
= 16785536;
11502 enum int KEY_zerosuperior
= 16785520;
11503 enum int KEY_zstroke
= 16777654;
11504 enum int KP_0
= 65456;
11505 enum int KP_1
= 65457;
11506 enum int KP_2
= 65458;
11507 enum int KP_3
= 65459;
11508 enum int KP_4
= 65460;
11509 enum int KP_5
= 65461;
11510 enum int KP_6
= 65462;
11511 enum int KP_7
= 65463;
11512 enum int KP_8
= 65464;
11513 enum int KP_9
= 65465;
11514 enum int KP_Add
= 65451;
11515 enum int KP_Begin
= 65437;
11516 enum int KP_Decimal
= 65454;
11517 enum int KP_Delete
= 65439;
11518 enum int KP_Divide
= 65455;
11519 enum int KP_Down
= 65433;
11520 enum int KP_End
= 65436;
11521 enum int KP_Enter
= 65421;
11522 enum int KP_Equal
= 65469;
11523 enum int KP_F1
= 65425;
11524 enum int KP_F2
= 65426;
11525 enum int KP_F3
= 65427;
11526 enum int KP_F4
= 65428;
11527 enum int KP_Home
= 65429;
11528 enum int KP_Insert
= 65438;
11529 enum int KP_Left
= 65430;
11530 enum int KP_Multiply
= 65450;
11531 enum int KP_Next
= 65435;
11532 enum int KP_Page_Down
= 65435;
11533 enum int KP_Page_Up
= 65434;
11534 enum int KP_Prior
= 65434;
11535 enum int KP_Right
= 65432;
11536 enum int KP_Separator
= 65452;
11537 enum int KP_Space
= 65408;
11538 enum int KP_Subtract
= 65453;
11539 enum int KP_Tab
= 65417;
11540 enum int KP_Up
= 65431;
11541 enum int Kana_Lock
= 65325;
11542 enum int Kana_Shift
= 65326;
11543 enum int Kanji
= 65313;
11544 enum int Kanji_Bangou
= 65335;
11545 enum int Katakana
= 65318;
11546 enum int KbdBrightnessDown
= 269025030;
11547 enum int KbdBrightnessUp
= 269025029;
11548 enum int KbdLightOnOff
= 269025028;
11549 enum int Kcedilla
= 979;
11551 struct KeyEvent
/* Version 0.2 */ {
11557 ModifierType modifier_state
;
11559 ushort hardware_keycode
;
11560 dchar unicode_value
;
11561 InputDevice
* device
;
11564 // Point in a path behaviour.
11565 struct Knot
/* Version 0.2 */ {
11570 // Makes an allocated copy of a knot.
11571 // RETURNS: the copied knot.
11572 Knot
* /*new*/ copy()() {
11573 return clutter_knot_copy(&this);
11577 // Compares to knot and checks if the point to the same location.
11578 // RETURNS: %TRUE if the knots point to the same location.
11579 // <knot_b>: Second knot
11580 int equal()(Knot
* knot_b
) {
11581 return clutter_knot_equal(&this, knot_b
);
11585 // Frees the memory of an allocated knot.
11587 clutter_knot_free(&this);
11591 enum int Korean_Won
= 3839;
11593 enum int L1
= 65480;
11594 enum int L10
= 65489;
11595 enum int L2
= 65481;
11596 enum int L3
= 65482;
11597 enum int L4
= 65483;
11598 enum int L5
= 65484;
11599 enum int L6
= 65485;
11600 enum int L7
= 65486;
11601 enum int L8
= 65487;
11602 enum int L9
= 65488;
11603 enum int Lacute
= 453;
11604 enum int Last_Virtual_Screen
= 65236;
11605 enum int Launch0
= 269025088;
11606 enum int Launch1
= 269025089;
11607 enum int Launch2
= 269025090;
11608 enum int Launch3
= 269025091;
11609 enum int Launch4
= 269025092;
11610 enum int Launch5
= 269025093;
11611 enum int Launch6
= 269025094;
11612 enum int Launch7
= 269025095;
11613 enum int Launch8
= 269025096;
11614 enum int Launch9
= 269025097;
11615 enum int LaunchA
= 269025098;
11616 enum int LaunchB
= 269025099;
11617 enum int LaunchC
= 269025100;
11618 enum int LaunchD
= 269025101;
11619 enum int LaunchE
= 269025102;
11620 enum int LaunchF
= 269025103;
11622 // The #ClutterLayoutManager structure contains only private data
11623 // and should be accessed using the provided API
11624 struct LayoutManager
/* : GObject.InitiallyUnowned */ /* Version 1.2 */ {
11625 alias parent_instance
this;
11626 alias parent_instance super_
;
11627 alias parent_instance initiallyunowned
;
11628 GObject2
.InitiallyUnowned parent_instance
;
11629 private void* dummy
;
11633 // Allocates the children of @container given an area
11635 // See also clutter_actor_allocate()
11636 // <container>: the #ClutterContainer using @manager
11637 // <allocation>: the #ClutterActorBox containing the allocated area of @container
11638 // <flags>: the allocation flags
11639 void allocate()(Container
* container
, ActorBox
* allocation
, AllocationFlags flags
) {
11640 clutter_layout_manager_allocate(&this, container
, allocation
, flags
);
11644 // Begins an animation of @duration milliseconds, using the provided
11647 // The easing mode can be specified either as a #ClutterAnimationMode
11648 // or as a logical id returned by clutter_alpha_register_func()
11650 // The result of this function depends on the @manager implementation
11652 // layout manager; the returned instance is owned by the layout
11653 // manager and should not be unreferenced
11654 // RETURNS: The #ClutterAlpha created by the
11655 // <duration>: the duration of the animation, in milliseconds
11656 // <mode>: the easing mode of the animation
11657 Alpha
* begin_animation()(uint duration
, c_ulong mode
) {
11658 return clutter_layout_manager_begin_animation(&this, duration
, mode
);
11661 // Unintrospectable method: child_get() / clutter_layout_manager_child_get()
11663 // Retrieves the values for a list of properties out of the
11664 // #ClutterLayoutMeta created by @manager and attached to the
11665 // child of a @container
11666 // <container>: a #ClutterContainer using @manager
11667 // <actor>: a #ClutterActor child of @container
11668 // <first_property>: the name of the first property
11669 /+ Not available -- variadic methods unsupported - use the C function directly.
11670 alias clutter_layout_manager_child_get child_get; // Variadic
11674 // Gets a property on the #ClutterLayoutMeta created by @manager and
11675 // attached to a child of @container
11677 // The #GValue must already be initialized to the type of the property
11678 // and has to be unset with g_value_unset() after extracting the real
11680 // <container>: a #ClutterContainer using @manager
11681 // <actor>: a #ClutterActor child of @container
11682 // <property_name>: the name of the property to get
11683 // <value>: a #GValue with the value of the property to get
11684 void child_get_property()(Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
) {
11685 clutter_layout_manager_child_get_property(&this, container
, actor
, property_name
, value
);
11688 // Unintrospectable method: child_set() / clutter_layout_manager_child_set()
11690 // Sets a list of properties and their values on the #ClutterLayoutMeta
11691 // associated by @manager to a child of @container
11693 // Languages bindings should use clutter_layout_manager_child_set_property()
11695 // <container>: a #ClutterContainer using @manager
11696 // <actor>: a #ClutterActor child of @container
11697 // <first_property>: the first property name
11698 /+ Not available -- variadic methods unsupported - use the C function directly.
11699 alias clutter_layout_manager_child_set child_set; // Variadic
11703 // Sets a property on the #ClutterLayoutMeta created by @manager and
11704 // attached to a child of @container
11705 // <container>: a #ClutterContainer using @manager
11706 // <actor>: a #ClutterActor child of @container
11707 // <property_name>: the name of the property to set
11708 // <value>: a #GValue with the value of the property to set
11709 void child_set_property()(Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
) {
11710 clutter_layout_manager_child_set_property(&this, container
, actor
, property_name
, value
);
11714 // Ends an animation started by clutter_layout_manager_begin_animation()
11716 // The result of this call depends on the @manager implementation
11717 void end_animation()() {
11718 clutter_layout_manager_end_animation(&this);
11722 // Retrieves the #GParamSpec for the layout property @name inside
11723 // the #ClutterLayoutMeta sub-class used by @manager
11725 // or %NULL if no property with that name exists. The returned
11726 // #GParamSpec is owned by the layout manager and should not be
11727 // modified or freed
11728 // RETURNS: a #GParamSpec describing the property,
11729 // <name>: the name of the property
11730 GObject2
.ParamSpec
* find_child_property()(char* name
) {
11731 return clutter_layout_manager_find_child_property(&this, name
);
11735 // Retrieves the progress of the animation, if one has been started by
11736 // clutter_layout_manager_begin_animation()
11738 // The returned value has the same semantics of the #ClutterAlpha:alpha
11740 // RETURNS: the progress of the animation
11741 double get_animation_progress()() {
11742 return clutter_layout_manager_get_animation_progress(&this);
11746 // Retrieves the #ClutterLayoutMeta that the layout @manager associated
11747 // to the @actor child of @container, eventually by creating one if the
11748 // #ClutterLayoutManager supports layout properties
11750 // #ClutterLayoutManager does not have layout properties. The returned
11751 // layout meta instance is owned by the #ClutterLayoutManager and it
11752 // should not be unreferenced
11753 // RETURNS: a #ClutterLayoutMeta, or %NULL if the
11754 // <container>: a #ClutterContainer using @manager
11755 // <actor>: a #ClutterActor child of @container
11756 LayoutMeta
* get_child_meta()(Container
* container
, Actor
* actor
) {
11757 return clutter_layout_manager_get_child_meta(&this, container
, actor
);
11761 // Computes the minimum and natural heights of the @container according
11764 // See also clutter_actor_get_preferred_height()
11765 // <container>: the #ClutterContainer using @manager
11766 // <for_width>: the width for which the height should be computed, or -1
11767 // <min_height_p>: return location for the minimum height of the layout, or %NULL
11768 // <nat_height_p>: return location for the natural height of the layout, or %NULL
11769 void get_preferred_height()(Container
* container
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* nat_height_p
=null) {
11770 clutter_layout_manager_get_preferred_height(&this, container
, for_width
, min_height_p
, nat_height_p
);
11774 // Computes the minimum and natural widths of the @container according
11777 // See also clutter_actor_get_preferred_width()
11778 // <container>: the #ClutterContainer using @manager
11779 // <for_height>: the height for which the width should be computed, or -1
11780 // <min_width_p>: return location for the minimum width of the layout, or %NULL
11781 // <nat_width_p>: return location for the natural width of the layout, or %NULL
11782 void get_preferred_width()(Container
* container
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* nat_width_p
=null) {
11783 clutter_layout_manager_get_preferred_width(&this, container
, for_height
, min_width_p
, nat_width_p
);
11787 // Emits the #ClutterLayoutManager::layout-changed signal on @manager
11789 // This function should only be called by implementations of the
11790 // #ClutterLayoutManager class
11791 void layout_changed()() {
11792 clutter_layout_manager_layout_changed(&this);
11796 // Retrieves all the #GParamSpec<!-- -->s for the layout properties
11797 // stored inside the #ClutterLayoutMeta sub-class used by @manager
11799 // %NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the
11800 // resources allocated for the array
11801 // RETURNS: the newly-allocated,
11802 // <n_pspecs>: return location for the number of returned #GParamSpec<!-- -->s
11803 GObject2
.ParamSpec
** /*new*/ list_child_properties()(/*out*/ uint* n_pspecs
) {
11804 return clutter_layout_manager_list_child_properties(&this, n_pspecs
);
11808 // If the #ClutterLayoutManager sub-class allows it, allow
11809 // adding a weak reference of the @container using @manager
11810 // from within the layout manager
11812 // The layout manager should not increase the reference
11813 // count of the @container
11814 // <container>: a #ClutterContainer using @manager
11815 void set_container()(Container
* container
=null) {
11816 clutter_layout_manager_set_container(&this, container
);
11820 // The ::layout-changed signal is emitted each time a layout manager
11821 // has been changed. Every #ClutterActor using the @manager instance
11822 // as a layout manager should connect a handler to the ::layout-changed
11823 // signal and queue a relayout on themselves:
11826 // static void layout_changed (ClutterLayoutManager *manager,
11827 // ClutterActor *self)
11829 // clutter_actor_queue_relayout (self);
11832 // self->manager = g_object_ref_sink (manager);
11833 // g_signal_connect (self->manager, "layout-changed",
11834 // G_CALLBACK (layout_changed),
11838 // Sub-classes of #ClutterLayoutManager that implement a layout that
11839 // can be controlled or changed using parameters should emit the
11840 // ::layout-changed signal whenever one of the parameters changes,
11841 // by using clutter_layout_manager_layout_changed().
11842 extern (C
) alias static void function (LayoutManager
* this_
, void* user_data
=null) signal_layout_changed
;
11844 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11845 return super_
.signal_connect
!name(cb
, data
, cf
);
11848 ulong signal_connect(string name
:"layout-changed", CB
:signal_layout_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11849 return signal_connect_data
!()(&this, cast(char*)"layout-changed",
11850 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11855 // The #ClutterLayoutManagerClass structure contains only private
11856 // data and should be accessed using the provided API
11857 struct LayoutManagerClass
/* Version 1.2 */ {
11858 private GObject2
.InitiallyUnownedClass parent_class
;
11860 // <container>: the #ClutterContainer using @manager
11861 // <for_height>: the height for which the width should be computed, or -1
11862 // <min_width_p>: return location for the minimum width of the layout, or %NULL
11863 // <nat_width_p>: return location for the natural width of the layout, or %NULL
11864 extern (C
) void function (LayoutManager
* manager
, Container
* container
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* nat_width_p
=null) get_preferred_width
;
11866 // <container>: the #ClutterContainer using @manager
11867 // <for_width>: the width for which the height should be computed, or -1
11868 // <min_height_p>: return location for the minimum height of the layout, or %NULL
11869 // <nat_height_p>: return location for the natural height of the layout, or %NULL
11870 extern (C
) void function (LayoutManager
* manager
, Container
* container
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* nat_height_p
=null) get_preferred_height
;
11872 // <container>: the #ClutterContainer using @manager
11873 // <allocation>: the #ClutterActorBox containing the allocated area of @container
11874 // <flags>: the allocation flags
11875 extern (C
) void function (LayoutManager
* manager
, Container
* container
, ActorBox
* allocation
, AllocationFlags flags
) allocate
;
11876 // <container>: a #ClutterContainer using @manager
11877 extern (C
) void function (LayoutManager
* manager
, Container
* container
=null) set_container
;
11878 extern (C
) Type
function (LayoutManager
* manager
) get_child_meta_type
;
11879 // Unintrospectable functionp: create_child_meta() / ()
11880 extern (C
) LayoutMeta
* function (LayoutManager
* manager
, Container
* container
, Actor
* actor
) create_child_meta
;
11882 // RETURNS: The #ClutterAlpha created by the
11883 // <duration>: the duration of the animation, in milliseconds
11884 // <mode>: the easing mode of the animation
11885 extern (C
) Alpha
* function (LayoutManager
* manager
, uint duration
, c_ulong mode
) begin_animation
;
11886 // RETURNS: the progress of the animation
11887 extern (C
) double function (LayoutManager
* manager
) get_animation_progress
;
11888 extern (C
) void function (LayoutManager
* manager
) end_animation
;
11889 extern (C
) void function (LayoutManager
* manager
) layout_changed
;
11890 extern (C
) void function () _clutter_padding_1
;
11891 extern (C
) void function () _clutter_padding_2
;
11892 extern (C
) void function () _clutter_padding_3
;
11893 extern (C
) void function () _clutter_padding_4
;
11894 extern (C
) void function () _clutter_padding_5
;
11895 extern (C
) void function () _clutter_padding_6
;
11896 extern (C
) void function () _clutter_padding_7
;
11897 extern (C
) void function () _clutter_padding_8
;
11901 // Sub-class of #ClutterChildMeta specific for layout managers
11903 // A #ClutterLayoutManager sub-class should create a #ClutterLayoutMeta
11904 // instance by overriding the #ClutterLayoutManager::create_child_meta()
11905 // virtual function
11906 struct LayoutMeta
/* : ChildMeta */ /* Version 1.2 */ {
11907 alias parent_instance
this;
11908 alias parent_instance super_
;
11909 alias parent_instance childmeta
;
11910 ChildMeta parent_instance
;
11911 LayoutManager
* manager
;
11912 private int dummy0
;
11913 private void* dummy1
;
11917 // Retrieves the actor wrapped by @data
11918 // RETURNS: a #ClutterLayoutManager
11919 LayoutManager
* get_manager()() {
11920 return clutter_layout_meta_get_manager(&this);
11925 // The #ClutterLayoutMetaClass contains only private data and
11926 // should never be accessed directly
11927 struct LayoutMetaClass
/* Version 1.2 */ {
11928 private ChildMetaClass parent_class
;
11929 extern (C
) void function () _clutter_padding1
;
11930 extern (C
) void function () _clutter_padding2
;
11931 extern (C
) void function () _clutter_padding3
;
11932 extern (C
) void function () _clutter_padding4
;
11935 enum int Lbelowdot
= 16784950;
11936 enum int Lcaron
= 421;
11937 enum int Lcedilla
= 934;
11938 enum int Left
= 65361;
11939 enum int LightBulb
= 269025077;
11940 enum int Linefeed
= 65290;
11941 enum int LiraSign
= 16785572;
11942 // The #ClutterListModel struct contains only private data.
11943 struct ListModel
/* : Model */ /* Version 0.6 */ {
11944 mixin Scriptable
.__interface__
;
11945 alias parent_instance
this;
11946 alias parent_instance super_
;
11947 alias parent_instance model
;
11948 Model parent_instance
;
11949 private ListModelPrivate
* priv
;
11952 // Unintrospectable constructor: new() / clutter_list_model_new()
11954 // Creates a new default model with @n_columns columns with the types
11955 // and names passed in.
11959 // <informalexample><programlisting>
11960 // model = clutter_list_model_new (3,
11961 // G_TYPE_INT, "Score",
11962 // G_TYPE_STRING, "Team",
11963 // GDK_TYPE_PIXBUF, "Logo");
11964 // </programlisting></informalexample>
11966 // will create a new #ClutterModel with three columns of type int,
11967 // string and #GdkPixbuf respectively.
11969 // Note that the name of the column can be set to %NULL, in which case
11970 // the canonical name of the type held by the column will be used as
11972 // RETURNS: a new #ClutterListModel
11973 // <n_columns>: number of columns in the model
11974 alias clutter_list_model_new new_
; // Variadic
11977 // Non-vararg version of clutter_list_model_new(). This function is
11978 // useful for language bindings.
11979 // RETURNS: a new default #ClutterModel
11980 // <n_columns>: number of columns in the model
11981 // <types>: an array of #GType types for the columns, from first to last
11982 // <names>: an array of names for the columns, from first to last
11983 static ListModel
* /*new*/ newv()(uint n_columns
, Type
* types
, char* names
) {
11984 return clutter_list_model_newv(n_columns
, types
, names
);
11988 // The #ClutterListModelClass struct contains only private data.
11989 struct ListModelClass
/* Version 0.6 */ {
11990 private ModelClass parent_class
;
11993 struct ListModelPrivate
{
11996 enum int LogOff
= 269025121;
11997 // The states for the #ClutterClikAction::long-press signal.
11998 enum LongPressState
/* Version 1.8 */ {
12003 enum int Lstroke
= 419;
12005 enum int MAJOR_VERSION
= 1;
12006 enum int MICRO_VERSION
= 3;
12007 enum int MINOR_VERSION
= 8;
12008 enum int Mabovedot
= 16784960;
12009 enum int Macedonia_DSE
= 1717;
12010 enum int Macedonia_GJE
= 1714;
12011 enum int Macedonia_KJE
= 1724;
12012 enum int Macedonia_dse
= 1701;
12013 enum int Macedonia_gje
= 1698;
12014 enum int Macedonia_kje
= 1708;
12015 enum int Mae_Koho
= 65342;
12016 enum int Mail
= 269025049;
12017 enum int MailForward
= 269025168;
12018 enum int Market
= 269025122;
12019 enum int Massyo
= 65324;
12021 // #ClutterMedia is an opaque structure whose members cannot be directly
12023 struct Media
/* Interface */ /* Version 0.2 */ {
12024 mixin template __interface__() {
12026 // Retrieves the playback volume of @media.
12027 // RETURNS: The playback volume between 0.0 and 1.0
12028 double get_audio_volume()() {
12029 return clutter_media_get_audio_volume(cast(Media
*)&this);
12033 // Retrieves the amount of the stream that is buffered.
12034 // RETURNS: the fill level, between 0.0 and 1.0
12035 double get_buffer_fill()() {
12036 return clutter_media_get_buffer_fill(cast(Media
*)&this);
12040 // Retrieves whether @media is seekable or not.
12041 // RETURNS: %TRUE if @media can seek, %FALSE otherwise.
12042 int get_can_seek()() {
12043 return clutter_media_get_can_seek(cast(Media
*)&this);
12047 // Retrieves the duration of the media stream that @media represents.
12048 // RETURNS: the duration of the media stream, in seconds
12049 double get_duration()() {
12050 return clutter_media_get_duration(cast(Media
*)&this);
12054 // Retrieves the playing status of @media.
12055 // RETURNS: %TRUE if playing, %FALSE if stopped.
12056 int get_playing()() {
12057 return clutter_media_get_playing(cast(Media
*)&this);
12061 // Retrieves the playback progress of @media.
12062 // RETURNS: the playback progress, between 0.0 and 1.0
12063 double get_progress()() {
12064 return clutter_media_get_progress(cast(Media
*)&this);
12068 // Retrieves the font name currently used.
12070 // to free the returned string
12071 // RETURNS: a string containing the font name. Use g_free()
12072 char* /*new*/ get_subtitle_font_name()() {
12073 return clutter_media_get_subtitle_font_name(cast(Media
*)&this);
12077 // Retrieves the URI of the subtitle file in use.
12079 // to free the returned string
12080 // RETURNS: the URI of the subtitle file. Use g_free()
12081 char* /*new*/ get_subtitle_uri()() {
12082 return clutter_media_get_subtitle_uri(cast(Media
*)&this);
12086 // Retrieves the URI from @media.
12088 // to free the returned string
12089 // RETURNS: the URI of the media stream. Use g_free()
12090 char* /*new*/ get_uri()() {
12091 return clutter_media_get_uri(cast(Media
*)&this);
12095 // Sets the playback volume of @media to @volume.
12096 // <volume>: the volume as a double between 0.0 and 1.0
12097 void set_audio_volume()(double volume
) {
12098 clutter_media_set_audio_volume(cast(Media
*)&this, volume
);
12102 // Sets the source of @media using a file path.
12103 // <filename>: A filename
12104 void set_filename()(char* filename
) {
12105 clutter_media_set_filename(cast(Media
*)&this, filename
);
12109 // Starts or stops playing of @media.
12110 // The implementation might be asynchronous, so the way to know whether
12111 // the actual playing state of the @media is to use the #GObject::notify
12112 // signal on the #ClutterMedia:playing property and then retrieve the
12113 // current state with clutter_media_get_playing(). ClutterGstVideoTexture
12114 // in clutter-gst is an example of such an asynchronous implementation.
12115 // <playing>: %TRUE to start playing
12116 void set_playing()(int playing
) {
12117 clutter_media_set_playing(cast(Media
*)&this, playing
);
12121 // Sets the playback progress of @media. The @progress is
12122 // a normalized value between 0.0 (begin) and 1.0 (end).
12123 // <progress>: the progress of the playback, between 0.0 and 1.0
12124 void set_progress()(double progress
) {
12125 clutter_media_set_progress(cast(Media
*)&this, progress
);
12129 // Sets the font used by the subtitle renderer. The @font_name string must be
12130 // either %NULL, which means that the default font name of the underlying
12131 // implementation will be used; or must follow the grammar recognized by
12132 // pango_font_description_from_string() like:
12135 // clutter_media_set_subtitle_font_name (media, "Sans 24pt");
12137 // <font_name>: a font name, or %NULL to set the default font name
12138 void set_subtitle_font_name()(char* font_name
) {
12139 clutter_media_set_subtitle_font_name(cast(Media
*)&this, font_name
);
12143 // Sets the location of a subtitle file to display while playing @media.
12144 // <uri>: the URI of a subtitle file
12145 void set_subtitle_uri()(char* uri
) {
12146 clutter_media_set_subtitle_uri(cast(Media
*)&this, uri
);
12150 // Sets the URI of @media to @uri.
12151 // <uri>: the URI of the media stream
12152 void set_uri()(char* uri
) {
12153 clutter_media_set_uri(cast(Media
*)&this, uri
);
12157 // The ::eos signal is emitted each time the media stream ends.
12158 extern (C
) alias static void function (Media
* this_
, void* user_data
=null) signal_eos
;
12160 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12161 return super_
.signal_connect
!name(cb
, data
, cf
);
12164 ulong signal_connect(string name
:"eos", CB
:signal_eos
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12165 return signal_connect_data
!()(&this, cast(char*)"eos",
12166 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12170 // The ::error signal is emitted each time an error occurred.
12171 // <error>: the #GError
12172 extern (C
) alias static void function (Media
* this_
, GLib2
.Error
* error
, void* user_data
=null) signal_error
;
12173 ulong signal_connect(string name
:"error", CB
:signal_error
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12174 return signal_connect_data
!()(&this, cast(char*)"error",
12175 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12178 mixin __interface__
;
12181 // Interface vtable for #ClutterMedia implementations
12182 struct MediaIface
/* Version 0.2 */ {
12183 private GObject2
.TypeInterface base_iface
;
12184 extern (C
) void function (Media
* media
) eos
;
12185 extern (C
) void function (Media
* media
, GLib2
.Error
* error
) error
;
12188 enum int Meeting
= 269025123;
12189 enum int Memo
= 269025054;
12190 enum int Menu
= 65383;
12191 enum int MenuKB
= 269025125;
12192 enum int MenuPB
= 269025126;
12193 enum int Messenger
= 269025166;
12194 enum int Meta_L
= 65511;
12195 enum int Meta_R
= 65512;
12196 enum int MillSign
= 16785573;
12197 enum int ModeLock
= 269025025;
12198 enum int Mode_switch
= 65406;
12200 // Base class for list models. The #ClutterModel structure contains
12201 // only private data and should be manipulated using the provided
12203 struct Model
/* : GObject.Object */ /* Version 0.6 */ {
12204 mixin Scriptable
.__interface__
;
12205 alias parent_instance
this;
12206 alias parent_instance super_
;
12207 alias parent_instance object
;
12208 GObject2
.Object parent_instance
;
12209 private ModelPrivate
* priv
;
12212 // Unintrospectable method: append() / clutter_model_append()
12214 // Creates and appends a new row to the #ClutterModel, setting the
12215 // row values upon creation. For example, to append a new row where
12216 // column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
12218 // <informalexample><programlisting>
12219 // ClutterModel *model;
12220 // model = clutter_model_default_new (2,
12221 // G_TYPE_INT, "Score",
12222 // G_TYPE_STRING, "Team");
12223 // clutter_model_append (model, 0, 42, 1, "Team #1", -1);
12224 // </programlisting></informalexample>
12225 /+ Not available -- variadic methods unsupported - use the C function directly.
12226 alias clutter_model_append append; // Variadic
12230 // Creates and appends a new row to the #ClutterModel, setting the row
12231 // values for the given @columns upon creation.
12232 // <n_columns>: the number of columns and values
12233 // <columns>: a vector with the columns to set
12234 // <values>: a vector with the values
12235 void appendv()(uint n_columns
, uint* columns
, GObject2
.Value
* values
) {
12236 clutter_model_appendv(&this, n_columns
, columns
, values
);
12240 // Checks whether the row pointer by @iter should be filtered or not using
12241 // the filtering function set on @model.
12243 // This function should be used only by subclasses of #ClutterModel.
12245 // %FALSE otherwise
12246 // RETURNS: %TRUE if the row should be displayed,
12247 // <iter>: the row to filter
12248 int filter_iter()(ModelIter
* iter
) {
12249 return clutter_model_filter_iter(&this, iter
);
12253 // Checks whether @row should be filtered or not using the
12254 // filtering function set on @model.
12256 // This function should be used only by subclasses of #ClutterModel.
12258 // %FALSE otherwise
12259 // RETURNS: %TRUE if the row should be displayed,
12260 // <row>: the row to filter
12261 int filter_row()(uint row
) {
12262 return clutter_model_filter_row(&this, row
);
12266 // Calls @func for each row in the model.
12267 // <func>: a #ClutterModelForeachFunc
12268 // <user_data>: user data to pass to @func
12269 void foreach_()(ModelForeachFunc func
, void* user_data
) {
12270 clutter_model_foreach(&this, func
, user_data
);
12274 // Retrieves the name of the @column
12276 // string, and it should not be modified or freed
12277 // RETURNS: the name of the column. The model holds the returned
12278 // <column>: the column number
12279 char* get_column_name()(uint column
) {
12280 return clutter_model_get_column_name(&this, column
);
12284 // Retrieves the type of the @column.
12285 // RETURNS: the type of the column.
12286 // <column>: the column number
12287 Type
get_column_type()(uint column
) {
12288 return clutter_model_get_column_type(&this, column
);
12292 // Returns whether the @model has a filter in place, set
12293 // using clutter_model_set_filter()
12294 // RETURNS: %TRUE if a filter is set
12295 int get_filter_set()() {
12296 return clutter_model_get_filter_set(&this);
12300 // Retrieves a #ClutterModelIter representing the first non-filtered
12303 // Call g_object_unref() when done using it
12304 // RETURNS: A new #ClutterModelIter.
12305 ModelIter
* /*new*/ get_first_iter()() {
12306 return clutter_model_get_first_iter(&this);
12310 // Retrieves a #ClutterModelIter representing the row at the given index.
12312 // If a filter function has been set using clutter_model_set_filter()
12313 // then the @model implementation will return the first non filtered
12316 // out of bounds. When done using the iterator object, call g_object_unref()
12317 // to deallocate its resources
12318 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
12319 // <row>: position of the row to retrieve
12320 ModelIter
* /*new*/ get_iter_at_row()(uint row
) {
12321 return clutter_model_get_iter_at_row(&this, row
);
12325 // Retrieves a #ClutterModelIter representing the last non-filtered
12328 // Call g_object_unref() when done using it
12329 // RETURNS: A new #ClutterModelIter.
12330 ModelIter
* /*new*/ get_last_iter()() {
12331 return clutter_model_get_last_iter(&this);
12335 // Retrieves the number of columns inside @model.
12336 // RETURNS: the number of columns
12337 uint get_n_columns()() {
12338 return clutter_model_get_n_columns(&this);
12342 // Retrieves the number of rows inside @model, eventually taking
12343 // into account any filtering function set using clutter_model_set_filter().
12345 // the length of the filtered @model is returned.
12346 // RETURNS: The length of the @model. If there is a filter set, then
12347 uint get_n_rows()() {
12348 return clutter_model_get_n_rows(&this);
12352 // Retrieves the number of column used for sorting the @model.
12353 // RETURNS: a column number, or -1 if the model is not sorted
12354 int get_sorting_column()() {
12355 return clutter_model_get_sorting_column(&this);
12358 // Unintrospectable method: insert() / clutter_model_insert()
12360 // Inserts a new row to the #ClutterModel at @row, setting the row
12361 // values upon creation. For example, to insert a new row at index 100,
12362 // where column 0 is type %G_TYPE_INT and column 1 is of type
12365 // <informalexample><programlisting>
12366 // ClutterModel *model;
12367 // model = clutter_model_default_new (2,
12368 // G_TYPE_INT, "Score",
12369 // G_TYPE_STRING, "Team");
12370 // clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1);
12371 // </programlisting></informalexample>
12372 // <row>: the position to insert the new row
12373 /+ Not available -- variadic methods unsupported - use the C function directly.
12374 alias clutter_model_insert insert; // Variadic
12378 // Sets the data in the cell specified by @iter and @column. The type of
12379 // @value must be convertable to the type of the column. If the row does
12380 // not exist then it is created.
12381 // <row>: position of the row to modify
12382 // <column>: column to modify
12383 // <value>: new value for the cell
12384 void insert_value()(uint row
, uint column
, GObject2
.Value
* value
) {
12385 clutter_model_insert_value(&this, row
, column
, value
);
12389 // Inserts data at @row into the #ClutterModel, setting the row
12390 // values for the given @columns upon creation.
12391 // <row>: row index
12392 // <n_columns>: the number of columns and values to set
12393 // <columns>: a vector containing the columns to set
12394 // <values>: a vector containing the values for the cells
12395 void insertv()(uint row
, uint n_columns
, uint* columns
, GObject2
.Value
* values
) {
12396 clutter_model_insertv(&this, row
, n_columns
, columns
, values
);
12399 // Unintrospectable method: prepend() / clutter_model_prepend()
12401 // Creates and prepends a new row to the #ClutterModel, setting the row
12402 // values upon creation. For example, to prepend a new row where column 0
12403 // is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
12405 // <informalexample><programlisting>
12406 // ClutterModel *model;
12407 // model = clutter_model_default_new (2,
12408 // G_TYPE_INT, "Score",
12409 // G_TYPE_STRING, "Team");
12410 // clutter_model_prepend (model, 0, 42, 1, "Team #1", -1);
12411 // </programlisting></informalexample>
12412 /+ Not available -- variadic methods unsupported - use the C function directly.
12413 alias clutter_model_prepend prepend; // Variadic
12417 // Creates and prepends a new row to the #ClutterModel, setting the row
12418 // values for the given @columns upon creation.
12419 // <n_columns>: the number of columns and values to set
12420 // <columns>: a vector containing the columns to set
12421 // <values>: a vector containing the values for the cells
12422 void prependv()(uint n_columns
, uint* columns
, GObject2
.Value
* values
) {
12423 clutter_model_prependv(&this, n_columns
, columns
, values
);
12427 // Removes the row at the given position from the model.
12428 // <row>: position of row to remove
12429 void remove()(uint row
) {
12430 clutter_model_remove(&this, row
);
12434 // Force a resort on the @model. This function should only be
12435 // used by subclasses of #ClutterModel.
12437 clutter_model_resort(&this);
12441 // Filters the @model using the given filtering function.
12442 // <func>: a #ClutterModelFilterFunc, or #NULL
12443 // <user_data>: user data to pass to @func, or #NULL
12444 // <notify>: destroy notifier of @user_data, or #NULL
12445 void set_filter()(ModelFilterFunc func
, void* user_data
, GLib2
.DestroyNotify notify
) {
12446 clutter_model_set_filter(&this, func
, user_data
, notify
);
12450 // Assigns a name to the columns of a #ClutterModel.
12452 // This function is meant primarily for #GObjects that inherit from
12453 // #ClutterModel, and should only be used when contructing a #ClutterModel.
12454 // It will not work after the initial creation of the #ClutterModel.
12455 // <n_columns>: the number of column names
12456 // <names>: an array of strings
12457 void set_names()(uint n_columns
, char* names
) {
12458 clutter_model_set_names(&this, n_columns
, names
);
12462 // Sorts @model using the given sorting function.
12463 // <column>: the column to sort on
12464 // <func>: a #ClutterModelSortFunc, or #NULL
12465 // <user_data>: user data to pass to @func, or #NULL
12466 // <notify>: destroy notifier of @user_data, or #NULL
12467 void set_sort()(int column
, ModelSortFunc func
, void* user_data
, GLib2
.DestroyNotify notify
) {
12468 clutter_model_set_sort(&this, column
, func
, user_data
, notify
);
12472 // Sets the model to sort by @column. If @column is a negative value
12473 // the sorting column will be unset.
12474 // <column>: the column of the @model to sort, or -1
12475 void set_sorting_column()(int column
) {
12476 clutter_model_set_sorting_column(&this, column
);
12480 // Sets the types of the columns inside a #ClutterModel.
12482 // This function is meant primarily for #GObjects that inherit from
12483 // #ClutterModel, and should only be used when contructing a #ClutterModel.
12484 // It will not work after the initial creation of the #ClutterModel.
12485 // <n_columns>: number of columns for the model
12486 // <types>: an array of #GType types
12487 void set_types()(uint n_columns
, Type
* types
) {
12488 clutter_model_set_types(&this, n_columns
, types
);
12492 // The ::filter-changed signal is emitted when a new filter has been applied
12493 extern (C
) alias static void function (Model
* this_
, void* user_data
=null) signal_filter_changed
;
12495 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12496 return super_
.signal_connect
!name(cb
, data
, cf
);
12499 ulong signal_connect(string name
:"filter-changed", CB
:signal_filter_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12500 return signal_connect_data
!()(&this, cast(char*)"filter-changed",
12501 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12505 // The ::row-added signal is emitted when a new row has been added.
12506 // The data on the row has already been set when the ::row-added signal
12507 // has been emitted.
12508 // <iter>: a #ClutterModelIter pointing to the new row
12509 extern (C
) alias static void function (Model
* this_
, ModelIter
* iter
, void* user_data
=null) signal_row_added
;
12510 ulong signal_connect(string name
:"row-added", CB
:signal_row_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12511 return signal_connect_data
!()(&this, cast(char*)"row-added",
12512 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12516 // The ::row-removed signal is emitted when a row has been changed.
12517 // The data on the row has already been updated when the ::row-changed
12518 // signal has been emitted.
12519 // <iter>: a #ClutterModelIter pointing to the changed row
12520 extern (C
) alias static void function (Model
* this_
, ModelIter
* iter
, void* user_data
=null) signal_row_changed
;
12521 ulong signal_connect(string name
:"row-changed", CB
:signal_row_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12522 return signal_connect_data
!()(&this, cast(char*)"row-changed",
12523 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12527 // The ::row-removed signal is emitted when a row has been removed.
12528 // The data on the row pointed by the passed iterator is still valid
12529 // when the ::row-removed signal has been emitted.
12530 // <iter>: a #ClutterModelIter pointing to the removed row
12531 extern (C
) alias static void function (Model
* this_
, ModelIter
* iter
, void* user_data
=null) signal_row_removed
;
12532 ulong signal_connect(string name
:"row-removed", CB
:signal_row_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12533 return signal_connect_data
!()(&this, cast(char*)"row-removed",
12534 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12538 // The ::sort-changed signal is emitted after the model has been sorted
12539 extern (C
) alias static void function (Model
* this_
, void* user_data
=null) signal_sort_changed
;
12540 ulong signal_connect(string name
:"sort-changed", CB
:signal_sort_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12541 return signal_connect_data
!()(&this, cast(char*)"sort-changed",
12542 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12546 // Class for #ClutterModel instances.
12547 struct ModelClass
/* Version 0.6 */ {
12548 private GObject2
.ObjectClass parent_class
;
12549 // RETURNS: The length of the @model. If there is a filter set, then
12550 extern (C
) uint function (Model
* model
) get_n_rows
;
12551 // RETURNS: the number of columns
12552 extern (C
) uint function (Model
* model
) get_n_columns
;
12554 // RETURNS: the name of the column. The model holds the returned
12555 // <column>: the column number
12556 extern (C
) char* function (Model
* model
, uint column
) get_column_name
;
12558 // RETURNS: the type of the column.
12559 // <column>: the column number
12560 extern (C
) Type
function (Model
* model
, uint column
) get_column_type
;
12561 // Unintrospectable functionp: insert_row() / ()
12562 extern (C
) ModelIter
* function (Model
* model
, int index_
) insert_row
;
12563 extern (C
) void function (Model
* model
, uint row
) remove_row
;
12565 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
12566 // <row>: position of the row to retrieve
12567 extern (C
) ModelIter
* /*new*/ function (Model
* model
, uint row
) get_iter_at_row
;
12568 // Unintrospectable functionp: resort() / ()
12569 extern (C
) void function (Model
* model
, ModelSortFunc func
, void* data
) resort
;
12570 extern (C
) void function (Model
* model
, ModelIter
* iter
) row_added
;
12571 extern (C
) void function (Model
* model
, ModelIter
* iter
) row_removed
;
12572 extern (C
) void function (Model
* model
, ModelIter
* iter
) row_changed
;
12573 extern (C
) void function (Model
* model
) sort_changed
;
12574 extern (C
) void function (Model
* model
) filter_changed
;
12575 extern (C
) void function () _clutter_model_1
;
12576 extern (C
) void function () _clutter_model_2
;
12577 extern (C
) void function () _clutter_model_3
;
12578 extern (C
) void function () _clutter_model_4
;
12579 extern (C
) void function () _clutter_model_5
;
12580 extern (C
) void function () _clutter_model_6
;
12581 extern (C
) void function () _clutter_model_7
;
12582 extern (C
) void function () _clutter_model_8
;
12587 // Filters the content of a row in the model.
12588 // RETURNS: If the row should be displayed, return %TRUE
12589 // <model>: a #ClutterModel
12590 // <iter>: the iterator for the row
12591 // <user_data>: data passed to clutter_model_set_filter()
12592 extern (C
) alias int function (Model
* model
, ModelIter
* iter
, void* user_data
) ModelFilterFunc
;
12596 // Iterates on the content of a row in the model
12597 // RETURNS: %TRUE if the iteration should continue, %FALSE otherwise
12598 // <model>: a #ClutterModel
12599 // <iter>: the iterator for the row
12600 // <user_data>: data passed to clutter_model_foreach()
12601 extern (C
) alias int function (Model
* model
, ModelIter
* iter
, void* user_data
) ModelForeachFunc
;
12604 // Base class for list models iters. The #ClutterModelIter structure
12605 // contains only private data and should be manipulated using the
12607 struct ModelIter
/* : GObject.Object */ /* Version 0.6 */ {
12608 alias parent_instance
this;
12609 alias parent_instance super_
;
12610 alias parent_instance object
;
12611 GObject2
.Object parent_instance
;
12612 private ModelIterPrivate
* priv
;
12616 // Copies the passed iterator.
12617 // RETURNS: a copy of the iterator, or %NULL
12618 ModelIter
* /*new*/ copy()() {
12619 return clutter_model_iter_copy(&this);
12622 // Unintrospectable method: get() / clutter_model_iter_get()
12624 // Gets the value of one or more cells in the row referenced by @iter. The
12625 // variable argument list should contain integer column numbers, each column
12626 // column number followed by a place to store the value being retrieved. The
12627 // list is terminated by a -1.
12629 // For example, to get a value from column 0 with type %G_TYPE_STRING use:
12630 // <informalexample><programlisting>
12631 // clutter_model_iter_get (iter, 0, &place_string_here, -1);
12632 // </programlisting></informalexample>
12634 // where place_string_here is a gchar* to be filled with the string. If
12635 // appropriate, the returned values have to be freed or unreferenced.
12636 /+ Not available -- variadic methods unsupported - use the C function directly.
12637 alias clutter_model_iter_get get; // Variadic
12641 // Retrieves a pointer to the #ClutterModel that this iter is part of.
12642 // RETURNS: a pointer to a #ClutterModel.
12643 Model
* get_model()() {
12644 return clutter_model_iter_get_model(&this);
12648 // Retrieves the position of the row that the @iter points to.
12649 // RETURNS: the position of the @iter in the model
12651 return clutter_model_iter_get_row(&this);
12654 // Unintrospectable method: get_valist() / clutter_model_iter_get_valist()
12656 // See clutter_model_iter_get(). This version takes a va_list for language
12658 // <args>: a list of column/return location pairs, terminated by -1
12659 void get_valist()(va_list args
) {
12660 clutter_model_iter_get_valist(&this, args
);
12664 // Sets an initializes @value to that at @column. When done with @value,
12665 // g_value_unset() needs to be called to free any allocated memory.
12666 // <column>: column number to retrieve the value from
12667 // <value>: an empty #GValue to set
12668 void get_value()(uint column
, /*out*/ GObject2
.Value
* value
) {
12669 clutter_model_iter_get_value(&this, column
, value
);
12673 // Gets whether the current iterator is at the beginning of the model
12674 // to which it belongs.
12675 // RETURNS: #TRUE if @iter is the first iter in the filtered model
12677 return clutter_model_iter_is_first(&this);
12681 // Gets whether the iterator is at the end of the model to which it
12683 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
12685 return clutter_model_iter_is_last(&this);
12689 // Updates the @iter to point at the next position in the model.
12690 // The model implementation should take into account the presence of
12691 // a filter function.
12693 // row in the model.
12694 // RETURNS: The passed iterator, updated to point at the next
12695 ModelIter
* next()() {
12696 return clutter_model_iter_next(&this);
12700 // Sets the @iter to point at the previous position in the model.
12701 // The model implementation should take into account the presence of
12702 // a filter function.
12704 // row in the model.
12705 // RETURNS: The passed iterator, updated to point at the previous
12706 ModelIter
* prev()() {
12707 return clutter_model_iter_prev(&this);
12710 // Unintrospectable method: set() / clutter_model_iter_set()
12712 // Sets the value of one or more cells in the row referenced by @iter. The
12713 // variable argument list should contain integer column numbers, each column
12714 // column number followed by the value to be set. The list is terminated by a
12717 // For example, to set column 0 with type %G_TYPE_STRING, use:
12718 // <informalexample><programlisting>
12719 // clutter_model_iter_set (iter, 0, "foo", -1);
12720 // </programlisting></informalexample>
12721 /+ Not available -- variadic methods unsupported - use the C function directly.
12722 alias clutter_model_iter_set set; // Variadic
12725 // Unintrospectable method: set_valist() / clutter_model_iter_set_valist()
12727 // See clutter_model_iter_set(); this version takes a va_list for language
12729 // <args>: va_list of column/value pairs, terminiated by -1
12730 void set_valist()(va_list args
) {
12731 clutter_model_iter_set_valist(&this, args
);
12735 // Sets the data in the cell specified by @iter and @column. The type of
12736 // @value must be convertable to the type of the column.
12737 // <column>: column number to retrieve the value from
12738 // <value>: new value for the cell
12739 void set_value()(uint column
, GObject2
.Value
* value
) {
12740 clutter_model_iter_set_value(&this, column
, value
);
12744 // Class for #ClutterModelIter instances.
12745 struct ModelIterClass
/* Version 0.6 */ {
12746 private GObject2
.ObjectClass parent_class
;
12748 // <column>: column number to retrieve the value from
12749 // <value>: an empty #GValue to set
12750 extern (C
) void function (ModelIter
* iter
, uint column
, /*out*/ GObject2
.Value
* value
) get_value
;
12752 // <column>: column number to retrieve the value from
12753 // <value>: new value for the cell
12754 extern (C
) void function (ModelIter
* iter
, uint column
, GObject2
.Value
* value
) set_value
;
12755 // RETURNS: #TRUE if @iter is the first iter in the filtered model
12756 extern (C
) int function (ModelIter
* iter
) is_first
;
12757 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
12758 extern (C
) int function (ModelIter
* iter
) is_last
;
12759 // RETURNS: The passed iterator, updated to point at the next
12760 extern (C
) ModelIter
* function (ModelIter
* iter
) next
;
12761 // RETURNS: The passed iterator, updated to point at the previous
12762 extern (C
) ModelIter
* function (ModelIter
* iter
) prev
;
12763 // RETURNS: a pointer to a #ClutterModel.
12764 extern (C
) Model
* function (ModelIter
* iter
) get_model
;
12765 // RETURNS: the position of the @iter in the model
12766 extern (C
) uint function (ModelIter
* iter
) get_row
;
12767 // RETURNS: a copy of the iterator, or %NULL
12768 extern (C
) ModelIter
* /*new*/ function (ModelIter
* iter
) copy
;
12769 extern (C
) void function () _clutter_model_iter_1
;
12770 extern (C
) void function () _clutter_model_iter_2
;
12771 extern (C
) void function () _clutter_model_iter_3
;
12772 extern (C
) void function () _clutter_model_iter_4
;
12773 extern (C
) void function () _clutter_model_iter_5
;
12774 extern (C
) void function () _clutter_model_iter_6
;
12775 extern (C
) void function () _clutter_model_iter_7
;
12776 extern (C
) void function () _clutter_model_iter_8
;
12779 struct ModelIterPrivate
{
12782 struct ModelPrivate
{
12787 // Compares the content of two rows in the model.
12789 // @a is before @b, or 0 if the rows are the same
12790 // RETURNS: a positive integer if @a is after @b, a negative integer if
12791 // <model>: a #ClutterModel
12792 // <a>: a #GValue representing the contents of the row
12793 // <b>: a #GValue representing the contents of the second row
12794 // <user_data>: data passed to clutter_model_set_sort()
12795 extern (C
) alias int function (Model
* model
, GObject2
.Value
* a
, GObject2
.Value
* b
, void* user_data
) ModelSortFunc
;
12798 // Masks applied to a #ClutterEvent by modifiers.
12800 // Note that Clutter may add internal values to events which include
12801 // reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code
12802 // should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
12803 // remove all reserved values.
12804 enum ModifierType
/* Version 0.4 */ {
12813 BUTTON1_MASK
= 256,
12814 BUTTON2_MASK
= 512,
12815 BUTTON3_MASK
= 1024,
12816 BUTTON4_MASK
= 2048,
12817 BUTTON5_MASK
= 4096,
12818 MODIFIER_RESERVED_13_MASK
= 8192,
12819 MODIFIER_RESERVED_14_MASK
= 16384,
12820 MODIFIER_RESERVED_15_MASK
= 32768,
12821 MODIFIER_RESERVED_16_MASK
= 65536,
12822 MODIFIER_RESERVED_17_MASK
= 131072,
12823 MODIFIER_RESERVED_18_MASK
= 262144,
12824 MODIFIER_RESERVED_19_MASK
= 524288,
12825 MODIFIER_RESERVED_20_MASK
= 1048576,
12826 MODIFIER_RESERVED_21_MASK
= 2097152,
12827 MODIFIER_RESERVED_22_MASK
= 4194304,
12828 MODIFIER_RESERVED_23_MASK
= 8388608,
12829 MODIFIER_RESERVED_24_MASK
= 16777216,
12830 MODIFIER_RESERVED_25_MASK
= 33554432,
12831 SUPER_MASK
= 67108864,
12832 HYPER_MASK
= 134217728,
12833 META_MASK
= 268435456,
12834 MODIFIER_RESERVED_29_MASK
= 536870912,
12835 RELEASE_MASK
= 1073741824,
12836 MODIFIER_MASK
= 1543512063
12838 enum int MonBrightnessDown
= 269025027;
12839 enum int MonBrightnessUp
= 269025026;
12840 // Event for the pointer motion
12841 struct MotionEvent
/* Version 0.2 */ {
12848 ModifierType modifier_state
;
12850 InputDevice
* device
;
12853 enum int MouseKeys_Accel_Enable
= 65143;
12854 enum int MouseKeys_Enable
= 65142;
12855 enum int Muhenkan
= 65314;
12856 enum int Multi_key
= 65312;
12857 enum int MultipleCandidate
= 65341;
12858 enum int Music
= 269025170;
12859 enum int MyComputer
= 269025075;
12860 enum int MySites
= 269025127;
12862 enum int Nacute
= 465;
12863 enum int NairaSign
= 16785574;
12864 enum int Ncaron
= 466;
12865 enum int Ncedilla
= 977;
12866 enum int New
= 269025128;
12867 enum int NewSheqelSign
= 16785578;
12868 enum int News
= 269025129;
12869 enum int Next
= 65366;
12870 enum int Next_VMode
= 269024802;
12871 enum int Next_Virtual_Screen
= 65234;
12872 enum int Ntilde
= 209;
12873 enum int Num_Lock
= 65407;
12875 enum int OE
= 5052;
12876 enum int Oacute
= 211;
12877 enum int Obarred
= 16777631;
12878 enum int Obelowdot
= 16785100;
12879 enum int Ocaron
= 16777681;
12880 enum int Ocircumflex
= 212;
12881 enum int Ocircumflexacute
= 16785104;
12882 enum int Ocircumflexbelowdot
= 16785112;
12883 enum int Ocircumflexgrave
= 16785106;
12884 enum int Ocircumflexhook
= 16785108;
12885 enum int Ocircumflextilde
= 16785110;
12886 enum int Odiaeresis
= 214;
12887 enum int Odoubleacute
= 469;
12888 enum int OfficeHome
= 269025130;
12890 // The #ClutterOffscreenEffect structure contains only private data
12891 // and should be accessed using the provided API
12892 struct OffscreenEffect
/* : Effect */ /* Version 1.4 */ {
12893 alias parent_instance
this;
12894 alias parent_instance super_
;
12895 alias parent_instance effect
;
12896 Effect parent_instance
;
12897 private OffscreenEffectPrivate
* priv
;
12901 // Calls the create_texture() virtual function of the @effect
12903 // %COGL_INVALID_HANDLE. The returned handle has its reference
12904 // count increased.
12905 // RETURNS: a handle to a Cogl texture, or
12906 // <width>: the minimum width of the target texture
12907 // <height>: the minimum height of the target texture
12908 Cogl
.Handle
/*new*/ create_texture()(float width
, float height
) {
12909 return clutter_offscreen_effect_create_texture(&this, width
, height
);
12913 // Retrieves the material used as a render target for the offscreen
12914 // buffer created by @effect
12916 // You should only use the returned #CoglMaterial when painting. The
12917 // returned material might change between different frames.
12919 // returned material is owned by Clutter and it should not be
12920 // modified or freed
12921 // RETURNS: a #CoglMaterial or %NULL. The
12922 Cogl
.Material
* get_target()() {
12923 return clutter_offscreen_effect_get_target(&this);
12927 // Retrieves the size of the offscreen buffer used by @effect to
12928 // paint the actor to which it has been applied.
12930 // This function should only be called by #ClutterOffscreenEffect
12931 // implementations, from within the <function>paint_target()</function>
12932 // virtual function.
12934 // and %FALSE otherwise
12935 // RETURNS: %TRUE if the offscreen buffer has a valid size,
12936 // <width>: return location for the target width, or %NULL
12937 // <height>: return location for the target height, or %NULL
12938 int get_target_size()(/*out*/ float* width
, /*out*/ float* height
) {
12939 return clutter_offscreen_effect_get_target_size(&this, width
, height
);
12943 // Calls the paint_target() virtual function of the @effect
12944 void paint_target()() {
12945 clutter_offscreen_effect_paint_target(&this);
12949 // The #ClutterOffscreenEffectClass structure contains only private data
12950 struct OffscreenEffectClass
/* Version 1.4 */ {
12951 private EffectClass parent_class
;
12953 // RETURNS: a handle to a Cogl texture, or
12954 // <width>: the minimum width of the target texture
12955 // <height>: the minimum height of the target texture
12956 extern (C
) Cogl
.Handle
/*new*/ function (OffscreenEffect
* effect
, float width
, float height
) create_texture
;
12957 extern (C
) void function (OffscreenEffect
* effect
) paint_target
;
12958 extern (C
) void function () _clutter_offscreen1
;
12959 extern (C
) void function () _clutter_offscreen2
;
12960 extern (C
) void function () _clutter_offscreen3
;
12961 extern (C
) void function () _clutter_offscreen4
;
12962 extern (C
) void function () _clutter_offscreen5
;
12963 extern (C
) void function () _clutter_offscreen6
;
12964 extern (C
) void function () _clutter_offscreen7
;
12967 struct OffscreenEffectPrivate
{
12970 // Possible flags to pass to clutter_actor_set_offscreen_redirect().
12971 enum OffscreenRedirect
/* Version 1.8 */ {
12972 AUTOMATIC_FOR_OPACITY
= 1,
12975 enum int Ograve
= 210;
12976 enum int Ohook
= 16785102;
12977 enum int Ohorn
= 16777632;
12978 enum int Ohornacute
= 16785114;
12979 enum int Ohornbelowdot
= 16785122;
12980 enum int Ohorngrave
= 16785116;
12981 enum int Ohornhook
= 16785118;
12982 enum int Ohorntilde
= 16785120;
12983 enum int Omacron
= 978;
12984 enum int Ooblique
= 216;
12985 enum int Open
= 269025131;
12986 enum int OpenURL
= 269025080;
12987 enum int Option
= 269025132;
12988 enum int Oslash
= 216;
12989 enum int Otilde
= 213;
12990 enum int Overlay1_Enable
= 65144;
12991 enum int Overlay2_Enable
= 65145;
12993 enum int PATH_RELATIVE
= 32;
12994 enum int PRIORITY_REDRAW
= 50;
12995 enum int Pabovedot
= 16784982;
12997 // <structname>ClutterPageTurnEffect</structname> is an opaque structure
12998 // whose members can only be accessed using the provided API
12999 struct PageTurnEffect
/* : DeformEffect */ /* Version 1.4 */ {
13000 alias method_parent
this;
13001 alias method_parent super_
;
13002 alias method_parent deformeffect
;
13003 DeformEffect method_parent
;
13007 // Creates a new #ClutterPageTurnEffect instance with the given parameters
13008 // RETURNS: the newly created #ClutterPageTurnEffect
13009 // <period>: the period of the page curl, between 0.0 and 1.0
13010 // <angle>: the angle of the page curl, between 0.0 and 360.0
13011 // <radius>: the radius of the page curl, in pixels
13012 static PageTurnEffect
* new_()(double period
, double angle
, float radius
) {
13013 return clutter_page_turn_effect_new(period
, angle
, radius
);
13017 // Retrieves the value set using clutter_page_turn_effect_get_angle()
13018 // RETURNS: the angle of the page curling
13019 double get_angle()() {
13020 return clutter_page_turn_effect_get_angle(&this);
13024 // Retrieves the value set using clutter_page_turn_effect_get_period()
13025 // RETURNS: the period of the page curling
13026 double get_period()() {
13027 return clutter_page_turn_effect_get_period(&this);
13031 // Retrieves the value set using clutter_page_turn_effect_set_radius()
13032 // RETURNS: the radius of the page curling
13033 float get_radius()() {
13034 return clutter_page_turn_effect_get_radius(&this);
13038 // Sets the angle of the page curling, in degrees
13039 // <angle>: the angle of the page curl, in degrees
13040 void set_angle()(double angle
) {
13041 clutter_page_turn_effect_set_angle(&this, angle
);
13045 // Sets the period of the page curling, between 0.0 (no curling)
13046 // and 1.0 (fully curled)
13047 // <period>: the period of the page curl, between 0.0 and 1.0
13048 void set_period()(double period
) {
13049 clutter_page_turn_effect_set_period(&this, period
);
13053 // Sets the radius of the page curling
13054 // <radius>: the radius of the page curling, in pixels
13055 void set_radius()(float radius
) {
13056 clutter_page_turn_effect_set_radius(&this, radius
);
13060 struct PageTurnEffectClass
{
13063 enum int Page_Down
= 65366;
13064 enum int Page_Up
= 65365;
13066 // <structname>ClutterPaintVolume</structname> is an opaque structure
13067 // whose members cannot be directly accessed.
13069 // A <structname>ClutterPaintVolume</structname> represents an
13070 // a bounding volume whos internal representation isn't defined but
13071 // can be set and queried in terms of an axis aligned bounding box.
13073 // Other internal representation and methods for describing the
13074 // bounding volume may be added in the future.
13075 struct PaintVolume
/* Version 1.4 */ {
13078 // Copies @pv into a new #ClutterPaintVolume
13079 // RETURNS: a newly allocated copy of a #ClutterPaintVolume
13080 PaintVolume
* /*new*/ copy()() {
13081 return clutter_paint_volume_copy(&this);
13085 // Frees the resources allocated by @pv
13087 clutter_paint_volume_free(&this);
13091 // Retrieves the depth of the volume's, axis aligned, bounding box.
13093 // In other words; this takes into account what actor's coordinate
13094 // space @pv belongs too and conceptually fits an axis aligned box
13095 // around the volume. It returns the size of that bounding box as
13096 // measured along the z-axis.
13098 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
13099 // is used to transform a 2D child actor that is 100px wide, 100px
13100 // high and 0px deep into container coordinates then the depth might
13101 // not simply be 0px if the child actor has a 3D rotation applied to
13103 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
13104 // used then the transformed volume will be defined relative to the
13105 // container actor and in container coordinates a 2D child actor
13106 // can have a 3D bounding volume.</para></note>
13108 // <note>There are no accuracy guarantees for the reported depth,
13109 // except that it must always be >= to the true depth. This is
13110 // because actors may report simple, loose fitting paint-volumes
13111 // for efficiency.</note>
13112 // RETURNS: the depth, in units of @pv's local coordinate system.
13113 float get_depth()() {
13114 return clutter_paint_volume_get_depth(&this);
13118 // Retrieves the height of the volume's, axis aligned, bounding box.
13120 // In other words; this takes into account what actor's coordinate
13121 // space @pv belongs too and conceptually fits an axis aligned box
13122 // around the volume. It returns the size of that bounding box as
13123 // measured along the y-axis.
13125 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
13126 // is used to transform a 2D child actor that is 100px wide, 100px
13127 // high and 0px deep into container coordinates then the height might
13128 // not simply be 100px if the child actor has a 3D rotation applied to
13130 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
13131 // used then a transformed child volume will be defined relative to the
13132 // ancestor container actor and so a 2D child actor
13133 // can have a 3D bounding volume.</para></note>
13135 // <note>There are no accuracy guarantees for the reported height,
13136 // except that it must always be >= to the true height. This is
13137 // because actors may report simple, loose fitting paint-volumes
13138 // for efficiency</note>
13139 // RETURNS: the height, in units of @pv's local coordinate system.
13140 float get_height()() {
13141 return clutter_paint_volume_get_height(&this);
13145 // Retrieves the origin of the #ClutterPaintVolume.
13146 // <vertex>: the return location for a #ClutterVertex
13147 void get_origin()(/*out*/ Vertex
* vertex
) {
13148 clutter_paint_volume_get_origin(&this, vertex
);
13152 // Retrieves the width of the volume's, axis aligned, bounding box.
13154 // In other words; this takes into account what actor's coordinate
13155 // space @pv belongs too and conceptually fits an axis aligned box
13156 // around the volume. It returns the size of that bounding box as
13157 // measured along the x-axis.
13159 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
13160 // is used to transform a 2D child actor that is 100px wide, 100px
13161 // high and 0px deep into container coordinates then the width might
13162 // not simply be 100px if the child actor has a 3D rotation applied to
13164 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
13165 // used then a transformed child volume will be defined relative to the
13166 // ancestor container actor and so a 2D child actor
13167 // can have a 3D bounding volume.</para></note>
13169 // <note>There are no accuracy guarantees for the reported width,
13170 // except that it must always be >= to the true width. This is
13171 // because actors may report simple, loose fitting paint-volumes
13172 // for efficiency</note>
13173 // RETURNS: the width, in units of @pv's local coordinate system.
13174 float get_width()() {
13175 return clutter_paint_volume_get_width(&this);
13179 // Sets the depth of the paint volume. The depth is measured along
13180 // the z axis in the actor coordinates that @pv is associated with.
13181 // <depth>: the depth of the paint volume, in pixels
13182 void set_depth()(float depth
) {
13183 clutter_paint_volume_set_depth(&this, depth
);
13187 // Sets the #ClutterPaintVolume from the allocation of @actor.
13189 // This function should be used when overriding the
13190 // <function>get_paint_volume()</function> by #ClutterActor sub-classes that do
13191 // not paint outside their allocation.
13193 // A typical example is:
13197 // my_actor_get_paint_volume (ClutterActor *self,
13198 // ClutterPaintVolume *volume)
13200 // return clutter_paint_volume_set_from_allocation (volume, self);
13205 // RETURNS: %TRUE if the paint volume was successfully set, and %FALSE
13206 // <actor>: a #ClutterActor
13207 int set_from_allocation()(Actor
* actor
) {
13208 return clutter_paint_volume_set_from_allocation(&this, actor
);
13212 // Sets the height of the paint volume. The height is measured along
13213 // the y axis in the actor coordinates that @pv is associated with.
13214 // <height>: the height of the paint volume, in pixels
13215 void set_height()(float height
) {
13216 clutter_paint_volume_set_height(&this, height
);
13220 // Sets the origin of the paint volume.
13222 // The origin is defined as the X, Y and Z coordinates of the top-left
13223 // corner of an actor's paint volume, in actor coordinates.
13225 // The default is origin is assumed at: (0, 0, 0)
13226 // <origin>: a #ClutterVertex
13227 void set_origin()(Vertex
* origin
) {
13228 clutter_paint_volume_set_origin(&this, origin
);
13232 // Sets the width of the paint volume. The width is measured along
13233 // the x axis in the actor coordinates that @pv is associated with.
13234 // <width>: the width of the paint volume, in pixels
13235 void set_width()(float width
) {
13236 clutter_paint_volume_set_width(&this, width
);
13240 // Updates the geometry of @pv to encompass @pv and @another_pv.
13242 // <note>There are no guarantees about how precisely the two volumes
13243 // will be encompassed.</note>
13244 // <another_pv>: A second #ClutterPaintVolume to union with @pv
13245 void union_()(PaintVolume
* another_pv
) {
13246 clutter_paint_volume_union(&this, another_pv
);
13251 // A #GParamSpec subclass for defining properties holding
13252 // a #ClutterColor.
13253 struct ParamSpecColor
/* : GObject.ParamSpec */ /* Version 1.0 */ {
13254 alias parent_instance
this;
13255 alias parent_instance super_
;
13256 alias parent_instance paramspec
;
13257 GObject2
.ParamSpec parent_instance
;
13258 Color
* default_value
;
13261 // #GParamSpec subclass for fixed point based properties
13262 struct ParamSpecFixed
/* : GObject.ParamSpec */ /* Version 0.8 */ {
13263 alias parent_instance
this;
13264 alias parent_instance super_
;
13265 alias parent_instance paramspec
;
13266 GObject2
.ParamSpec parent_instance
;
13267 Cogl
.Fixed minimum
, maximum
, default_value
;
13270 struct ParamSpecUnit
/* : GObject.ParamSpec */ {
13271 alias method_parent
this;
13272 alias method_parent super_
;
13273 alias method_parent paramspec
;
13274 GObject2
.ParamSpec method_parent
;
13277 // #GParamSpec subclass for unit based properties.
13278 struct ParamSpecUnits
/* Version 1.0 */ {
13279 private GObject2
.ParamSpec parent_instance
;
13280 UnitType default_type
;
13281 float default_value
, minimum
, maximum
;
13284 enum int Paste
= 269025133;
13286 // The #ClutterPath struct contains only private data and should
13287 // be accessed with the functions below.
13288 struct Path
/* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
13290 alias parent super_
;
13291 alias parent initiallyunowned
;
13292 GObject2
.InitiallyUnowned parent
;
13293 private PathPrivate
* priv
;
13297 // Creates a new #ClutterPath instance with no nodes.
13299 // The object has a floating reference so if you add it to a
13300 // #ClutterBehaviourPath then you do not need to unref it.
13301 // RETURNS: the newly created #ClutterPath
13302 static Path
* new_()() {
13303 return clutter_path_new();
13307 // Creates a new #ClutterPath instance with the nodes described in
13308 // @desc. See clutter_path_add_string() for details of the format of
13311 // The object has a floating reference so if you add it to a
13312 // #ClutterBehaviourPath then you do not need to unref it.
13313 // RETURNS: the newly created #ClutterPath
13314 // <desc>: a string describing the path
13315 static Path
* new_with_description()(char* desc
) {
13316 return clutter_path_new_with_description(desc
);
13320 // Add the nodes of the Cairo path to the end of @path.
13321 // <cpath>: a Cairo path
13322 void add_cairo_path()(cairo
.Path
* cpath
) {
13323 clutter_path_add_cairo_path(&this, cpath
);
13327 // Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a
13328 // straight line from the last node to the last %CLUTTER_PATH_MOVE_TO
13330 void add_close()() {
13331 clutter_path_add_close(&this);
13335 // Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes
13336 // the actor to follow a bezier from the last node to (@x_3, @y_3) using
13337 // (@x_1, @y_1) and (@x_2,@y_2) as control points.
13338 // <x_1>: the x coordinate of the first control point
13339 // <y_1>: the y coordinate of the first control point
13340 // <x_2>: the x coordinate of the second control point
13341 // <y_2>: the y coordinate of the second control point
13342 // <x_3>: the x coordinate of the third control point
13343 // <y_3>: the y coordinate of the third control point
13344 void add_curve_to()(int x_1
, int y_1
, int x_2
, int y_2
, int x_3
, int y_3
) {
13345 clutter_path_add_curve_to(&this, x_1
, y_1
, x_2
, y_2
, x_3
, y_3
);
13349 // Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the
13350 // actor to move to the new coordinates in a straight line.
13351 // <x>: the x coordinate
13352 // <y>: the y coordinate
13353 void add_line_to()(int x
, int y
) {
13354 clutter_path_add_line_to(&this, x
, y
);
13358 // Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually
13359 // used as the first node in a path. It can also be used in the middle
13360 // of the path to cause the actor to jump to the new coordinate.
13361 // <x>: the x coordinate
13362 // <y>: the y coordinate
13363 void add_move_to()(int x
, int y
) {
13364 clutter_path_add_move_to(&this, x
, y
);
13368 // Adds @node to the end of the path.
13369 // <node>: a #ClutterPathNode
13370 void add_node()(PathNode
* node
) {
13371 clutter_path_add_node(&this, node
);
13375 // Same as clutter_path_add_curve_to() except the coordinates are
13376 // relative to the previous node.
13377 // <x_1>: the x coordinate of the first control point
13378 // <y_1>: the y coordinate of the first control point
13379 // <x_2>: the x coordinate of the second control point
13380 // <y_2>: the y coordinate of the second control point
13381 // <x_3>: the x coordinate of the third control point
13382 // <y_3>: the y coordinate of the third control point
13383 void add_rel_curve_to()(int x_1
, int y_1
, int x_2
, int y_2
, int x_3
, int y_3
) {
13384 clutter_path_add_rel_curve_to(&this, x_1
, y_1
, x_2
, y_2
, x_3
, y_3
);
13388 // Same as clutter_path_add_line_to() except the coordinates are
13389 // relative to the previous node.
13390 // <x>: the x coordinate
13391 // <y>: the y coordinate
13392 void add_rel_line_to()(int x
, int y
) {
13393 clutter_path_add_rel_line_to(&this, x
, y
);
13397 // Same as clutter_path_add_move_to() except the coordinates are
13398 // relative to the previous node.
13399 // <x>: the x coordinate
13400 // <y>: the y coordinate
13401 void add_rel_move_to()(int x
, int y
) {
13402 clutter_path_add_rel_move_to(&this, x
, y
);
13406 // Adds new nodes to the end of the path as described in @str. The
13407 // format is a subset of the SVG path format. Each node is represented
13408 // by a letter and is followed by zero, one or three pairs of
13409 // coordinates. The coordinates can be separated by spaces or a
13410 // comma. The types are:
13413 // <varlistentry><term>M</term>
13414 // <listitem><para>
13415 // Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates.
13416 // </para></listitem></varlistentry>
13417 // <varlistentry><term>L</term>
13418 // <listitem><para>
13419 // Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates.
13420 // </para></listitem></varlistentry>
13421 // <varlistentry><term>C</term>
13422 // <listitem><para>
13423 // Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates.
13424 // </para></listitem></varlistentry>
13425 // <varlistentry><term>z</term>
13426 // <listitem><para>
13427 // Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed.
13428 // </para></listitem></varlistentry>
13431 // The M, L and C commands can also be specified in lower case which
13432 // means the coordinates are relative to the previous node.
13434 // For example, to move an actor in a 100 by 100 pixel square centered
13435 // on the point 300,300 you could use the following path:
13437 // <informalexample>
13438 // <programlisting>
13439 // M 250,350 l 0 -100 L 350,250 l 0 100 z
13440 // </programlisting>
13441 // </informalexample>
13443 // If the path description isn't valid %FALSE will be returned and no
13444 // nodes will be added.
13447 // RETURNS: %TRUE is the path description was valid or %FALSE
13448 // <str>: a string describing the new nodes
13449 int add_string()(char* str) {
13450 return clutter_path_add_string(&this, str);
13454 // Removes all nodes from the path.
13456 clutter_path_clear(&this);
13460 // Calls a function for each node of the path.
13461 // <callback>: the function to call with each node
13462 // <user_data>: user data to pass to the function
13463 void foreach_()(PathCallback callback
, void* user_data
) {
13464 clutter_path_foreach(&this, callback
, user_data
);
13468 // Returns a newly allocated string describing the path in the same
13469 // format as used by clutter_path_add_string().
13470 // RETURNS: a string description of the path. Free with g_free().
13471 char* /*new*/ get_description()() {
13472 return clutter_path_get_description(&this);
13476 // Retrieves an approximation of the total length of the path.
13477 // RETURNS: the length of the path.
13478 uint get_length()() {
13479 return clutter_path_get_length(&this);
13483 // Retrieves the number of nodes in the path.
13484 // RETURNS: the number of nodes.
13485 uint get_n_nodes()() {
13486 return clutter_path_get_n_nodes(&this);
13490 // Retrieves the node of the path indexed by @index.
13491 // <index_>: the node number to retrieve
13492 // <node>: a location to store a copy of the node
13493 void get_node()(uint index_
, /*out*/ PathNode
* node
) {
13494 clutter_path_get_node(&this, index_
, node
);
13498 // Returns a #GSList of #ClutterPathNode<!-- -->s. The list should be
13499 // freed with g_slist_free(). The nodes are owned by the path and
13500 // should not be freed. Altering the path may cause the nodes in the
13501 // list to become invalid so you should copy them if you want to keep
13504 // list of nodes in the path.
13506 GLib2
.SList
* /*new container*/ get_nodes()() {
13507 return clutter_path_get_nodes(&this);
13511 // The value in @progress represents a position along the path where
13512 // 0.0 is the beginning and 1.0 is the end of the path. An
13513 // interpolated position is then stored in @position.
13514 // RETURNS: index of the node used to calculate the position.
13515 // <progress>: a position along the path as a fraction of its length
13516 // <position>: location to store the position
13517 uint get_position()(double progress
, /*out*/ Knot
* position
) {
13518 return clutter_path_get_position(&this, progress
, position
);
13522 // Inserts @node into the path before the node at the given offset. If
13523 // @index_ is negative it will append the node to the end of the path.
13524 // <index_>: offset of where to insert the node
13525 // <node>: the node to insert
13526 void insert_node()(int index_
, PathNode
* node
) {
13527 clutter_path_insert_node(&this, index_
, node
);
13531 // Removes the node at the given offset from the path.
13532 // <index_>: index of the node to remove
13533 void remove_node()(uint index_
) {
13534 clutter_path_remove_node(&this, index_
);
13538 // Replaces the node at offset @index_ with @node.
13539 // <index_>: index to the existing node
13540 // <node>: the replacement node
13541 void replace_node()(uint index_
, PathNode
* node
) {
13542 clutter_path_replace_node(&this, index_
, node
);
13546 // Replaces all of the nodes in the path with nodes described by
13547 // @str. See clutter_path_add_string() for details of the format.
13549 // If the string is invalid then %FALSE is returned and the path is
13551 // RETURNS: %TRUE is the path was valid, %FALSE otherwise.
13552 // <str>: a string describing the path
13553 int set_description()(char* str) {
13554 return clutter_path_set_description(&this, str);
13558 // Add the nodes of the ClutterPath to the path in the Cairo context.
13559 // <cr>: a Cairo context
13560 void to_cairo_path()(cairo
.Context
* cr
) {
13561 clutter_path_to_cairo_path(&this, cr
);
13567 // This function is passed to clutter_path_foreach() and will be
13568 // called for each node contained in the path.
13569 // <node>: the node
13570 // <data>: optional data passed to the function
13571 extern (C
) alias void function (PathNode
* node
, void* data
) PathCallback
;
13573 // The #ClutterPathClass struct contains only private data.
13574 struct PathClass
/* Version 1.0 */ {
13575 private GObject2
.InitiallyUnownedClass parent_class
;
13579 // <structname>ClutterPathConstraint</structname> is an opaque structure
13580 // whose members cannot be directly accessed
13581 struct PathConstraint
/* : Constraint */ /* Version 1.6 */ {
13582 alias method_parent
this;
13583 alias method_parent super_
;
13584 alias method_parent constraint
;
13585 Constraint method_parent
;
13589 // Creates a new #ClutterPathConstraint with the given @path and @offset
13590 // RETURNS: the newly created #ClutterPathConstraint
13591 // <path>: a #ClutterPath, or %NULL
13592 // <offset>: the offset along the #ClutterPath
13593 static PathConstraint
* /*new*/ new_()(Path
* path
, float offset
) {
13594 return clutter_path_constraint_new(path
, offset
);
13598 // Retrieves the offset along the #ClutterPath used by @constraint.
13599 // RETURNS: the offset
13600 float get_offset()() {
13601 return clutter_path_constraint_get_offset(&this);
13605 // Retrieves a pointer to the #ClutterPath used by @constraint.
13607 // #ClutterPathConstraint, or %NULL. The returned #ClutterPath is owned
13608 // by the constraint and it should not be unreferenced
13609 // RETURNS: the #ClutterPath used by the
13610 Path
* get_path()() {
13611 return clutter_path_constraint_get_path(&this);
13615 // Sets the offset along the #ClutterPath used by @constraint.
13616 // <offset>: the offset along the path
13617 void set_offset()(float offset
) {
13618 clutter_path_constraint_set_offset(&this, offset
);
13622 // Sets the @path to be followed by the #ClutterPathConstraint.
13624 // The @constraint will take ownership of the #ClutterPath passed to this
13626 // <path>: a #ClutterPath
13627 void set_path()(Path
* path
=null) {
13628 clutter_path_constraint_set_path(&this, path
);
13632 // The ::node-reached signal is emitted each time a
13633 // #ClutterPathConstraint:offset value results in the actor
13634 // passing a #ClutterPathNode
13635 // <actor>: the #ClutterActor using the @constraint
13636 // <index>: the index of the node that has been reached
13637 extern (C
) alias static void function (PathConstraint
* this_
, Actor
* actor
, c_uint index
, void* user_data
=null) signal_node_reached
;
13639 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13640 return super_
.signal_connect
!name(cb
, data
, cf
);
13643 ulong signal_connect(string name
:"node-reached", CB
:signal_node_reached
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13644 return signal_connect_data
!()(&this, cast(char*)"node-reached",
13645 cast(GObject2
.Callback
)cb
, data
, null, cf
);
13649 struct PathConstraintClass
{
13653 // Represents a single node of a #ClutterPath.
13655 // Some of the coordinates in @points may be unused for some node
13656 // types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one
13657 // pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and
13658 // %CLUTTER_PATH_CLOSE uses none.
13659 struct PathNode
/* Version 1.0 */ {
13665 // Makes an allocated copy of a node.
13666 // RETURNS: the copied node.
13667 PathNode
* /*new*/ copy()() {
13668 return clutter_path_node_copy(&this);
13672 // Compares two nodes and checks if they are the same type with the
13673 // same coordinates.
13674 // RETURNS: %TRUE if the nodes are the same.
13675 // <node_b>: Second node
13676 int equal()(PathNode
* node_b
) {
13677 return clutter_path_node_equal(&this, node_b
);
13681 // Frees the memory of an allocated node.
13683 clutter_path_node_free(&this);
13687 // Types of nodes in a #ClutterPath.
13688 enum PathNodeType
/* Version 1.0 */ {
13697 struct PathPrivate
{
13700 enum int Pause
= 65299;
13702 // Stage perspective definition. #ClutterPerspective is only used by
13703 // the fixed point version of clutter_stage_set_perspective().
13704 struct Perspective
/* Version 0.4 */ {
13705 float fovy
, aspect
, z_near
, z_far
;
13708 enum int PesetaSign
= 16785575;
13709 enum int Phone
= 269025134;
13710 // Controls the paint cycle of the scene graph when in pick mode
13711 enum PickMode
/* Version 1.0 */ {
13716 enum int Pictures
= 269025169;
13717 enum int Pointer_Accelerate
= 65274;
13718 enum int Pointer_Button1
= 65257;
13719 enum int Pointer_Button2
= 65258;
13720 enum int Pointer_Button3
= 65259;
13721 enum int Pointer_Button4
= 65260;
13722 enum int Pointer_Button5
= 65261;
13723 enum int Pointer_Button_Dflt
= 65256;
13724 enum int Pointer_DblClick1
= 65263;
13725 enum int Pointer_DblClick2
= 65264;
13726 enum int Pointer_DblClick3
= 65265;
13727 enum int Pointer_DblClick4
= 65266;
13728 enum int Pointer_DblClick5
= 65267;
13729 enum int Pointer_DblClick_Dflt
= 65262;
13730 enum int Pointer_DfltBtnNext
= 65275;
13731 enum int Pointer_DfltBtnPrev
= 65276;
13732 enum int Pointer_Down
= 65251;
13733 enum int Pointer_DownLeft
= 65254;
13734 enum int Pointer_DownRight
= 65255;
13735 enum int Pointer_Drag1
= 65269;
13736 enum int Pointer_Drag2
= 65270;
13737 enum int Pointer_Drag3
= 65271;
13738 enum int Pointer_Drag4
= 65272;
13739 enum int Pointer_Drag5
= 65277;
13740 enum int Pointer_Drag_Dflt
= 65268;
13741 enum int Pointer_EnableKeys
= 65273;
13742 enum int Pointer_Left
= 65248;
13743 enum int Pointer_Right
= 65249;
13744 enum int Pointer_Up
= 65250;
13745 enum int Pointer_UpLeft
= 65252;
13746 enum int Pointer_UpRight
= 65253;
13747 enum int PowerDown
= 269025057;
13748 enum int PowerOff
= 269025066;
13749 enum int Prev_VMode
= 269024803;
13750 enum int Prev_Virtual_Screen
= 65233;
13751 enum int PreviousCandidate
= 65342;
13752 enum int Print
= 65377;
13753 enum int Prior
= 65365;
13756 // Prototype of the progress function used to compute the value
13757 // between the two ends @a and @b of an interval depending on
13758 // the value of @progress.
13760 // The #GValue in @retval is already initialized with the same
13761 // type as @a and @b.
13763 // This function will be called by #ClutterInterval if the
13764 // type of the values of the interval was registered using
13765 // clutter_interval_register_progress_func().
13767 // the value and stored it inside @retval
13768 // RETURNS: %TRUE if the function successfully computed
13769 // <a>: the initial value of an interval
13770 // <b>: the final value of an interval
13771 // <progress>: the progress factor, between 0 and 1
13772 // <retval>: the value used to store the progress
13773 extern (C
) alias int function (GObject2
.Value
* a
, GObject2
.Value
* b
, double progress
, GObject2
.Value
* retval
) ProgressFunc
;
13777 enum int R1
= 65490;
13778 enum int R10
= 65499;
13779 enum int R11
= 65500;
13780 enum int R12
= 65501;
13781 enum int R13
= 65502;
13782 enum int R14
= 65503;
13783 enum int R15
= 65504;
13784 enum int R2
= 65491;
13785 enum int R3
= 65492;
13786 enum int R4
= 65493;
13787 enum int R5
= 65494;
13788 enum int R6
= 65495;
13789 enum int R7
= 65496;
13790 enum int R8
= 65497;
13791 enum int R9
= 65498;
13792 enum int Racute
= 448;
13793 enum int Rcaron
= 472;
13794 enum int Rcedilla
= 931;
13796 // The #ClutterRectangle structure contains only private data
13797 // and should be accessed using the provided API
13798 struct Rectangle
/* : Actor */ /* Version 0.1 */ {
13799 mixin Atk
.ImplementorIface
.__interface__
;
13800 mixin Animatable
.__interface__
;
13801 mixin Scriptable
.__interface__
;
13803 alias parent super_
;
13804 alias parent actor
;
13806 private RectanglePrivate
* priv
;
13809 // Creates a new #ClutterActor with a rectangular shape.
13810 // RETURNS: a new #ClutterActor
13811 static Rectangle
* new_()() {
13812 return clutter_rectangle_new();
13815 // Creates a new #ClutterActor with a rectangular shape
13816 // and of the given @color.
13817 // RETURNS: a new #ClutterActor
13818 // <color>: a #ClutterColor
13819 static Rectangle
* new_with_color()(Color
* color
) {
13820 return clutter_rectangle_new_with_color(color
);
13824 // Gets the color of the border used by @rectangle and places
13826 // <color>: return location for a #ClutterColor
13827 void get_border_color()(/*out*/ Color
* color
) {
13828 clutter_rectangle_get_border_color(&this, color
);
13832 // Gets the width (in pixels) of the border used by @rectangle
13833 // RETURNS: the border's width
13834 uint get_border_width()() {
13835 return clutter_rectangle_get_border_width(&this);
13838 // Retrieves the color of @rectangle.
13839 // <color>: return location for a #ClutterColor
13840 void get_color()(/*out*/ Color
* color
) {
13841 clutter_rectangle_get_color(&this, color
);
13844 // Sets the color of the border used by @rectangle using @color
13845 // <color>: the color of the border
13846 void set_border_color()(Color
* color
) {
13847 clutter_rectangle_set_border_color(&this, color
);
13851 // Sets the width (in pixel) of the border used by @rectangle.
13852 // A @width of 0 will unset the border.
13853 // <width>: the width of the border
13854 void set_border_width()(uint width
) {
13855 clutter_rectangle_set_border_width(&this, width
);
13858 // Sets the color of @rectangle.
13859 // <color>: a #ClutterColor
13860 void set_color()(Color
* color
) {
13861 clutter_rectangle_set_color(&this, color
);
13865 // The #ClutterRectangleClass structure contains only private data
13866 struct RectangleClass
/* Version 0.1 */ {
13867 private ActorClass parent_class
;
13868 extern (C
) void function () _clutter_rectangle1
;
13869 extern (C
) void function () _clutter_rectangle2
;
13870 extern (C
) void function () _clutter_rectangle3
;
13871 extern (C
) void function () _clutter_rectangle4
;
13874 struct RectanglePrivate
{
13877 enum int Red
= 269025187;
13878 enum int Redo
= 65382;
13879 enum int Refresh
= 269025065;
13880 enum int Reload
= 269025139;
13881 enum int RepeatKeys_Enable
= 65138;
13882 enum int Reply
= 269025138;
13883 // Specifies the type of requests for a #ClutterActor.
13884 enum RequestMode
/* Version 0.8 */ {
13885 HEIGHT_FOR_WIDTH
= 0,
13886 WIDTH_FOR_HEIGHT
= 1
13888 enum int Return
= 65293;
13889 enum int Right
= 65363;
13890 enum int RockerDown
= 269025060;
13891 enum int RockerEnter
= 269025061;
13892 enum int RockerUp
= 269025059;
13893 enum int Romaji
= 65316;
13894 // Axis of a rotation.
13895 enum RotateAxis
/* Version 0.4 */ {
13900 // Direction of a rotation.
13901 enum RotateDirection
/* Version 0.4 */ {
13905 enum int RotateWindows
= 269025140;
13906 enum int RotationKB
= 269025142;
13907 enum int RotationPB
= 269025141;
13908 enum int RupeeSign
= 16785576;
13910 enum int SCHWA
= 16777615;
13911 enum int Sabovedot
= 16784992;
13912 enum int Sacute
= 422;
13913 enum int Save
= 269025143;
13914 enum int Scaron
= 425;
13915 enum int Scedilla
= 426;
13916 enum int Scircumflex
= 734;
13918 // The #ClutterScore structure contains only private data
13919 // and should be accessed using the provided API
13920 struct Score
/* : GObject.Object */ /* Version 0.6 */ {
13922 alias parent super_
;
13923 alias parent object
;
13924 GObject2
.Object parent
;
13925 private ScorePrivate
* priv
;
13929 // Creates a new #ClutterScore. A #ClutterScore is an object that can
13930 // hold multiple #ClutterTimeline<!-- -->s in a sequential order.
13933 // RETURNS: the newly created #ClutterScore. Use g_object_unref()
13934 static Score
* /*new*/ new_()() {
13935 return clutter_score_new();
13939 // Appends a timeline to another one existing in the score; the newly
13940 // appended timeline will be started when @parent is complete.
13942 // If @parent is %NULL, the new #ClutterTimeline will be started when
13943 // clutter_score_start() is called.
13945 // #ClutterScore will take a reference on @timeline.
13947 // 0 on failure. The returned id can be used with clutter_score_remove()
13948 // or clutter_score_get_timeline().
13949 // RETURNS: the id of the #ClutterTimeline inside the score, or
13950 // <parent>: a #ClutterTimeline in the score, or %NULL
13951 // <timeline>: a #ClutterTimeline
13952 c_ulong
append()(Timeline
* parent
, Timeline
* timeline
) {
13953 return clutter_score_append(&this, parent
, timeline
);
13957 // Appends @timeline at the given @marker_name on the @parent
13958 // #ClutterTimeline.
13960 // If you want to append @timeline at the end of @parent, use
13961 // clutter_score_append().
13963 // The #ClutterScore will take a reference on @timeline.
13965 // 0 on failure. The returned id can be used with clutter_score_remove()
13966 // or clutter_score_get_timeline().
13967 // RETURNS: the id of the #ClutterTimeline inside the score, or
13968 // <parent>: the parent #ClutterTimeline
13969 // <marker_name>: the name of the marker to use
13970 // <timeline>: the #ClutterTimeline to append
13971 c_ulong
append_at_marker()(Timeline
* parent
, char* marker_name
, Timeline
* timeline
) {
13972 return clutter_score_append_at_marker(&this, parent
, marker_name
, timeline
);
13976 // Gets whether @score is looping
13977 // RETURNS: %TRUE if the score is looping
13979 return clutter_score_get_loop(&this);
13983 // Retrieves the #ClutterTimeline for @id_ inside @score.
13985 // function does not increase the reference count on the returned
13986 // #ClutterTimeline
13987 // RETURNS: the requested timeline, or %NULL. This
13988 // <id_>: the id of the timeline
13989 Timeline
* get_timeline()(c_ulong id_
) {
13990 return clutter_score_get_timeline(&this, id_
);
13994 // Query state of a #ClutterScore instance.
13995 // RETURNS: %TRUE if score is currently playing
13996 int is_playing()() {
13997 return clutter_score_is_playing(&this);
14001 // Retrieves a list of all the #ClutterTimelines managed by @score.
14003 // #GSList containing all the timelines in the score. This function does
14004 // not increase the reference count of the returned timelines. Use
14005 // g_slist_free() on the returned list to deallocate its resources.
14007 GLib2
.SList
* /*new container*/ list_timelines()() {
14008 return clutter_score_list_timelines(&this);
14012 // Pauses a playing score @score.
14014 clutter_score_pause(&this);
14018 // Removes the #ClutterTimeline with the given id inside @score. If
14019 // the timeline has other timelines attached to it, those are removed
14021 // <id_>: the id of the timeline to remove
14022 void remove()(c_ulong id_
) {
14023 clutter_score_remove(&this, id_
);
14027 // Removes all the timelines inside @score.
14028 void remove_all()() {
14029 clutter_score_remove_all(&this);
14033 // Rewinds a #ClutterScore to its initial state.
14035 clutter_score_rewind(&this);
14039 // Sets whether @score should loop. A looping #ClutterScore will start
14040 // from its initial state after the ::complete signal has been fired.
14041 // <loop>: %TRUE for enable looping
14042 void set_loop()(int loop) {
14043 clutter_score_set_loop(&this, loop);
14047 // Starts the score.
14049 clutter_score_start(&this);
14053 // Stops and rewinds a playing #ClutterScore instance.
14055 clutter_score_stop(&this);
14059 // The ::completed signal is emitted each time a #ClutterScore terminates.
14060 extern (C
) alias static void function (Score
* this_
, void* user_data
=null) signal_completed
;
14062 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14063 return super_
.signal_connect
!name(cb
, data
, cf
);
14066 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14067 return signal_connect_data
!()(&this, cast(char*)"completed",
14068 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14072 // The ::paused signal is emitted each time a #ClutterScore
14074 extern (C
) alias static void function (Score
* this_
, void* user_data
=null) signal_paused
;
14075 ulong signal_connect(string name
:"paused", CB
:signal_paused
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14076 return signal_connect_data
!()(&this, cast(char*)"paused",
14077 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14081 // The ::started signal is emitted each time a #ClutterScore starts playing.
14082 extern (C
) alias static void function (Score
* this_
, void* user_data
=null) signal_started
;
14083 ulong signal_connect(string name
:"started", CB
:signal_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14084 return signal_connect_data
!()(&this, cast(char*)"started",
14085 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14089 // The ::timeline-completed signal is emitted each time a timeline
14090 // inside a #ClutterScore terminates.
14091 // <timeline>: the completed timeline
14092 extern (C
) alias static void function (Score
* this_
, Timeline
* timeline
, void* user_data
=null) signal_timeline_completed
;
14093 ulong signal_connect(string name
:"timeline-completed", CB
:signal_timeline_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14094 return signal_connect_data
!()(&this, cast(char*)"timeline-completed",
14095 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14099 // The ::timeline-started signal is emitted each time a new timeline
14100 // inside a #ClutterScore starts playing.
14101 // <timeline>: the current timeline
14102 extern (C
) alias static void function (Score
* this_
, Timeline
* timeline
, void* user_data
=null) signal_timeline_started
;
14103 ulong signal_connect(string name
:"timeline-started", CB
:signal_timeline_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14104 return signal_connect_data
!()(&this, cast(char*)"timeline-started",
14105 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14109 // The #ClutterScoreClass structure contains only private data
14110 struct ScoreClass
/* Version 0.6 */ {
14111 private GObject2
.ObjectClass parent_class
;
14112 extern (C
) void function (Score
* score
, Timeline
* timeline
) timeline_started
;
14113 extern (C
) void function (Score
* score
, Timeline
* timeline
) timeline_completed
;
14114 extern (C
) void function (Score
* score
) started
;
14115 extern (C
) void function (Score
* score
) completed
;
14116 extern (C
) void function (Score
* score
) paused
;
14117 extern (C
) void function () _clutter_score_1
;
14118 extern (C
) void function () _clutter_score_2
;
14119 extern (C
) void function () _clutter_score_3
;
14120 extern (C
) void function () _clutter_score_4
;
14121 extern (C
) void function () _clutter_score_5
;
14124 struct ScorePrivate
{
14127 enum int ScreenSaver
= 269025069;
14129 // The #ClutterScript structure contains only private data
14130 // and should be accessed using the provided API
14131 struct Script
/* : GObject.Object */ /* Version 0.6 */ {
14132 alias parent_instance
this;
14133 alias parent_instance super_
;
14134 alias parent_instance object
;
14135 GObject2
.Object parent_instance
;
14136 private ScriptPrivate
* priv
;
14140 // Creates a new #ClutterScript instance. #ClutterScript can be used
14141 // to load objects definitions for scenegraph elements, like actors,
14142 // or behavioural elements, like behaviours and timelines. The
14143 // definitions must be encoded using the JavaScript Object Notation (JSON)
14146 // g_object_unref() when done.
14147 // RETURNS: the newly created #ClutterScript instance. Use
14148 static Script
* /*new*/ new_()() {
14149 return clutter_script_new();
14153 // Adds @paths to the list of search paths held by @script.
14155 // The search paths are used by clutter_script_lookup_filename(), which
14156 // can be used to define search paths for the textures source file name
14157 // or other custom, file-based properties.
14158 // <paths>: an array of strings containing different search paths
14159 // <n_paths>: the length of the passed array
14160 void add_search_paths()(char* paths
, size_t n_paths
) {
14161 clutter_script_add_search_paths(&this, paths
, n_paths
);
14165 // Associates a #ClutterState to the #ClutterScript instance using the given
14168 // The #ClutterScript instance will use @state to resolve target states when
14169 // connecting signal handlers.
14171 // The #ClutterScript instance will take a reference on the #ClutterState
14172 // passed to this function.
14173 // <name>: a name for the @state, or %NULL to set the default #ClutterState
14174 // <state>: a #ClutterState
14175 void add_states()(char* name
, State
* state
) {
14176 clutter_script_add_states(&this, name
, state
);
14180 // Connects all the signals defined into a UI definition file to their
14183 // This method invokes clutter_script_connect_signals_full() internally
14184 // and uses #GModule's introspective features (by opening the current
14185 // module's scope) to look at the application's symbol table.
14187 // Note that this function will not work if #GModule is not supported by
14188 // the platform Clutter is running on.
14189 // <user_data>: data to be passed to the signal handlers, or %NULL
14190 void connect_signals()(void* user_data
) {
14191 clutter_script_connect_signals(&this, user_data
);
14194 // Unintrospectable method: connect_signals_full() / clutter_script_connect_signals_full()
14196 // Connects all the signals defined into a UI definition file to their
14199 // This function allows to control how the signal handlers are
14200 // going to be connected to their respective signals. It is meant
14201 // primarily for language bindings to allow resolving the function
14202 // names using the native API, but it can also be used on platforms
14203 // that do not support GModule.
14205 // Applications should use clutter_script_connect_signals().
14206 // <func>: signal connection function
14207 // <user_data>: data to be passed to the signal handlers, or %NULL
14208 void connect_signals_full()(ScriptConnectFunc func
, void* user_data
) {
14209 clutter_script_connect_signals_full(&this, func
, user_data
);
14213 // Ensure that every object defined inside @script is correctly
14214 // constructed. You should rarely need to use this function.
14215 void ensure_objects()() {
14216 clutter_script_ensure_objects(&this);
14220 // Retrieves the object bound to @name. This function does not increment
14221 // the reference count of the returned object.
14223 // with the given name was available
14224 // RETURNS: the named object, or %NULL if no object
14225 // <name>: the name of the object to retrieve
14226 GObject2
.Object
* get_object()(char* name
) {
14227 return clutter_script_get_object(&this, name
);
14230 // Unintrospectable method: get_objects() / clutter_script_get_objects()
14232 // Retrieves a list of objects for the given names. After @script, object
14233 // names/return location pairs should be listed, with a %NULL pointer
14234 // ending the list, like:
14236 // <informalexample><programlisting>
14237 // GObject *my_label, *a_button, *main_timeline;
14239 // clutter_script_get_objects (script,
14240 // "my-label", &my_label,
14241 // "a-button", &a_button,
14242 // "main-timeline", &main_timeline,
14244 // </programlisting></informalexample>
14246 // Note: This function does not increment the reference count of the
14247 // returned objects.
14248 // RETURNS: the number of objects returned.
14249 // <first_name>: the name of the first object to retrieve
14250 /+ Not available -- variadic methods unsupported - use the C function directly.
14251 alias clutter_script_get_objects get_objects; // Variadic
14255 // Retrieves the #ClutterState for the given @state_name.
14257 // If @name is %NULL, this function will return the default
14258 // #ClutterState instance.
14260 // given name. The #ClutterState is owned by the #ClutterScript instance
14261 // and it should not be unreferenced
14262 // RETURNS: a pointer to the #ClutterState for the
14263 // <name>: the name of the #ClutterState, or %NULL
14264 State
* get_states()(char* name
=null) {
14265 return clutter_script_get_states(&this, name
);
14269 // Looks up a type by name, using the virtual function that
14270 // #ClutterScript has for that purpose. This function should
14273 // %G_TYPE_INVALID if not corresponding type was found.
14274 // RETURNS: the type for the requested type name, or
14275 // <type_name>: name of the type to look up
14276 Type
get_type_from_name()(char* type_name
) {
14277 return clutter_script_get_type_from_name(&this, type_name
);
14281 // Retrieves all the objects created by @script.
14283 // Note: this function does not increment the reference count of the
14284 // objects it returns.
14286 // of #GObject<!-- -->s, or %NULL. The objects are owned by the
14287 // #ClutterScript instance. Use g_list_free() on the returned list when
14290 GLib2
.List
* /*new container*/ list_objects()() {
14291 return clutter_script_list_objects(&this);
14295 // Loads the definitions from @data into @script and merges with
14296 // the currently loaded ones, if any.
14298 // accordingly. On success, the merge id for the UI definitions is
14299 // returned. You can use the merge id with clutter_script_unmerge_objects().
14300 // RETURNS: on error, zero is returned and @error is set
14301 // <data>: a buffer containing the definitions
14302 // <length>: the length of the buffer, or -1 if @data is a NUL-terminated buffer
14303 uint load_from_data()(char* data
, ssize_t length
, GLib2
.Error
** error
=null) {
14304 return clutter_script_load_from_data(&this, data
, length
, error
);
14308 // Loads the definitions from @filename into @script and merges with
14309 // the currently loaded ones, if any.
14311 // accordingly. On success, the merge id for the UI definitions is
14312 // returned. You can use the merge id with clutter_script_unmerge_objects().
14313 // RETURNS: on error, zero is returned and @error is set
14314 // <filename>: the full path to the definition file
14315 uint load_from_file()(char* filename
, GLib2
.Error
** error
=null) {
14316 return clutter_script_load_from_file(&this, filename
, error
);
14320 // Looks up @filename inside the search paths of @script. If @filename
14321 // is found, its full path will be returned .
14324 // RETURNS: the full path of @filename or %NULL if no path was
14325 // <filename>: the name of the file to lookup
14326 char* /*new*/ lookup_filename()(char* filename
) {
14327 return clutter_script_lookup_filename(&this, filename
);
14331 // Unmerges the objects identified by @merge_id.
14332 // <merge_id>: merge id returned when loading a UI definition
14333 void unmerge_objects()(uint merge_id
) {
14334 clutter_script_unmerge_objects(&this, merge_id
);
14338 // The #ClutterScriptClass structure contains only private data
14339 struct ScriptClass
/* Version 0.6 */ {
14340 private GObject2
.ObjectClass parent_class
;
14342 // RETURNS: the type for the requested type name, or
14343 // <type_name>: name of the type to look up
14344 extern (C
) Type
function (Script
* script
, char* type_name
) get_type_from_name
;
14345 extern (C
) void function () _clutter_reserved1
;
14346 extern (C
) void function () _clutter_reserved2
;
14347 extern (C
) void function () _clutter_reserved3
;
14348 extern (C
) void function () _clutter_reserved4
;
14349 extern (C
) void function () _clutter_reserved5
;
14350 extern (C
) void function () _clutter_reserved6
;
14351 extern (C
) void function () _clutter_reserved7
;
14352 extern (C
) void function () _clutter_reserved8
;
14357 // This is the signature of a function used to connect signals. It is used
14358 // by the clutter_script_connect_signals_full() function. It is mainly
14359 // intended for interpreted language bindings, but could be useful where the
14360 // programmer wants more control over the signal connection process.
14361 // <script>: a #ClutterScript
14362 // <object>: the object to connect
14363 // <signal_name>: the name of the signal
14364 // <handler_name>: the name of the signal handler
14365 // <connect_object>: the object to connect the signal to, or %NULL
14366 // <flags>: signal connection flags
14367 // <user_data>: user data to pass to the signal handler
14368 extern (C
) alias void function (Script
* script
, GObject2
.Object
* object
, char* signal_name
, char* handler_name
, GObject2
.Object
* connect_object
, GObject2
.ConnectFlags flags
, void* user_data
) ScriptConnectFunc
;
14370 // #ClutterScript error enumeration.
14371 enum ScriptError
/* Version 0.6 */ {
14376 struct ScriptPrivate
{
14380 // #ClutterScriptable is an opaque structure whose members cannot be directly
14382 struct Scriptable
/* Interface */ /* Version 0.6 */ {
14383 mixin template __interface__() {
14385 // Retrieves the id of @scriptable set using clutter_scriptable_set_id().
14387 // the scriptable object and should never be modified of freed
14388 // RETURNS: the id of the object. The returned string is owned by
14390 return clutter_scriptable_get_id(cast(Scriptable
*)&this);
14394 // Parses the passed JSON node. The implementation must set the type
14395 // of the passed #GValue pointer using g_value_init().
14396 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
14397 // <script>: the #ClutterScript creating the scriptable instance
14398 // <value>: the generic value to be set
14399 // <name>: the name of the node
14400 // <node>: the JSON node to be parsed
14401 int parse_custom_node()(Script
* script
, GObject2
.Value
* value
, char* name
, Json
.Node
* node
) {
14402 return clutter_scriptable_parse_custom_node(cast(Scriptable
*)&this, script
, value
, name
, node
);
14406 // Overrides the common properties setting. The underlying virtual
14407 // function should be used when implementing custom properties.
14408 // <script>: the #ClutterScript creating the scriptable instance
14409 // <name>: the name of the property
14410 // <value>: the value of the property
14411 void set_custom_property()(Script
* script
, char* name
, GObject2
.Value
* value
) {
14412 clutter_scriptable_set_custom_property(cast(Scriptable
*)&this, script
, name
, value
);
14416 // Sets @id_ as the unique Clutter script it for this instance of
14417 // #ClutterScriptableIface.
14419 // This name can be used by user interface designer applications to
14420 // define a unique name for an object constructable using the UI
14421 // definition language parsed by #ClutterScript.
14422 // <id_>: the #ClutterScript id of the object
14423 void set_id()(char* id_
) {
14424 clutter_scriptable_set_id(cast(Scriptable
*)&this, id_
);
14427 mixin __interface__
;
14431 // Interface for implementing "scriptable" objects. An object implementing
14432 // this interface can override the parsing and properties setting sequence
14433 // when loading a UI definition data with #ClutterScript
14434 struct ScriptableIface
/* Version 0.6 */ {
14435 private GObject2
.TypeInterface g_iface
;
14436 // <id_>: the #ClutterScript id of the object
14437 extern (C
) void function (Scriptable
* scriptable
, char* id_
) set_id
;
14438 // RETURNS: the id of the object. The returned string is owned by
14439 extern (C
) char* function (Scriptable
* scriptable
) get_id
;
14441 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
14442 // <script>: the #ClutterScript creating the scriptable instance
14443 // <value>: the generic value to be set
14444 // <name>: the name of the node
14445 // <node>: the JSON node to be parsed
14446 extern (C
) int function (Scriptable
* scriptable
, Script
* script
, GObject2
.Value
* value
, char* name
, Json
.Node
* node
) parse_custom_node
;
14448 // <script>: the #ClutterScript creating the scriptable instance
14449 // <name>: the name of the property
14450 // <value>: the value of the property
14451 extern (C
) void function (Scriptable
* scriptable
, Script
* script
, char* name
, GObject2
.Value
* value
) set_custom_property
;
14454 enum int ScrollClick
= 269025146;
14455 // Direction of a pointer scroll event.
14456 enum ScrollDirection
/* Version 0.4 */ {
14462 enum int ScrollDown
= 269025145;
14463 // Scroll wheel (or similar device) event
14464 struct ScrollEvent
/* Version 0.2 */ {
14471 ScrollDirection direction
;
14472 ModifierType modifier_state
;
14474 InputDevice
* device
;
14477 enum int ScrollUp
= 269025144;
14478 enum int Scroll_Lock
= 65300;
14479 enum int Search
= 269025051;
14480 enum int Select
= 65376;
14481 enum int SelectButton
= 269025184;
14482 enum int Send
= 269025147;
14483 enum int Serbian_DJE
= 1713;
14484 enum int Serbian_DZE
= 1727;
14485 enum int Serbian_JE
= 1720;
14486 enum int Serbian_LJE
= 1721;
14487 enum int Serbian_NJE
= 1722;
14488 enum int Serbian_TSHE
= 1723;
14489 enum int Serbian_dje
= 1697;
14490 enum int Serbian_dze
= 1711;
14491 enum int Serbian_je
= 1704;
14492 enum int Serbian_lje
= 1705;
14493 enum int Serbian_nje
= 1706;
14494 enum int Serbian_tshe
= 1707;
14496 // <structname>ClutterSettings</structname> is an opaque structure whose
14497 // members cannot be directly accessed.
14498 struct Settings
/* : GObject.Object */ /* Version 1.4 */ {
14499 alias method_parent
this;
14500 alias method_parent super_
;
14501 alias method_parent object
;
14502 GObject2
.Object method_parent
;
14506 // Retrieves the singleton instance of #ClutterSettings
14508 // returned object is owned by Clutter and it should not be unreferenced
14510 // RETURNS: the instance of #ClutterSettings. The
14511 static Settings
* get_default()() {
14512 return clutter_settings_get_default();
14516 struct SettingsClass
{
14520 // The #ClutterShader structure contains only private data
14521 // and should be accessed using the provided API
14522 struct Shader
/* : GObject.Object */ /* Version 0.6 */ {
14524 alias parent super_
;
14525 alias parent object
;
14526 GObject2
.Object parent
;
14527 private ShaderPrivate
* priv
;
14531 // DEPRECATED (v1.8) constructor: new - Use #ClutterShaderEffect instead.
14532 // Create a new #ClutterShader instance.
14533 // RETURNS: a new #ClutterShader.
14534 static Shader
* /*new*/ new_()() {
14535 return clutter_shader_new();
14539 // DEPRECATED (v1.8) method: compile - Use #ClutterShaderEffect instead.
14540 // Compiles and links GLSL sources set for vertex and fragment shaders for
14541 // a #ClutterShader. If the compilation fails and a #GError return location is
14542 // provided the error will contain the errors from the compiler, if any.
14543 // RETURNS: returns TRUE if the shader was succesfully compiled.
14544 int compile()(GLib2
.Error
** error
=null) {
14545 return clutter_shader_compile(&this, error
);
14549 // DEPRECATED (v1.8) method: get_cogl_fragment_shader - Use #ClutterShaderEffect instead.
14550 // Retrieves the underlying #CoglHandle for the fragment shader.
14552 // shader, or %NULL. The handle is owned by the #ClutterShader
14553 // and it should not be unreferenced
14554 // RETURNS: A #CoglHandle for the fragment
14555 Cogl
.Handle
get_cogl_fragment_shader()() {
14556 return clutter_shader_get_cogl_fragment_shader(&this);
14560 // DEPRECATED (v1.8) method: get_cogl_program - Use #ClutterShaderEffect instead.
14561 // Retrieves the underlying #CoglHandle for the shader program.
14563 // or %NULL. The handle is owned by the #ClutterShader and it should
14564 // not be unreferenced
14565 // RETURNS: A #CoglHandle for the shader program,
14566 Cogl
.Handle
get_cogl_program()() {
14567 return clutter_shader_get_cogl_program(&this);
14571 // DEPRECATED (v1.8) method: get_cogl_vertex_shader - Use #ClutterShaderEffect instead.
14572 // Retrieves the underlying #CoglHandle for the vertex shader.
14574 // shader, or %NULL. The handle is owned by the #ClutterShader
14575 // and it should not be unreferenced
14576 // RETURNS: A #CoglHandle for the vertex
14577 Cogl
.Handle
get_cogl_vertex_shader()() {
14578 return clutter_shader_get_cogl_vertex_shader(&this);
14582 // DEPRECATED (v1.8) method: get_fragment_source - Use #ClutterShaderEffect instead.
14583 // Query the current GLSL fragment source set on @shader.
14585 // ClutterShader object or %NULL. The returned string is owned by the
14586 // shader object and should never be modified or freed
14587 // RETURNS: the source of the fragment shader for this
14588 char* get_fragment_source()() {
14589 return clutter_shader_get_fragment_source(&this);
14593 // DEPRECATED (v1.8) method: get_is_enabled - Use #ClutterShaderEffect instead.
14594 // Checks whether @shader is enabled.
14595 // RETURNS: %TRUE if the shader is enabled.
14596 int get_is_enabled()() {
14597 return clutter_shader_get_is_enabled(&this);
14601 // DEPRECATED (v1.8) method: get_vertex_source - Use #ClutterShaderEffect instead.
14602 // Query the current GLSL vertex source set on @shader.
14604 // ClutterShader object or %NULL. The returned string is owned by the
14605 // shader object and should never be modified or freed
14606 // RETURNS: the source of the vertex shader for this
14607 char* get_vertex_source()() {
14608 return clutter_shader_get_vertex_source(&this);
14612 // DEPRECATED (v1.8) method: is_compiled - Use #ClutterShaderEffect instead.
14613 // Checks whether @shader is is currently compiled, linked and bound
14614 // to the GL context.
14615 // RETURNS: %TRUE if the shader is compiled, linked and ready for use.
14616 int is_compiled()() {
14617 return clutter_shader_is_compiled(&this);
14621 // DEPRECATED (v1.8) method: release - Use #ClutterShaderEffect instead.
14622 // Frees up any GL context resources held by the shader.
14624 clutter_shader_release(&this);
14628 // DEPRECATED (v1.8) method: set_fragment_source - Use #ClutterShaderEffect instead.
14629 // Sets the GLSL source code to be used by a #ClutterShader for the fragment
14631 // <data>: GLSL source code.
14632 // <length>: length of source buffer (currently ignored)
14633 void set_fragment_source()(char* data
, ssize_t length
) {
14634 clutter_shader_set_fragment_source(&this, data
, length
);
14638 // DEPRECATED (v1.8) method: set_is_enabled - Use #ClutterShaderEffect instead.
14639 // Enables a shader. This function will attempt to compile and link
14640 // the shader, if it isn't already.
14642 // When @enabled is %FALSE the default state of the GL pipeline will be
14644 // <enabled>: The new state of the shader.
14645 void set_is_enabled()(int enabled
) {
14646 clutter_shader_set_is_enabled(&this, enabled
);
14650 // DEPRECATED (v1.8) method: set_uniform - Use #ClutterShaderEffect instead.
14651 // Sets a user configurable variable in the GLSL shader programs attached to
14652 // a #ClutterShader.
14653 // <name>: name of uniform in GLSL shader program to set.
14654 // <value>: a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue.
14655 void set_uniform()(char* name
, GObject2
.Value
* value
) {
14656 clutter_shader_set_uniform(&this, name
, value
);
14660 // DEPRECATED (v1.8) method: set_vertex_source - Use #ClutterShaderEffect instead.
14661 // Sets the GLSL source code to be used by a #ClutterShader for the vertex
14663 // <data>: GLSL source code.
14664 // <length>: length of source buffer (currently ignored)
14665 void set_vertex_source()(char* data
, ssize_t length
) {
14666 clutter_shader_set_vertex_source(&this, data
, length
);
14670 // The #ClutterShaderClass structure contains only private data
14671 struct ShaderClass
/* Version 0.6 */ {
14672 private GObject2
.ObjectClass parent_class
;
14676 // The <structname>ClutterShaderEffect</structname> structure contains
14677 // only private data and should be accessed using the provided API
14678 struct ShaderEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
14679 alias parent_instance
this;
14680 alias parent_instance super_
;
14681 alias parent_instance offscreeneffect
;
14682 OffscreenEffect parent_instance
;
14683 private ShaderEffectPrivate
* priv
;
14687 // Creates a new #ClutterShaderEffect, to be applied to an actor using
14688 // clutter_actor_add_effect().
14690 // The effect will be empty until clutter_shader_effect_set_shader_source()
14693 // Use g_object_unref() when done.
14694 // RETURNS: the newly created #ClutterShaderEffect.
14695 // <shader_type>: the type of the shader, either %CLUTTER_FRAGMENT_SHADER, or %CLUTTER_VERTEX_SHADER
14696 static ShaderEffect
* /*new*/ new_()(ShaderType shader_type
) {
14697 return clutter_shader_effect_new(shader_type
);
14701 // Retrieves a pointer to the program's handle
14703 // or %COGL_INVALID_HANDLE
14704 // RETURNS: a pointer to the program's handle,
14705 Cogl
.Handle
get_program()() {
14706 return clutter_shader_effect_get_program(&this);
14710 // Retrieves a pointer to the shader's handle
14712 // or %COGL_INVALID_HANDLE
14713 // RETURNS: a pointer to the shader's handle,
14714 Cogl
.Handle
get_shader()() {
14715 return clutter_shader_effect_get_shader(&this);
14719 // Sets the source of the GLSL shader used by @effect
14721 // This function should only be called by implementations of
14722 // the #ClutterShaderEffect class, and not by application code.
14724 // This function can only be called once; subsequent calls will
14725 // yield no result.
14726 // RETURNS: %TRUE if the source was set
14727 // <source>: the source of a GLSL shader
14728 int set_shader_source()(char* source
) {
14729 return clutter_shader_effect_set_shader_source(&this, source
);
14732 // Unintrospectable method: set_uniform() / clutter_shader_effect_set_uniform()
14734 // Sets a list of values as the payload for the uniform @name inside
14735 // the shader effect
14737 // The @gtype must be one of: %G_TYPE_INT, for 1 or more integer values;
14738 // %G_TYPE_FLOAT, for 1 or more floating point values;
14739 // %CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values;
14740 // %CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point
14741 // values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of
14742 // floating point values mapping a matrix
14744 // The number of values interepreted is defined by the @n_value
14745 // argument, and by the @gtype argument. For instance, a uniform named
14746 // "sampler0" and containing a single integer value is set using:
14749 // clutter_shader_effect_set_uniform (effect, "sampler0",
14754 // While a uniform named "components" and containing a 3-elements vector
14755 // of floating point values (a "vec3") can be set using:
14758 // gfloat component_r, component_g, component_b;
14760 // clutter_shader_effect_set_uniform (effect, "components",
14761 // G_TYPE_FLOAT, 3,
14767 // or can be set using:
14770 // gfloat component_vec[3];
14772 // clutter_shader_effect_set_uniform (effect, "components",
14773 // CLUTTER_TYPE_SHADER_FLOAT, 3,
14777 // Finally, a uniform named "map" and containing a matrix can be set using:
14780 // clutter_shader_effect_set_uniform (effect, "map",
14781 // CLUTTER_TYPE_SHADER_MATRIX, 1,
14782 // cogl_matrix_get_array (&matrix));
14784 // <name>: the name of the uniform to set
14785 // <gtype>: the type of the uniform to set
14786 // <n_values>: the number of values
14787 /+ Not available -- variadic methods unsupported - use the C function directly.
14788 alias clutter_shader_effect_set_uniform set_uniform; // Variadic
14792 // Sets @value as the payload for the uniform @name inside the shader
14795 // The #GType of the @value must be one of: %G_TYPE_INT, for a single
14796 // integer value; %G_TYPE_FLOAT, for a single floating point value;
14797 // %CLUTTER_TYPE_SHADER_INT, for an array of integer values;
14798 // %CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values;
14799 // and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point
14800 // values. It also accepts %G_TYPE_DOUBLE for compatibility with other
14801 // languages than C.
14802 // <name>: the name of the uniform to set
14803 // <value>: a #GValue with the value of the uniform to set
14804 void set_uniform_value()(char* name
, GObject2
.Value
* value
) {
14805 clutter_shader_effect_set_uniform_value(&this, name
, value
);
14810 // The <structname>ClutterShaderEffectClass</structname> structure contains
14811 // only private data
14812 struct ShaderEffectClass
/* Version 1.4 */ {
14813 private OffscreenEffectClass parent_class
;
14814 extern (C
) void function () _clutter_shader1
;
14815 extern (C
) void function () _clutter_shader2
;
14816 extern (C
) void function () _clutter_shader3
;
14817 extern (C
) void function () _clutter_shader4
;
14818 extern (C
) void function () _clutter_shader5
;
14819 extern (C
) void function () _clutter_shader6
;
14822 struct ShaderEffectPrivate
{
14825 // #ClutterShader error enumeration
14826 enum ShaderError
/* Version 0.6 */ {
14831 struct ShaderFloat
{
14837 struct ShaderMatrix
{
14840 struct ShaderPrivate
{
14843 // The type of GLSL shader program
14844 enum ShaderType
/* Version 1.4 */ {
14846 FRAGMENT_SHADER
= 1
14848 enum int Shift_L
= 65505;
14849 enum int Shift_Lock
= 65510;
14850 enum int Shift_R
= 65506;
14851 enum int Shop
= 269025078;
14852 enum int SingleCandidate
= 65340;
14853 enum int Sinh_a
= 16780677;
14854 enum int Sinh_aa
= 16780678;
14855 enum int Sinh_aa2
= 16780751;
14856 enum int Sinh_ae
= 16780679;
14857 enum int Sinh_ae2
= 16780752;
14858 enum int Sinh_aee
= 16780680;
14859 enum int Sinh_aee2
= 16780753;
14860 enum int Sinh_ai
= 16780691;
14861 enum int Sinh_ai2
= 16780763;
14862 enum int Sinh_al
= 16780746;
14863 enum int Sinh_au
= 16780694;
14864 enum int Sinh_au2
= 16780766;
14865 enum int Sinh_ba
= 16780726;
14866 enum int Sinh_bha
= 16780727;
14867 enum int Sinh_ca
= 16780704;
14868 enum int Sinh_cha
= 16780705;
14869 enum int Sinh_dda
= 16780713;
14870 enum int Sinh_ddha
= 16780714;
14871 enum int Sinh_dha
= 16780719;
14872 enum int Sinh_dhha
= 16780720;
14873 enum int Sinh_e
= 16780689;
14874 enum int Sinh_e2
= 16780761;
14875 enum int Sinh_ee
= 16780690;
14876 enum int Sinh_ee2
= 16780762;
14877 enum int Sinh_fa
= 16780742;
14878 enum int Sinh_ga
= 16780700;
14879 enum int Sinh_gha
= 16780701;
14880 enum int Sinh_h2
= 16780675;
14881 enum int Sinh_ha
= 16780740;
14882 enum int Sinh_i
= 16780681;
14883 enum int Sinh_i2
= 16780754;
14884 enum int Sinh_ii
= 16780682;
14885 enum int Sinh_ii2
= 16780755;
14886 enum int Sinh_ja
= 16780706;
14887 enum int Sinh_jha
= 16780707;
14888 enum int Sinh_jnya
= 16780709;
14889 enum int Sinh_ka
= 16780698;
14890 enum int Sinh_kha
= 16780699;
14891 enum int Sinh_kunddaliya
= 16780788;
14892 enum int Sinh_la
= 16780733;
14893 enum int Sinh_lla
= 16780741;
14894 enum int Sinh_lu
= 16780687;
14895 enum int Sinh_lu2
= 16780767;
14896 enum int Sinh_luu
= 16780688;
14897 enum int Sinh_luu2
= 16780787;
14898 enum int Sinh_ma
= 16780728;
14899 enum int Sinh_mba
= 16780729;
14900 enum int Sinh_na
= 16780721;
14901 enum int Sinh_ndda
= 16780716;
14902 enum int Sinh_ndha
= 16780723;
14903 enum int Sinh_ng
= 16780674;
14904 enum int Sinh_ng2
= 16780702;
14905 enum int Sinh_nga
= 16780703;
14906 enum int Sinh_nja
= 16780710;
14907 enum int Sinh_nna
= 16780715;
14908 enum int Sinh_nya
= 16780708;
14909 enum int Sinh_o
= 16780692;
14910 enum int Sinh_o2
= 16780764;
14911 enum int Sinh_oo
= 16780693;
14912 enum int Sinh_oo2
= 16780765;
14913 enum int Sinh_pa
= 16780724;
14914 enum int Sinh_pha
= 16780725;
14915 enum int Sinh_ra
= 16780731;
14916 enum int Sinh_ri
= 16780685;
14917 enum int Sinh_rii
= 16780686;
14918 enum int Sinh_ru2
= 16780760;
14919 enum int Sinh_ruu2
= 16780786;
14920 enum int Sinh_sa
= 16780739;
14921 enum int Sinh_sha
= 16780737;
14922 enum int Sinh_ssha
= 16780738;
14923 enum int Sinh_tha
= 16780717;
14924 enum int Sinh_thha
= 16780718;
14925 enum int Sinh_tta
= 16780711;
14926 enum int Sinh_ttha
= 16780712;
14927 enum int Sinh_u
= 16780683;
14928 enum int Sinh_u2
= 16780756;
14929 enum int Sinh_uu
= 16780684;
14930 enum int Sinh_uu2
= 16780758;
14931 enum int Sinh_va
= 16780736;
14932 enum int Sinh_ya
= 16780730;
14933 enum int Sleep
= 269025071;
14934 enum int SlowKeys_Enable
= 65139;
14936 // <structname>ClutterSnapConstraint</structname> is an opaque structure
14937 // whose members cannot be directly accesses
14938 struct SnapConstraint
/* : Constraint */ /* Version 1.6 */ {
14939 alias method_parent
this;
14940 alias method_parent super_
;
14941 alias method_parent constraint
;
14942 Constraint method_parent
;
14946 // Creates a new #ClutterSnapConstraint that will snap a #ClutterActor
14947 // to the @edge of @source, with the given @offset.
14948 // RETURNS: the newly created #ClutterSnapConstraint
14949 // <source>: the #ClutterActor to use as the source of the constraint, or %NULL
14950 // <from_edge>: the edge of the actor to use in the constraint
14951 // <to_edge>: the edge of @source to use in the constraint
14952 // <offset>: the offset to apply to the constraint, in pixels
14953 static SnapConstraint
* new_()(Actor
* source
, SnapEdge from_edge
, SnapEdge to_edge
, float offset
) {
14954 return clutter_snap_constraint_new(source
, from_edge
, to_edge
, offset
);
14958 // Retrieves the edges used by the @constraint
14959 // <from_edge>: return location for the actor's edge, or %NULL
14960 // <to_edge>: return location for the source's edge, or %NULL
14962 // method "get_edges" removed: Link failures - missing in library.
14965 // Retrieves the offset set using clutter_snap_constraint_set_offset()
14966 // RETURNS: the offset, in pixels
14967 float get_offset()() {
14968 return clutter_snap_constraint_get_offset(&this);
14972 // Retrieves the #ClutterActor set using clutter_snap_constraint_set_source()
14973 // RETURNS: a pointer to the source actor
14974 Actor
* get_source()() {
14975 return clutter_snap_constraint_get_source(&this);
14979 // Sets the edges to be used by the @constraint
14981 // The @from_edge is the edge on the #ClutterActor to which @constraint
14982 // has been added. The @to_edge is the edge of the #ClutterActor inside
14983 // the #ClutterSnapConstraint:source property.
14984 // <from_edge>: the edge on the actor
14985 // <to_edge>: the edge on the source
14986 void set_edges()(SnapEdge from_edge
, SnapEdge to_edge
) {
14987 clutter_snap_constraint_set_edges(&this, from_edge
, to_edge
);
14991 // Sets the offset to be applied to the constraint
14992 // <offset>: the offset to apply, in pixels
14993 void set_offset()(float offset
) {
14994 clutter_snap_constraint_set_offset(&this, offset
);
14998 // Sets the source #ClutterActor for the constraint
14999 // <source>: a #ClutterActor, or %NULL to unset the source
15000 void set_source()(Actor
* source
=null) {
15001 clutter_snap_constraint_set_source(&this, source
);
15005 struct SnapConstraintClass
{
15008 // The edge to snap
15009 enum SnapEdge
/* Version 1.6 */ {
15015 enum int Spell
= 269025148;
15016 enum int SplitScreen
= 269025149;
15018 // The #ClutterStage structure contains only private data
15019 // and should be accessed using the provided API
15020 struct Stage
/* : Group */ /* Version 0.1 */ {
15021 mixin Atk
.ImplementorIface
.__interface__
;
15022 mixin Animatable
.__interface__
;
15023 mixin Container
.__interface__
;
15024 mixin Scriptable
.__interface__
;
15025 alias parent_instance
this;
15026 alias parent_instance super_
;
15027 alias parent_instance group
;
15028 Group parent_instance
;
15029 private StagePrivate
* priv
;
15033 // Creates a new, non-default stage. A non-default stage is a new
15034 // top-level actor which can be used as another container. It works
15035 // exactly like the default stage, but while clutter_stage_get_default()
15036 // will always return the same instance, you will have to keep a pointer
15037 // to any #ClutterStage returned by clutter_stage_new().
15039 // The ability to support multiple stages depends on the current
15040 // backend. Use clutter_feature_available() and
15041 // %CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a
15042 // backend supports multiple stages.
15044 // not support multiple stages. Use clutter_actor_destroy() to
15045 // programmatically close the returned stage.
15046 // RETURNS: a new stage, or %NULL if the default backend does
15047 static Stage
* new_()() {
15048 return clutter_stage_new();
15051 // Returns the main stage. The default #ClutterStage is a singleton,
15052 // so the stage will be created the first time this function is
15053 // called (typically, inside clutter_init()); all the subsequent
15054 // calls to clutter_stage_get_default() will return the same instance.
15056 // Clutter guarantess the existence of the default stage.
15058 // #ClutterStage. You should never destroy or unref the returned
15060 // RETURNS: the main
15061 static Clutter
.Stage
* get_default()() {
15062 return clutter_stage_get_default();
15066 // This function essentially makes sure the right GL context is
15067 // current for the passed stage. It is not intended to
15068 // be used by applications.
15069 void ensure_current()() {
15070 clutter_stage_ensure_current(&this);
15074 // Ensures that @stage is redrawn
15076 // This function should not be called by applications: it is
15077 // used when embedding a #ClutterStage into a toolkit with
15078 // another windowing system, like GTK+.
15079 void ensure_redraw()() {
15080 clutter_stage_ensure_redraw(&this);
15084 // Ensures that the GL viewport is updated with the current
15085 // stage window size.
15087 // This function will queue a redraw of @stage.
15089 // This function should not be called by applications; it is used
15090 // when embedding a #ClutterStage into a toolkit with another
15091 // windowing system, like GTK+.
15092 void ensure_viewport()() {
15093 clutter_stage_ensure_viewport(&this);
15097 // This function is used to emit an event on the main stage.
15099 // You should rarely need to use this function, except for
15100 // synthetised events.
15101 // RETURNS: the return value from the signal emission
15102 // <event>: a #ClutterEvent
15103 int event()(Event
* event
) {
15104 return clutter_stage_event(&this, event
);
15108 // Retrieves the value set with clutter_stage_set_accept_focus().
15111 // RETURNS: %TRUE if the #ClutterStage should accept focus, and %FALSE
15112 int get_accept_focus()() {
15113 return clutter_stage_get_accept_focus(&this);
15116 // Checks the scene at the coordinates @x and @y and returns a pointer
15117 // to the #ClutterActor at those coordinates.
15119 // By using @pick_mode it is possible to control which actors will be
15120 // painted and thus available.
15123 // RETURNS: the actor at the specified coordinates,
15124 // <pick_mode>: how the scene graph should be painted
15125 // <x>: X coordinate to check
15126 // <y>: Y coordinate to check
15127 Actor
* get_actor_at_pos()(PickMode pick_mode
, int x
, int y
) {
15128 return clutter_stage_get_actor_at_pos(&this, pick_mode
, x
, y
);
15131 // Retrieves the stage color.
15132 // <color>: return location for a #ClutterColor
15133 void get_color()(/*out*/ Color
* color
) {
15134 clutter_stage_get_color(&this, color
);
15138 // Retrieves the current depth cueing settings from the stage.
15139 // <fog>: return location for a #ClutterFog structure
15140 void get_fog()(/*out*/ Fog
* fog
) {
15141 clutter_stage_get_fog(&this, fog
);
15145 // Retrieves whether the stage is full screen or not
15146 // RETURNS: %TRUE if the stage is full screen
15147 int get_fullscreen()() {
15148 return clutter_stage_get_fullscreen(&this);
15152 // Retrieves the actor that is currently under key focus.
15153 // RETURNS: the actor with key focus, or the stage
15154 Actor
* get_key_focus()() {
15155 return clutter_stage_get_key_focus(&this);
15159 // Retrieves the minimum size for a stage window as set using
15160 // clutter_stage_set_minimum_size().
15162 // The returned size may not correspond to the actual minimum size and
15163 // it is specific to the #ClutterStage implementation inside the
15165 // <width>: return location for the minimum width, in pixels, or %NULL
15166 // <height>: return location for the minimum height, in pixels, or %NULL
15167 void get_minimum_size()(/*out*/ uint* width
, /*out*/ uint* height
) {
15168 clutter_stage_get_minimum_size(&this, width
, height
);
15172 // Retrieves the value set using clutter_stage_set_motion_events_enabled().
15174 // and %FALSE otherwise
15175 // RETURNS: %TRUE if the per-actor motion event delivery is enabled
15176 int get_motion_events_enabled()() {
15177 return clutter_stage_get_motion_events_enabled(&this);
15181 // Retrieves the hint set with clutter_stage_set_no_clear_hint()
15183 // cycle, and %FALSE otherwise
15184 // RETURNS: %TRUE if the stage should not clear itself on every paint
15185 int get_no_clear_hint()() {
15186 return clutter_stage_get_no_clear_hint(&this);
15189 // Retrieves the stage perspective.
15190 // <perspective>: return location for a #ClutterPerspective
15191 void get_perspective()(/*out*/ Perspective
* perspective
=null) {
15192 clutter_stage_get_perspective(&this, perspective
);
15196 // Gets the bounds of the current redraw for @stage in stage pixel
15197 // coordinates. E.g., if only a single actor has queued a redraw then
15198 // Clutter may redraw the stage with a clip so that it doesn't have to
15199 // paint every pixel in the stage. This function would then return the
15200 // bounds of that clip. An application can use this information to
15201 // avoid some extra work if it knows that some regions of the stage
15202 // aren't going to be painted. This should only be called while the
15203 // stage is being painted. If there is no current redraw clip then
15204 // this function will set @clip to the full extents of the stage.
15205 // <clip>: Return location for the clip bounds
15206 void get_redraw_clip_bounds()(/*out*/ cairo
.RectangleInt
* clip
) {
15207 clutter_stage_get_redraw_clip_bounds(&this, clip
);
15211 // Retrieves the value set with clutter_stage_set_throttle_motion_events()
15213 // and %FALSE otherwise
15214 // RETURNS: %TRUE if the motion events are being throttled,
15215 int get_throttle_motion_events()() {
15216 return clutter_stage_get_throttle_motion_events(&this);
15220 // Gets the stage title.
15222 // returned string is owned by the actor and should not
15223 // be modified or freed.
15224 // RETURNS: pointer to the title string for the stage. The
15225 char* get_title()() {
15226 return clutter_stage_get_title(&this);
15230 // Retrieves the value set using clutter_stage_set_use_alpha()
15232 // alpha channel of the stage color
15233 // RETURNS: %TRUE if the stage should honour the opacity and the
15234 int get_use_alpha()() {
15235 return clutter_stage_get_use_alpha(&this);
15239 // Gets whether the depth cueing effect is enabled on @stage.
15240 // RETURNS: %TRUE if the depth cueing effect is enabled
15241 int get_use_fog()() {
15242 return clutter_stage_get_use_fog(&this);
15246 // Retrieves the value set with clutter_stage_set_user_resizable().
15247 // RETURNS: %TRUE if the stage is resizable by the user.
15248 int get_user_resizable()() {
15249 return clutter_stage_get_user_resizable(&this);
15253 // Makes the cursor invisible on the stage window
15254 void hide_cursor()() {
15255 clutter_stage_hide_cursor(&this);
15259 // Checks if @stage is the default stage, or an instance created using
15260 // clutter_stage_new() but internally using the same implementation.
15261 // RETURNS: %TRUE if the passed stage is the default one
15262 int is_default()() {
15263 return clutter_stage_is_default(&this);
15267 // Queues a redraw for the passed stage.
15269 // <note>Applications should call clutter_actor_queue_redraw() and not
15270 // this function.</note>
15272 // <note>This function is just a wrapper for clutter_actor_queue_redraw()
15273 // and should probably go away.</note>
15274 void queue_redraw()() {
15275 clutter_stage_queue_redraw(&this);
15278 // Makes a screenshot of the stage in RGBA 8bit data, returns a
15279 // linear buffer with @width * 4 as rowstride.
15281 // The alpha data contained in the returned buffer is driver-dependent,
15282 // and not guaranteed to hold any sensible value.
15284 // or %NULL if the read failed. Use g_free() on the returned data
15285 // to release the resources it has allocated.
15286 // RETURNS: a pointer to newly allocated memory with the buffer
15287 // <x>: x coordinate of the first pixel that is read from stage
15288 // <y>: y coordinate of the first pixel that is read from stage
15289 // <width>: Width dimention of pixels to be read, or -1 for the entire stage width
15290 // <height>: Height dimention of pixels to be read, or -1 for the entire stage height
15291 ubyte* read_pixels()(int x
, int y
, int width
, int height
) {
15292 return clutter_stage_read_pixels(&this, x
, y
, width
, height
);
15296 // Sets whether the @stage should accept the key focus when shown.
15298 // This function should be called before showing @stage using
15299 // clutter_actor_show().
15300 // <accept_focus>: %TRUE to accept focus on show
15301 void set_accept_focus()(int accept_focus
) {
15302 clutter_stage_set_accept_focus(&this, accept_focus
);
15305 // Sets the stage color.
15306 // <color>: A #ClutterColor
15307 void set_color()(Color
* color
) {
15308 clutter_stage_set_color(&this, color
);
15312 // Sets the fog (also known as "depth cueing") settings for the @stage.
15314 // A #ClutterStage will only use a linear fog progression, which
15315 // depends solely on the distance from the viewer. The cogl_set_fog()
15316 // function in COGL exposes more of the underlying implementation,
15317 // and allows changing the for progression function. It can be directly
15318 // used by disabling the #ClutterStage:use-fog property and connecting
15319 // a signal handler to the #ClutterActor::paint signal on the @stage,
15323 // clutter_stage_set_use_fog (stage, FALSE);
15324 // g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
15327 // The paint signal handler will call cogl_set_fog() with the
15328 // desired settings:
15332 // on_stage_paint (ClutterActor *actor)
15334 // ClutterColor stage_color = { 0, };
15335 // CoglColor fog_color = { 0, };
15337 // /* set the fog color to the stage background color */
15338 // clutter_stage_get_color (CLUTTER_STAGE (actor), &stage_color);
15339 // cogl_color_init_from_4ub (&fog_color,
15340 // stage_color.red,
15341 // stage_color.green,
15342 // stage_color.blue,
15343 // stage_color.alpha);
15345 // /* enable fog */
15346 // cogl_set_fog (&fog_color,
15347 // COGL_FOG_MODE_EXPONENTIAL, /* mode */
15348 // 0.5, /* density */
15349 // 5.0, 30.0); /* z_near and z_far */
15353 // <note>The fogging functions only work correctly when the visible actors use
15354 // unmultiplied alpha colors. By default Cogl will premultiply textures and
15355 // cogl_set_source_color() will premultiply colors, so unless you explicitly
15356 // load your textures requesting an unmultiplied internal format and use
15357 // cogl_material_set_color() you can only use fogging with fully opaque actors.
15358 // Support for premultiplied colors will improve in the future when we can
15359 // depend on fragment shaders.</note>
15360 // <fog>: a #ClutterFog structure
15361 void set_fog()(Fog
* fog
) {
15362 clutter_stage_set_fog(&this, fog
);
15366 // Asks to place the stage window in the fullscreen or unfullscreen
15369 // afterward, because other entities (e.g. the user or window manager)
15370 // could unfullscreen it again, and not all window managers honor
15371 // requests to fullscreen windows.
15373 // If you want to receive notification of the fullscreen state you
15374 // should either use the #ClutterStage::fullscreen and
15375 // #ClutterStage::unfullscreen signals, or use the notify signal
15376 // for the #ClutterStage:fullscreen-set property
15377 // <fullscreen>: %TRUE to to set the stage fullscreen
15378 void set_fullscreen()(int fullscreen
) {
15379 clutter_stage_set_fullscreen(&this, fullscreen
);
15383 // Sets the key focus on @actor. An actor with key focus will receive
15384 // all the key events. If @actor is %NULL, the stage will receive
15386 // <actor>: the actor to set key focus to, or %NULL
15387 void set_key_focus()(Actor
* actor
=null) {
15388 clutter_stage_set_key_focus(&this, actor
);
15392 // Sets the minimum size for a stage window, if the default backend
15393 // uses #ClutterStage inside a window
15395 // This is a convenience function, and it is equivalent to setting the
15396 // #ClutterActor:min-width and #ClutterActor:min-height on @stage
15398 // If the current size of @stage is smaller than the minimum size, the
15399 // @stage will be resized to the new @width and @height
15401 // This function has no effect if @stage is fullscreen
15402 // <width>: width, in pixels
15403 // <height>: height, in pixels
15404 void set_minimum_size()(uint width
, uint height
) {
15405 clutter_stage_set_minimum_size(&this, width
, height
);
15409 // Sets whether per-actor motion events (and relative crossing
15410 // events) should be disabled or not.
15412 // The default is %TRUE.
15414 // If @enable is %FALSE the following events will not be delivered
15415 // to the actors children of @stage.
15418 // <listitem><para>#ClutterActor::motion-event</para></listitem>
15419 // <listitem><para>#ClutterActor::enter-event</para></listitem>
15420 // <listitem><para>#ClutterActor::leave-event</para></listitem>
15423 // The events will still be delivered to the #ClutterStage.
15425 // The main side effect of this function is that disabling the motion
15426 // events will disable picking to detect the #ClutterActor underneath
15427 // the pointer for each motion event. This is useful, for instance,
15428 // when dragging a #ClutterActor across the @stage: the actor underneath
15429 // the pointer is not going to change, so it's meaningless to perform
15431 // <enabled>: %TRUE to enable the motion events delivery, and %FALSE otherwise
15432 void set_motion_events_enabled()(int enabled
) {
15433 clutter_stage_set_motion_events_enabled(&this, enabled
);
15437 // Sets whether the @stage should clear itself at the beginning
15438 // of each paint cycle or not.
15440 // Clearing the #ClutterStage can be a costly operation, especially
15441 // if the stage is always covered - for instance, in a full-screen
15442 // video player or in a game with a background texture.
15444 // <note><para>This setting is a hint; Clutter might discard this
15445 // hint depending on its internal state.</para></note>
15447 // <warning><para>If parts of the stage are visible and you disable
15448 // clearing you might end up with visual artifacts while painting the
15449 // contents of the stage.</para></warning>
15450 // <no_clear>: %TRUE if the @stage should not clear itself on every repaint cycle
15451 void set_no_clear_hint()(int no_clear
) {
15452 clutter_stage_set_no_clear_hint(&this, no_clear
);
15455 // Sets the stage perspective. Using this function is not recommended
15456 // because it will disable Clutter's attempts to generate an
15457 // appropriate perspective based on the size of the stage.
15458 // <perspective>: A #ClutterPerspective
15459 void set_perspective()(Perspective
* perspective
) {
15460 clutter_stage_set_perspective(&this, perspective
);
15464 // Sets whether motion events received between redraws should
15465 // be throttled or not. If motion events are throttled, those
15466 // events received by the windowing system between redraws will
15467 // be compressed so that only the last event will be propagated
15468 // to the @stage and its actors.
15470 // This function should only be used if you want to have all
15471 // the motion events delivered to your application code.
15472 // <throttle>: %TRUE to throttle motion events
15473 void set_throttle_motion_events()(int throttle
) {
15474 clutter_stage_set_throttle_motion_events(&this, throttle
);
15478 // Sets the stage title.
15479 // <title>: A utf8 string for the stage windows title.
15480 void set_title()(char* title
) {
15481 clutter_stage_set_title(&this, title
);
15485 // Sets whether the @stage should honour the #ClutterActor:opacity and
15486 // the alpha channel of the #ClutterStage:color
15487 // <use_alpha>: whether the stage should honour the opacity or the alpha channel of the stage color
15488 void set_use_alpha()(int use_alpha
) {
15489 clutter_stage_set_use_alpha(&this, use_alpha
);
15493 // Sets whether the depth cueing effect on the stage should be enabled
15496 // Depth cueing is a 3D effect that makes actors farther away from the
15497 // viewing point less opaque, by fading them with the stage color.
15498 // The parameters of the GL fog used can be changed using the
15499 // clutter_stage_set_fog() function.
15500 // <fog>: %TRUE for enabling the depth cueing effect
15501 void set_use_fog()(int fog
) {
15502 clutter_stage_set_use_fog(&this, fog
);
15506 // Sets if the stage is resizable by user interaction (e.g. via
15507 // window manager controls)
15508 // <resizable>: whether the stage should be user resizable.
15509 void set_user_resizable()(int resizable
) {
15510 clutter_stage_set_user_resizable(&this, resizable
);
15512 // Shows the cursor on the stage window
15513 void show_cursor()() {
15514 clutter_stage_show_cursor(&this);
15518 // The ::activate signal is emitted when the stage receives key focus
15519 // from the underlying window system.
15520 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_activate
;
15522 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15523 return super_
.signal_connect
!name(cb
, data
, cf
);
15526 ulong signal_connect(string name
:"activate", CB
:signal_activate
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15527 return signal_connect_data
!()(&this, cast(char*)"activate",
15528 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15532 // The ::activate signal is emitted when the stage loses key focus
15533 // from the underlying window system.
15534 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_deactivate
;
15535 ulong signal_connect(string name
:"deactivate", CB
:signal_deactivate
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15536 return signal_connect_data
!()(&this, cast(char*)"deactivate",
15537 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15541 // The ::delete-event signal is emitted when the user closes a
15542 // #ClutterStage window using the window controls.
15544 // Clutter by default will call clutter_main_quit() if @stage is
15545 // the default stage, and clutter_actor_destroy() for any other
15548 // It is possible to override the default behaviour by connecting
15549 // a new handler and returning %TRUE there.
15551 // <note>This signal is emitted only on Clutter backends that
15552 // embed #ClutterStage in native windows. It is not emitted for
15553 // backends that use a static frame buffer.</note>
15554 // <event>: a #ClutterEvent of type %CLUTTER_DELETE
15555 extern (C
) alias static c_int
function (Stage
* this_
, Event
* event
, void* user_data
=null) signal_delete_event
;
15556 ulong signal_connect(string name
:"delete-event", CB
:signal_delete_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15557 return signal_connect_data
!()(&this, cast(char*)"delete-event",
15558 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15562 // The ::fullscreen signal is emitted when the stage is made fullscreen.
15563 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_fullscreen
;
15564 ulong signal_connect(string name
:"fullscreen", CB
:signal_fullscreen
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15565 return signal_connect_data
!()(&this, cast(char*)"fullscreen",
15566 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15570 // The ::unfullscreen signal is emitted when the stage leaves a fullscreen
15572 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_unfullscreen
;
15573 ulong signal_connect(string name
:"unfullscreen", CB
:signal_unfullscreen
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15574 return signal_connect_data
!()(&this, cast(char*)"unfullscreen",
15575 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15579 // The #ClutterStageClass structure contains only private data
15580 struct StageClass
/* Version 0.1 */ {
15581 private GroupClass parent_class
;
15582 extern (C
) void function (Stage
* stage
) fullscreen
;
15583 extern (C
) void function (Stage
* stage
) unfullscreen
;
15584 extern (C
) void function (Stage
* stage
) activate
;
15585 extern (C
) void function (Stage
* stage
) deactivate
;
15586 extern (C
) int function (Stage
* stage
, Event
* event
) delete_event
;
15587 private void*[31] _padding_dummy
;
15590 // The #ClutterStageManager structure is private.
15591 struct StageManager
/* : GObject.Object */ /* Version 1.0 */ {
15592 alias method_parent
this;
15593 alias method_parent super_
;
15594 alias method_parent object
;
15595 GObject2
.Object method_parent
;
15599 // Returns the default #ClutterStageManager.
15601 // object is owned by Clutter and you should not reference or unreference it.
15602 // RETURNS: the default stage manager instance. The returned
15603 static StageManager
* get_default()() {
15604 return clutter_stage_manager_get_default();
15608 // Returns the default #ClutterStage.
15610 // is owned by Clutter and you should never reference or unreference it
15611 // RETURNS: the default stage. The returned object
15612 Stage
* get_default_stage()() {
15613 return clutter_stage_manager_get_default_stage(&this);
15617 // Lists all currently used stages.
15619 // allocated list of #ClutterStage objects. Use g_slist_free() to
15620 // deallocate it when done.
15621 // RETURNS: a newly
15622 GLib2
.SList
* /*new container*/ list_stages()() {
15623 return clutter_stage_manager_list_stages(&this);
15627 // Lists all currently used stages.
15629 // to the internal list of #ClutterStage objects. The returned list
15630 // is owned by the #ClutterStageManager and should never be modified
15632 // RETURNS: a pointer
15633 GLib2
.SList
* peek_stages()() {
15634 return clutter_stage_manager_peek_stages(&this);
15638 // DEPRECATED (v1.2) method: set_default_stage - Calling this function has no effect
15639 // Sets @stage as the default stage.
15640 // <stage>: a #ClutterStage
15641 void set_default_stage()(Stage
* stage
) {
15642 clutter_stage_manager_set_default_stage(&this, stage
);
15646 // The ::stage-added signal is emitted each time a new #ClutterStage
15647 // has been added to the stage manager.
15648 // <stage>: the added stage
15649 extern (C
) alias static void function (StageManager
* this_
, Stage
* stage
, void* user_data
=null) signal_stage_added
;
15651 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15652 return super_
.signal_connect
!name(cb
, data
, cf
);
15655 ulong signal_connect(string name
:"stage-added", CB
:signal_stage_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15656 return signal_connect_data
!()(&this, cast(char*)"stage-added",
15657 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15661 // The ::stage-removed signal is emitted each time a #ClutterStage
15662 // has been removed from the stage manager.
15663 // <stage>: the removed stage
15664 extern (C
) alias static void function (StageManager
* this_
, Stage
* stage
, void* user_data
=null) signal_stage_removed
;
15665 ulong signal_connect(string name
:"stage-removed", CB
:signal_stage_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15666 return signal_connect_data
!()(&this, cast(char*)"stage-removed",
15667 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15672 // The #ClutterStageManagerClass structure contains only private data
15673 // and should be accessed using the provided API
15674 struct StageManagerClass
/* Version 1.0 */ {
15675 private GObject2
.ObjectClass parent_class
;
15676 extern (C
) void function (StageManager
* stage_manager
, Stage
* stage
) stage_added
;
15677 extern (C
) void function (StageManager
* stage_manager
, Stage
* stage
) stage_removed
;
15680 struct StagePrivate
{
15683 // Stage state masks
15684 enum StageState
/* Version 0.4 */ {
15689 // Event signalling a change in the #ClutterStage state.
15690 struct StageStateEvent
/* Version 0.2 */ {
15696 StageState changed_mask
, new_state
;
15700 // <structname>ClutterStageWindow</structname> is an opaque structure
15701 // whose members should not be accessed directly
15702 struct StageWindow
/* Interface */ /* Version 0.8 */ {
15703 mixin template __interface__() { }
15704 mixin __interface__
;
15707 // The interface implemented by backends for stage windows
15708 struct StageWindowIface
/* Version 0.8 */ {
15709 private GObject2
.TypeInterface parent_iface
;
15710 // Unintrospectable functionp: get_wrapper() / ()
15711 extern (C
) Actor
* function (StageWindow
* stage_window
) get_wrapper
;
15712 // Unintrospectable functionp: set_title() / ()
15713 extern (C
) void function (StageWindow
* stage_window
, char* title
) set_title
;
15714 // Unintrospectable functionp: set_fullscreen() / ()
15715 extern (C
) void function (StageWindow
* stage_window
, int is_fullscreen
) set_fullscreen
;
15716 // Unintrospectable functionp: set_cursor_visible() / ()
15717 extern (C
) void function (StageWindow
* stage_window
, int cursor_visible
) set_cursor_visible
;
15718 // Unintrospectable functionp: set_user_resizable() / ()
15719 extern (C
) void function (StageWindow
* stage_window
, int is_resizable
) set_user_resizable
;
15720 // Unintrospectable functionp: realize() / ()
15721 extern (C
) int function (StageWindow
* stage_window
) realize
;
15722 // Unintrospectable functionp: unrealize() / ()
15723 extern (C
) void function (StageWindow
* stage_window
) unrealize
;
15724 // Unintrospectable functionp: show() / ()
15725 extern (C
) void function (StageWindow
* stage_window
, int do_raise
) show
;
15726 // Unintrospectable functionp: hide() / ()
15727 extern (C
) void function (StageWindow
* stage_window
) hide
;
15728 // Unintrospectable functionp: resize() / ()
15729 extern (C
) void function (StageWindow
* stage_window
, int width
, int height
) resize
;
15730 // Unintrospectable functionp: get_geometry() / ()
15731 extern (C
) void function (StageWindow
* stage_window
, Geometry
* geometry
) get_geometry
;
15732 // Unintrospectable functionp: get_pending_swaps() / ()
15733 extern (C
) int function (StageWindow
* stage_window
) get_pending_swaps
;
15734 // Unintrospectable functionp: add_redraw_clip() / ()
15735 extern (C
) void function (StageWindow
* stage_window
, Geometry
* stage_rectangle
) add_redraw_clip
;
15736 // Unintrospectable functionp: has_redraw_clips() / ()
15737 extern (C
) int function (StageWindow
* stage_window
) has_redraw_clips
;
15738 // Unintrospectable functionp: ignoring_redraw_clips() / ()
15739 extern (C
) int function (StageWindow
* stage_window
) ignoring_redraw_clips
;
15740 // Unintrospectable functionp: get_redraw_clip_bounds() / ()
15741 extern (C
) int function (StageWindow
* stage_window
, cairo
.RectangleInt
* clip
) get_redraw_clip_bounds
;
15742 // Unintrospectable functionp: set_accept_focus() / ()
15743 extern (C
) void function (StageWindow
* stage_window
, int accept_focus
) set_accept_focus
;
15744 // Unintrospectable functionp: redraw() / ()
15745 extern (C
) void function (StageWindow
* stage_window
) redraw
;
15746 // Unintrospectable functionp: get_active_framebuffer() / ()
15747 extern (C
) Cogl
.Framebuffer
* function (StageWindow
* stage_window
) get_active_framebuffer
;
15750 enum int Standby
= 269025040;
15751 enum int Start
= 269025050;
15753 // The <structname>ClutterState</structname> structure contains only
15754 // private data and should be accessed using the provided API
15755 struct State
/* : GObject.Object */ /* Version 1.4 */ {
15756 mixin Scriptable
.__interface__
;
15758 alias parent super_
;
15759 alias parent object
;
15760 GObject2
.Object parent
;
15761 private StatePrivate
* priv
;
15764 // Creates a new #ClutterState
15765 // RETURNS: the newly create #ClutterState instance
15766 static State
* /*new*/ new_()() {
15767 return clutter_state_new();
15771 // Retrieves the #ClutterAnimator that is being used for transitioning
15772 // between the two states, if any has been set
15773 // RETURNS: a #ClutterAnimator instance, or %NULL
15774 // <source_state_name>: the name of a source state
15775 // <target_state_name>: the name of a target state
15776 Animator
* get_animator()(char* source_state_name
, char* target_state_name
) {
15777 return clutter_state_get_animator(&this, source_state_name
, target_state_name
);
15781 // Queries the duration used for transitions between a source and
15782 // target state pair
15784 // The semantics for the query are the same as the semantics used for
15785 // setting the duration with clutter_state_set_duration()
15786 // RETURNS: the duration, in milliseconds
15787 // <source_state_name>: the name of the source state to get the duration of, or %NULL
15788 // <target_state_name>: the name of the source state to get the duration of, or %NULL
15789 uint get_duration()(char* source_state_name
=null, char* target_state_name
=null) {
15790 return clutter_state_get_duration(&this, source_state_name
, target_state_name
);
15794 // Returns a list of pointers to opaque structures with accessor functions
15795 // that describe the keys added to an animator.
15797 // newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of
15798 // the returned list are owned by the #ClutterState and should not be
15799 // modified or freed. Use g_list_free() to free the resources allocated
15800 // by the returned list when done using it
15802 // <source_state_name>: the source transition name to query, or %NULL for all source states
15803 // <target_state_name>: the target transition name to query, or %NULL for all target states
15804 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
15805 // <property_name>: the property name to search for, or %NULL for all properties.
15806 GLib2
.List
* /*new container*/ get_keys()(char* source_state_name
=null, char* target_state_name
=null, GObject2
.Object
* object
=null, char* property_name
=null) {
15807 return clutter_state_get_keys(&this, source_state_name
, target_state_name
, object
, property_name
);
15811 // Queries the currently set target state.
15813 // During a transition this function will return the target of the transition.
15815 // This function is useful when called from handlers of the
15816 // #ClutterState::completed signal.
15818 // is owned by the #ClutterState and should not be modified or freed
15819 // RETURNS: a string containing the target state. The returned string
15820 char* get_state()() {
15821 return clutter_state_get_state(&this);
15825 // Gets a list of all the state names managed by this #ClutterState.
15827 // #GList of state names. The contents of the returned #GList are owned
15828 // by the #ClutterState and should not be modified or freed. Use
15829 // g_list_free() to free the resources allocated by the returned list when
15831 // RETURNS: a newly allocated
15832 GLib2
.List
* /*new container*/ get_states()() {
15833 return clutter_state_get_states(&this);
15837 // Gets the timeline driving the #ClutterState
15839 // the state change animations. The returned timeline is owned
15840 // by the #ClutterState and it should not be unreferenced directly
15841 // RETURNS: the #ClutterTimeline that drives
15842 Timeline
* get_timeline()() {
15843 return clutter_state_get_timeline(&this);
15847 // Removes all keys matching the search criteria passed in arguments.
15848 // <source_state_name>: the source state name to query, or %NULL for all source states
15849 // <target_state_name>: the target state name to query, or %NULL for all target states
15850 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
15851 // <property_name>: the property name to search for, or %NULL for all properties.
15852 void remove_key()(char* source_state_name
=null, char* target_state_name
=null, GObject2
.Object
* object
=null, char* property_name
=null) {
15853 clutter_state_remove_key(&this, source_state_name
, target_state_name
, object
, property_name
);
15856 // Unintrospectable method: set() / clutter_state_set()
15858 // Adds multiple keys to a named state of a #ClutterState instance, specifying
15859 // the easing mode and value a given property of an object should have at a
15860 // given progress of the animation.
15862 // The mode specified is the easing mode used when going to from the previous
15863 // key to the specified key.
15865 // For instance, the code below:
15868 // clutter_state_set (state, NULL, "hover",
15869 // button, "opacity", CLUTTER_LINEAR, 255,
15870 // button, "scale-x", CLUTTER_EASE_OUT_CUBIC, 1.2,
15871 // button, "scale-y", CLUTTER_EASE_OUT_CUBIC, 1.2,
15875 // will create a transition from any state (a @source_state_name or NULL is
15876 // treated as a wildcard) and a state named "hover"; the
15877 // <emphasis>button</emphasis> object will have the #ClutterActor:opacity
15878 // property animated to a value of 255 using %CLUTTER_LINEAR as the animation
15879 // mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties
15880 // animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation
15881 // mode. To change the state (and start the transition) you can use the
15882 // clutter_state_set_state() function:
15885 // clutter_state_set_state (state, "hover");
15888 // If a given object, state_name, property tuple already exist in the
15889 // #ClutterState instance, then the mode and value will be replaced with
15890 // the new specified values.
15892 // If a property name is prefixed with "delayed::" two additional
15893 // arguments per key are expected: a value relative to the full state time
15894 // to pause before transitioning and a similar value to pause after
15895 // transitioning, e.g.:
15898 // clutter_state_set (state, "hover", "toggled",
15899 // button, "delayed::scale-x", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
15900 // button, "delayed::scale-y", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
15904 // will pause for 20% of the duration of the transition before animating,
15905 // and 20% of the duration after animating.
15906 // <source_state_name>: the name of the source state keys are being added for
15907 // <target_state_name>: the name of the target state keys are being added for
15908 // <first_object>: a #GObject
15909 // <first_property_name>: a property of @first_object to specify a key for
15910 // <first_mode>: the id of the alpha function to use
15911 /+ Not available -- variadic methods unsupported - use the C function directly.
15912 alias clutter_state_set set; // Variadic
15916 // Specifies a #ClutterAnimator to be used when transitioning between
15917 // the two named states.
15919 // The @animator allows specifying a transition between the state that is
15920 // more elaborate than the basic transitions allowed by the tweening of
15921 // properties defined in the #ClutterState keys.
15923 // If @animator is %NULL it will unset an existing animator.
15925 // #ClutterState will take a reference on the passed @animator, if any
15926 // <source_state_name>: the name of a source state
15927 // <target_state_name>: the name of a target state
15928 // <animator>: a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator
15929 void set_animator()(char* source_state_name
, char* target_state_name
, Animator
* animator
=null) {
15930 clutter_state_set_animator(&this, source_state_name
, target_state_name
, animator
);
15934 // Sets the duration of a transition.
15936 // If both state names are %NULL the default duration for @state is set.
15938 // If only @target_state_name is specified, the passed @duration becomes
15939 // the default duration for transitions to the target state.
15941 // If both states names are specified, the passed @duration only applies
15942 // to the specified transition.
15943 // <source_state_name>: the name of the source state, or %NULL
15944 // <target_state_name>: the name of the target state, or %NULL
15945 // <duration>: the duration of the transition, in milliseconds
15946 void set_duration()(char* source_state_name
, char* target_state_name
, uint duration
) {
15947 clutter_state_set_duration(&this, source_state_name
, target_state_name
, duration
);
15951 // Sets one specific end key for a state name, @object, @property_name
15954 // chaining of multiple calls
15955 // RETURNS: the #ClutterState instance, allowing
15956 // <source_state_name>: the source transition to specify transition for, or %NULL to specify the default fallback when a more specific source state doesn't exist.
15957 // <target_state_name>: the name of the transition to set a key value for.
15958 // <object>: the #GObject to set a key for
15959 // <property_name>: the property to set a key for
15960 // <mode>: the id of the alpha function to use
15961 // <value>: the value for property_name of object in state_name
15962 // <pre_delay>: relative time of the transition to be idle in the beginning of the transition
15963 // <post_delay>: relative time of the transition to be idle in the end of the transition
15964 State
* set_key()(char* source_state_name
, char* target_state_name
, GObject2
.Object
* object
, char* property_name
, uint mode
, GObject2
.Value
* value
, double pre_delay
, double post_delay
) {
15965 return clutter_state_set_key(&this, source_state_name
, target_state_name
, object
, property_name
, mode
, value
, pre_delay
, post_delay
);
15969 // Change the current state of #ClutterState to @target_state_name.
15971 // The state will animate during its transition, see
15972 // #clutter_state_warp_to_state for animation-free state switching.
15974 // Setting a %NULL state will stop the current animation and unset
15975 // the current state, but keys will be left intact.
15977 // state transition. The returned timeline is owned by the #ClutterState
15978 // and it should not be unreferenced
15979 // RETURNS: the #ClutterTimeline that drives the
15980 // <target_state_name>: the state to transition to
15981 Timeline
* set_state()(char* target_state_name
) {
15982 return clutter_state_set_state(&this, target_state_name
);
15986 // Change to the specified target state immediately with no animation.
15988 // See clutter_state_set_state().
15990 // state transition. The returned timeline is owned by the #ClutterState
15991 // and it should not be unreferenced
15992 // RETURNS: the #ClutterTimeline that drives the
15993 // <target_state_name>: the state to transition to
15994 Timeline
* warp_to_state()(char* target_state_name
) {
15995 return clutter_state_warp_to_state(&this, target_state_name
);
15999 // The ::completed signal is emitted when a #ClutterState reaches
16000 // the target state specified by clutter_state_set_state() or
16001 // clutter_state_warp_to_state().
16002 extern (C
) alias static void function (State
* this_
, void* user_data
=null) signal_completed
;
16004 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16005 return super_
.signal_connect
!name(cb
, data
, cf
);
16008 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16009 return signal_connect_data
!()(&this, cast(char*)"completed",
16010 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16015 // The <structname>ClutterStateClass</structname> structure contains
16016 // only private data
16017 struct StateClass
/* Version 1.4 */ {
16018 private GObject2
.ObjectClass parent_class
;
16019 extern (C
) void function (State
* state
) completed
;
16020 private void*[8] _padding_dummy
;
16024 // <structname>ClutterStateKey</structname> is an opaque structure whose
16025 // members cannot be accessed directly
16026 struct StateKey
/* Version 1.4 */ {
16029 // Retrieves the easing mode used for @state_key.
16030 // RETURNS: the mode of a #ClutterStateKey
16031 c_ulong
get_mode()() {
16032 return clutter_state_key_get_mode(&this);
16036 // Retrieves the object instance this #ClutterStateKey applies to.
16037 // RETURNS: the object this state key applies to.
16038 GObject2
.Object
* get_object()() {
16039 return clutter_state_key_get_object(&this);
16043 // Retrieves the duration of the pause after transitioning is complete
16044 // as a fraction of the total transition time.
16045 // RETURNS: the post delay, used after doing the transition.
16046 double get_post_delay()() {
16047 return clutter_state_key_get_post_delay(&this);
16051 // Retrieves the pause before transitioning starts as a fraction of
16052 // the total transition time.
16053 // RETURNS: the pre delay used before starting the transition.
16054 double get_pre_delay()() {
16055 return clutter_state_key_get_pre_delay(&this);
16059 // Retrieves the name of the property this #ClutterStateKey applies to
16061 // by the #ClutterStateKey and should never be modified or freed
16062 // RETURNS: the name of the property. The returned string is owned
16063 char* get_property_name()() {
16064 return clutter_state_key_get_property_name(&this);
16068 // Retrieves the #GType of the property a key applies to
16070 // You can use this type to initialize the #GValue to pass to
16071 // clutter_state_key_get_value()
16072 // RETURNS: the #GType of the property
16073 Type
get_property_type()() {
16074 return clutter_state_key_get_property_type(&this);
16078 // Retrieves the name of the source state of the @state_key
16080 // if this is the generic state key for the given property when
16081 // transitioning to the target state. The returned string is owned
16082 // by the #ClutterStateKey and should never be modified or freed
16083 // RETURNS: the name of the source state for this key, or %NULL
16084 char* get_source_state_name()() {
16085 return clutter_state_key_get_source_state_name(&this);
16089 // Get the name of the source state this #ClutterStateKey contains,
16090 // or NULL if this is the generic state key for the given property
16091 // when transitioning to the target state.
16093 // the key is generic
16094 // RETURNS: the name of the source state for this key, or NULL if
16095 char* get_target_state_name()() {
16096 return clutter_state_key_get_target_state_name(&this);
16100 // Retrieves a copy of the value for a #ClutterStateKey.
16102 // The #GValue needs to be already initialized for the value type
16103 // of the property or to a type that allow transformation from the value
16104 // type of the key.
16106 // Use g_value_unset() when done.
16108 // and %FALSE otherwise
16109 // RETURNS: %TRUE if the value was successfully retrieved,
16110 // <value>: a #GValue initialized with the correct type for the @state_key
16111 int get_value()(GObject2
.Value
* value
) {
16112 return clutter_state_key_get_value(&this, value
);
16116 struct StatePrivate
{
16119 // Named colors, for accessing global colors defined by Clutter
16120 enum StaticColor
/* Version 1.6 */ {
16145 CHOCOLATE_LIGHT
= 24,
16146 CHOCOLATE_DARK
= 25,
16148 CHAMELEON_LIGHT
= 27,
16149 CHAMELEON_DARK
= 28,
16151 SKY_BLUE_LIGHT
= 30,
16152 SKY_BLUE_DARK
= 31,
16157 SCARLET_RED_LIGHT
= 36,
16158 SCARLET_RED_DARK
= 37,
16167 enum int StickyKeys_Enable
= 65141;
16168 enum int Stop
= 269025064;
16169 enum int Subtitle
= 269025178;
16170 enum int Super_L
= 65515;
16171 enum int Super_R
= 65516;
16172 enum int Support
= 269025150;
16173 enum int Suspend
= 269025191;
16175 // The <structname>ClutterSwipeAction</structname> structure contains
16176 // only private data and should be accessed using the provided API
16177 struct SwipeAction
/* : GestureAction */ /* Version 1.8 */ {
16178 alias parent_instance
this;
16179 alias parent_instance super_
;
16180 alias parent_instance gestureaction
;
16181 GestureAction parent_instance
;
16182 private SwipeActionPrivate
* priv
;
16186 // Creates a new #ClutterSwipeAction instance
16187 // RETURNS: the newly created #ClutterSwipeAction
16188 static SwipeAction
* new_()() {
16189 return clutter_swipe_action_new();
16193 // The ::swept signal is emitted when a swipe gesture is recognized on the
16195 // <actor>: the #ClutterActor attached to the @action
16196 // <direction>: the main direction of the swipe gesture
16197 extern (C
) alias static void function (SwipeAction
* this_
, Actor
* actor
, SwipeDirection
* direction
, void* user_data
=null) signal_swept
;
16199 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16200 return super_
.signal_connect
!name(cb
, data
, cf
);
16203 ulong signal_connect(string name
:"swept", CB
:signal_swept
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16204 return signal_connect_data
!()(&this, cast(char*)"swept",
16205 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16210 // The <structname>ClutterSwipeActionClass</structname> structure contains
16211 // only private data.
16212 struct SwipeActionClass
/* Version 1.8 */ {
16213 private GestureActionClass parent_class
;
16214 extern (C
) void function (SwipeAction
* action
, Actor
* actor
, SwipeDirection direction
) swept
;
16215 extern (C
) void function () _clutter_swipe_action1
;
16216 extern (C
) void function () _clutter_swipe_action2
;
16217 extern (C
) void function () _clutter_swipe_action3
;
16218 extern (C
) void function () _clutter_swipe_action4
;
16219 extern (C
) void function () _clutter_swipe_action5
;
16220 extern (C
) void function () _clutter_swipe_action6
;
16221 extern (C
) void function () _clutter_swipe_action7
;
16224 struct SwipeActionPrivate
{
16227 // The main direction of the swipe gesture
16228 enum SwipeDirection
/* Version 1.8 */ {
16234 enum int Switch_VT_1
= 269024769;
16235 enum int Switch_VT_10
= 269024778;
16236 enum int Switch_VT_11
= 269024779;
16237 enum int Switch_VT_12
= 269024780;
16238 enum int Switch_VT_2
= 269024770;
16239 enum int Switch_VT_3
= 269024771;
16240 enum int Switch_VT_4
= 269024772;
16241 enum int Switch_VT_5
= 269024773;
16242 enum int Switch_VT_6
= 269024774;
16243 enum int Switch_VT_7
= 269024775;
16244 enum int Switch_VT_8
= 269024776;
16245 enum int Switch_VT_9
= 269024777;
16246 enum int Sys_Req
= 65301;
16248 enum int THORN
= 222;
16249 enum int Tab
= 65289;
16250 // The alignment policies available on each axis of the #ClutterTableLayout
16251 enum TableAlignment
/* Version 1.4 */ {
16257 // The #ClutterTableLayout structure contains only private data
16258 // and should be accessed using the provided API
16259 struct TableLayout
/* : LayoutManager */ /* Version 1.4 */ {
16260 alias parent_instance
this;
16261 alias parent_instance super_
;
16262 alias parent_instance layoutmanager
;
16263 LayoutManager parent_instance
;
16264 private TableLayoutPrivate
* priv
;
16268 // Creates a new #ClutterTableLayout layout manager
16269 // RETURNS: the newly created #ClutterTableLayout
16270 static TableLayout
* new_()() {
16271 return clutter_table_layout_new();
16275 // Retrieves the horizontal and vertical alignment policies for @actor
16276 // as set using clutter_table_layout_pack() or
16277 // clutter_table_layout_set_alignment().
16278 // <actor>: a #ClutterActor child of @layout
16279 // <x_align>: return location for the horizontal alignment policy
16280 // <y_align>: return location for the vertical alignment policy
16281 void get_alignment()(Actor
* actor
, /*out*/ TableAlignment
* x_align
, /*out*/ TableAlignment
* y_align
) {
16282 clutter_table_layout_get_alignment(&this, actor
, x_align
, y_align
);
16286 // Retrieve the current number of columns in @layout
16287 // RETURNS: the number of columns
16288 int get_column_count()() {
16289 return clutter_table_layout_get_column_count(&this);
16293 // Retrieves the spacing set using clutter_table_layout_set_column_spacing()
16294 // RETURNS: the spacing between columns of the #ClutterTableLayout
16295 uint get_column_spacing()() {
16296 return clutter_table_layout_get_column_spacing(&this);
16300 // Retrieves the duration set using clutter_table_layout_set_easing_duration()
16301 // RETURNS: the duration of the animations, in milliseconds
16302 uint get_easing_duration()() {
16303 return clutter_table_layout_get_easing_duration(&this);
16307 // Retrieves the easing mode set using clutter_table_layout_set_easing_mode()
16308 // RETURNS: an easing mode
16309 c_ulong
get_easing_mode()() {
16310 return clutter_table_layout_get_easing_mode(&this);
16314 // Retrieves the horizontal and vertical expand policies for @actor
16315 // as set using clutter_table_layout_pack() or clutter_table_layout_set_expand()
16316 // <actor>: a #ClutterActor child of @layout
16317 // <x_expand>: return location for the horizontal expand policy
16318 // <y_expand>: return location for the vertical expand policy
16319 void get_expand()(Actor
* actor
, /*out*/ int* x_expand
, /*out*/ int* y_expand
) {
16320 clutter_table_layout_get_expand(&this, actor
, x_expand
, y_expand
);
16324 // Retrieves the horizontal and vertical fill policies for @actor
16325 // as set using clutter_table_layout_pack() or clutter_table_layout_set_fill()
16326 // <actor>: a #ClutterActor child of @layout
16327 // <x_fill>: return location for the horizontal fill policy
16328 // <y_fill>: return location for the vertical fill policy
16329 void get_fill()(Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
) {
16330 clutter_table_layout_get_fill(&this, actor
, x_fill
, y_fill
);
16334 // Retrieve the current number rows in the @layout
16335 // RETURNS: the number of rows
16336 int get_row_count()() {
16337 return clutter_table_layout_get_row_count(&this);
16341 // Retrieves the spacing set using clutter_table_layout_set_row_spacing()
16342 // RETURNS: the spacing between rows of the #ClutterTableLayout
16343 uint get_row_spacing()() {
16344 return clutter_table_layout_get_row_spacing(&this);
16348 // Retrieves the row and column span for @actor as set using
16349 // clutter_table_layout_pack() or clutter_table_layout_set_span()
16350 // <actor>: a #ClutterActor child of @layout
16351 // <column_span>: return location for the col span
16352 // <row_span>: return location for the row span
16353 void get_span()(Actor
* actor
, /*out*/ int* column_span
, /*out*/ int* row_span
) {
16354 clutter_table_layout_get_span(&this, actor
, column_span
, row_span
);
16358 // Retrieves whether @layout should animate changes in the layout properties
16360 // Since clutter_table_layout_set_use_animations()
16361 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
16362 int get_use_animations()() {
16363 return clutter_table_layout_get_use_animations(&this);
16367 // Packs @actor inside the #ClutterContainer associated to @layout
16368 // at the given row and column.
16369 // <actor>: a #ClutterActor
16370 // <column>: the column the @actor should be put, or -1 to append
16371 // <row>: the row the @actor should be put, or -1 to append
16372 void pack()(Actor
* actor
, int column
, int row
) {
16373 clutter_table_layout_pack(&this, actor
, column
, row
);
16377 // Sets the horizontal and vertical alignment policies for @actor
16379 // <actor>: a #ClutterActor child of @layout
16380 // <x_align>: Horizontal alignment policy for @actor
16381 // <y_align>: Vertical alignment policy for @actor
16382 void set_alignment()(Actor
* actor
, TableAlignment x_align
, TableAlignment y_align
) {
16383 clutter_table_layout_set_alignment(&this, actor
, x_align
, y_align
);
16387 // Sets the spacing between columns of @layout
16388 // <spacing>: the spacing between columns of the layout, in pixels
16389 void set_column_spacing()(uint spacing
) {
16390 clutter_table_layout_set_column_spacing(&this, spacing
);
16394 // Sets the duration of the animations used by @layout when animating changes
16395 // in the layout properties
16397 // Use clutter_table_layout_set_use_animations() to enable and disable the
16399 // <msecs>: the duration of the animations, in milliseconds
16400 void set_easing_duration()(uint msecs
) {
16401 clutter_table_layout_set_easing_duration(&this, msecs
);
16405 // Sets the easing mode to be used by @layout when animating changes in layout
16408 // Use clutter_table_layout_set_use_animations() to enable and disable the
16410 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
16411 void set_easing_mode()(c_ulong mode
) {
16412 clutter_table_layout_set_easing_mode(&this, mode
);
16416 // Sets the horizontal and vertical expand policies for @actor
16418 // <actor>: a #ClutterActor child of @layout
16419 // <x_expand>: whether @actor should allocate extra space horizontally
16420 // <y_expand>: whether @actor should allocate extra space vertically
16421 void set_expand()(Actor
* actor
, int x_expand
, int y_expand
) {
16422 clutter_table_layout_set_expand(&this, actor
, x_expand
, y_expand
);
16426 // Sets the horizontal and vertical fill policies for @actor
16428 // <actor>: a #ClutterActor child of @layout
16429 // <x_fill>: whether @actor should fill horizontally the allocated space
16430 // <y_fill>: whether @actor should fill vertically the allocated space
16431 void set_fill()(Actor
* actor
, int x_fill
, int y_fill
) {
16432 clutter_table_layout_set_fill(&this, actor
, x_fill
, y_fill
);
16436 // Sets the spacing between rows of @layout
16437 // <spacing>: the spacing between rows of the layout, in pixels
16438 void set_row_spacing()(uint spacing
) {
16439 clutter_table_layout_set_row_spacing(&this, spacing
);
16443 // Sets the row and column span for @actor
16445 // <actor>: a #ClutterActor child of @layout
16446 // <column_span>: Column span for @actor
16447 // <row_span>: Row span for @actor
16448 void set_span()(Actor
* actor
, int column_span
, int row_span
) {
16449 clutter_table_layout_set_span(&this, actor
, column_span
, row_span
);
16453 // Sets whether @layout should animate changes in the layout properties
16455 // The duration of the animations is controlled by
16456 // clutter_table_layout_set_easing_duration(); the easing mode to be used
16457 // by the animations is controlled by clutter_table_layout_set_easing_mode()
16458 // <animate>: %TRUE if the @layout should use animations
16459 void set_use_animations()(int animate
) {
16460 clutter_table_layout_set_use_animations(&this, animate
);
16465 // The #ClutterTableLayoutClass structure contains only private
16466 // data and should be accessed using the provided API
16467 struct TableLayoutClass
/* Version 1.4 */ {
16468 private LayoutManagerClass parent_class
;
16471 struct TableLayoutPrivate
{
16474 enum int Tabovedot
= 16785002;
16475 enum int TaskPane
= 269025151;
16476 enum int Tcaron
= 427;
16477 enum int Tcedilla
= 478;
16478 enum int Terminal
= 269025152;
16479 enum int Terminate_Server
= 65237;
16480 // The #ClutterText struct contains only private data.
16481 struct Text
/* : Actor */ /* Version 1.0 */ {
16482 mixin Atk
.ImplementorIface
.__interface__
;
16483 mixin Animatable
.__interface__
;
16484 mixin Scriptable
.__interface__
;
16485 alias parent_instance
this;
16486 alias parent_instance super_
;
16487 alias parent_instance actor
;
16488 Actor parent_instance
;
16489 private TextPrivate
* priv
;
16493 // Creates a new #ClutterText actor. This actor can be used to
16494 // display and edit text.
16495 // RETURNS: the newly created #ClutterText actor
16496 static Text
* new_()() {
16497 return clutter_text_new();
16501 // Creates a new #ClutterText actor, using @font_name as the font
16502 // description; @text will be used to set the contents of the actor;
16503 // and @color will be used as the color to render @text.
16505 // This function is equivalent to calling clutter_text_new(),
16506 // clutter_text_set_font_name(), clutter_text_set_text() and
16507 // clutter_text_set_color().
16508 // RETURNS: the newly created #ClutterText actor
16509 // <font_name>: a string with a font description
16510 // <text>: the contents of the actor
16511 // <color>: the color to be used to render @text
16512 static Text
* new_full()(char* font_name
, char* text
, Color
* color
) {
16513 return clutter_text_new_full(font_name
, text
, color
);
16517 // Creates a new #ClutterText actor, using @font_name as the font
16518 // description; @text will be used to set the contents of the actor.
16520 // This function is equivalent to calling clutter_text_new(),
16521 // clutter_text_set_font_name(), and clutter_text_set_text().
16522 // RETURNS: the newly created #ClutterText actor
16523 // <font_name>: a string with a font description
16524 // <text>: the contents of the actor
16525 static Text
* new_with_text()(char* font_name
, char* text
) {
16526 return clutter_text_new_with_text(font_name
, text
);
16530 // Emits the #ClutterText::activate signal, if @self has been set
16531 // as activatable using clutter_text_set_activatable().
16533 // This function can be used to emit the ::activate signal inside
16534 // a #ClutterActor::captured-event or #ClutterActor::key-press-event
16535 // signal handlers before the default signal handler for the
16536 // #ClutterText is invoked.
16538 // and %FALSE otherwise
16539 // RETURNS: %TRUE if the ::activate signal has been emitted,
16541 return clutter_text_activate(&this);
16545 // Deletes @n_chars inside a #ClutterText actor, starting from the
16546 // current cursor position.
16547 // <n_chars>: the number of characters to delete
16548 void delete_chars()(uint n_chars
) {
16549 clutter_text_delete_chars(&this, n_chars
);
16553 // Deletes the currently selected text
16555 // This function is only useful in subclasses of #ClutterText
16557 // is empty, and %FALSE otherwise
16558 // RETURNS: %TRUE if text was deleted or if the text actor
16559 int delete_selection()() {
16560 return clutter_text_delete_selection(&this);
16564 // Deletes the text inside a #ClutterText actor between @start_pos
16567 // The starting and ending positions are expressed in characters,
16569 // <start_pos>: starting position
16570 // <end_pos>: ending position
16571 void delete_text()(ssize_t start_pos
, ssize_t end_pos
) {
16572 clutter_text_delete_text(&this, start_pos
, end_pos
);
16576 // Retrieves whether a #ClutterText is activatable or not.
16577 // RETURNS: %TRUE if the actor is activatable
16578 int get_activatable()() {
16579 return clutter_text_get_activatable(&this);
16583 // Gets the attribute list that was set on the #ClutterText actor
16584 // clutter_text_set_attributes(), if any.
16586 // returned value is owned by the #ClutterText and should not be unreferenced.
16587 // RETURNS: the attribute list, or %NULL if none was set. The
16588 Pango
.AttrList
* get_attributes()() {
16589 return clutter_text_get_attributes(&this);
16593 // Retrieves the contents of the #ClutterText actor between
16594 // @start_pos and @end_pos, but not including @end_pos.
16596 // The positions are specified in characters, not in bytes.
16598 // the text actor between the specified positions. Use g_free()
16599 // to free the resources when done
16600 // RETURNS: a newly allocated string with the contents of
16601 // <start_pos>: start of text, in characters
16602 // <end_pos>: end of text, in characters
16603 char* /*new*/ get_chars()(ssize_t start_pos
, ssize_t end_pos
) {
16604 return clutter_text_get_chars(&this, start_pos
, end_pos
);
16608 // Retrieves the text color as set by clutter_text_set_color().
16609 // <color>: return location for a #ClutterColor
16610 void get_color()(/*out*/ Color
* color
) {
16611 clutter_text_get_color(&this, color
);
16615 // Retrieves the color of the cursor of a #ClutterText actor.
16616 // <color>: return location for a #ClutterColor
16617 void get_cursor_color()(/*out*/ Color
* color
) {
16618 clutter_text_get_cursor_color(&this, color
);
16622 // Retrieves the cursor position.
16623 // RETURNS: the cursor position, in characters
16624 int get_cursor_position()() {
16625 return clutter_text_get_cursor_position(&this);
16629 // Retrieves the size of the cursor of a #ClutterText actor.
16630 // RETURNS: the size of the cursor, in pixels
16631 uint get_cursor_size()() {
16632 return clutter_text_get_cursor_size(&this);
16636 // Retrieves whether the cursor of a #ClutterText actor is visible.
16637 // RETURNS: %TRUE if the cursor is visible
16638 int get_cursor_visible()() {
16639 return clutter_text_get_cursor_visible(&this);
16643 // Retrieves whether a #ClutterText is editable or not.
16644 // RETURNS: %TRUE if the actor is editable
16645 int get_editable()() {
16646 return clutter_text_get_editable(&this);
16650 // Returns the ellipsizing position of a #ClutterText actor, as
16651 // set by clutter_text_set_ellipsize().
16652 // RETURNS: #PangoEllipsizeMode
16653 Pango
.EllipsizeMode
get_ellipsize()() {
16654 return clutter_text_get_ellipsize(&this);
16658 // Retrieves the #PangoFontDescription used by @self
16660 // by the #ClutterText actor and it should not be modified or freed
16661 // RETURNS: a #PangoFontDescription. The returned value is owned
16662 Pango
.FontDescription
* /*new*/ get_font_description()() {
16663 return clutter_text_get_font_description(&this);
16667 // Retrieves the font name as set by clutter_text_set_font_name().
16669 // string is owned by the #ClutterText actor and should not be
16670 // modified or freed
16671 // RETURNS: a string containing the font name. The returned
16672 char* get_font_name()() {
16673 return clutter_text_get_font_name(&this);
16677 // Retrieves whether the #ClutterText actor should justify its contents
16678 // on both margins.
16679 // RETURNS: %TRUE if the text should be justified
16680 int get_justify()() {
16681 return clutter_text_get_justify(&this);
16685 // Retrieves the current #PangoLayout used by a #ClutterText actor.
16687 // the #ClutterText actor and should not be modified or freed
16688 // RETURNS: a #PangoLayout. The returned object is owned by
16689 Pango
.Layout
* get_layout()() {
16690 return clutter_text_get_layout(&this);
16694 // Obtains the coordinates where the #ClutterText will draw the #PangoLayout
16695 // representing the text.
16696 // <x>: location to store X offset of layout, or %NULL
16697 // <y>: location to store Y offset of layout, or %NULL
16698 void get_layout_offsets()(/*out*/ int* x
, /*out*/ int* y
) {
16699 clutter_text_get_layout_offsets(&this, x
, y
);
16703 // Retrieves the alignment of a #ClutterText, as set by
16704 // clutter_text_set_line_alignment().
16705 // RETURNS: a #PangoAlignment
16706 Pango
.Alignment
get_line_alignment()() {
16707 return clutter_text_get_line_alignment(&this);
16711 // Retrieves the value set using clutter_text_set_line_wrap().
16714 // RETURNS: %TRUE if the #ClutterText actor should wrap
16715 int get_line_wrap()() {
16716 return clutter_text_get_line_wrap(&this);
16720 // Retrieves the line wrap mode used by the #ClutterText actor.
16722 // See clutter_text_set_line_wrap_mode ().
16723 // RETURNS: the wrap mode used by the #ClutterText
16724 Pango
.WrapMode
get_line_wrap_mode()() {
16725 return clutter_text_get_line_wrap_mode(&this);
16729 // Gets the maximum length of text that can be set into a text actor.
16731 // See clutter_text_set_max_length().
16732 // RETURNS: the maximum number of characters.
16733 int get_max_length()() {
16734 return clutter_text_get_max_length(&this);
16738 // Retrieves the character to use in place of the actual text
16739 // as set by clutter_text_set_password_char().
16741 // character is not set
16742 // RETURNS: a Unicode character or 0 if the password
16743 dchar get_password_char()() {
16744 return clutter_text_get_password_char(&this);
16748 // Retrieves whether a #ClutterText is selectable or not.
16749 // RETURNS: %TRUE if the actor is selectable
16750 int get_selectable()() {
16751 return clutter_text_get_selectable(&this);
16755 // Retrieves the color of selected text of a #ClutterText actor.
16756 // <color>: return location for a #ClutterColor
16757 void get_selected_text_color()(/*out*/ Color
* color
) {
16758 clutter_text_get_selected_text_color(&this, color
);
16762 // Retrieves the currently selected text.
16764 // selected text, or %NULL. Use g_free() to free the returned
16766 // RETURNS: a newly allocated string containing the currently
16767 char* /*new*/ get_selection()() {
16768 return clutter_text_get_selection(&this);
16772 // Retrieves the other end of the selection of a #ClutterText actor,
16773 // in characters from the current cursor position.
16774 // RETURNS: the position of the other end of the selection
16775 int get_selection_bound()() {
16776 return clutter_text_get_selection_bound(&this);
16780 // Retrieves the color of the selection of a #ClutterText actor.
16781 // <color>: return location for a #ClutterColor
16782 void get_selection_color()(/*out*/ Color
* color
) {
16783 clutter_text_get_selection_color(&this, color
);
16787 // Retrieves whether the #ClutterText actor is in single line mode.
16788 // RETURNS: %TRUE if the #ClutterText actor is in single line mode
16789 int get_single_line_mode()() {
16790 return clutter_text_get_single_line_mode(&this);
16794 // Retrieves a pointer to the current contents of a #ClutterText
16797 // If you need a copy of the contents for manipulating, either
16798 // use g_strdup() on the returned string, or use:
16801 // copy = clutter_text_get_chars (text, 0, -1);
16804 // Which will return a newly allocated string.
16806 // If the #ClutterText actor is empty, this function will return
16807 // an empty string, and not %NULL.
16809 // string is owned by the #ClutterText actor and should never be modified
16811 // RETURNS: the contents of the actor. The returned
16812 char* get_text()() {
16813 return clutter_text_get_text(&this);
16817 // Retrieves whether the contents of the #ClutterText actor should be
16818 // parsed for the Pango text markup.
16819 // RETURNS: %TRUE if the contents will be parsed for markup
16820 int get_use_markup()() {
16821 return clutter_text_get_use_markup(&this);
16825 // Inserts @text into a #ClutterActor at the given position.
16827 // If @position is a negative number, the text will be appended
16828 // at the end of the current contents of the #ClutterText.
16830 // The position is expressed in characters, not in bytes.
16831 // <text>: the text to be inserted
16832 // <position>: the position of the insertion, or -1
16833 void insert_text()(char* text
, ssize_t position
) {
16834 clutter_text_insert_text(&this, text
, position
);
16838 // Inserts @wc at the current cursor position of a
16839 // #ClutterText actor.
16840 // <wc>: a Unicode character
16841 void insert_unichar()(dchar wc
) {
16842 clutter_text_insert_unichar(&this, wc
);
16846 // Retrieves the coordinates of the given @position.
16847 // RETURNS: %TRUE if the conversion was successful
16848 // <position>: position in characters
16849 // <x>: return location for the X coordinate, or %NULL
16850 // <y>: return location for the Y coordinate, or %NULL
16851 // <line_height>: return location for the line height, or %NULL
16852 int position_to_coords()(int position
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* line_height
) {
16853 return clutter_text_position_to_coords(&this, position
, x
, y
, line_height
);
16857 // Sets whether a #ClutterText actor should be activatable.
16859 // An activatable #ClutterText actor will emit the #ClutterText::activate
16860 // signal whenever the 'Enter' (or 'Return') key is pressed; if it is not
16861 // activatable, a new line will be appended to the current content.
16863 // An activatable #ClutterText must also be set as editable using
16864 // clutter_text_set_editable().
16865 // <activatable>: whether the #ClutterText actor should be activatable
16866 void set_activatable()(int activatable
) {
16867 clutter_text_set_activatable(&this, activatable
);
16871 // Sets the attributes list that are going to be applied to the
16872 // #ClutterText contents.
16874 // The #ClutterText actor will take a reference on the #PangoAttrList
16875 // passed to this function.
16876 // <attrs>: a #PangoAttrList or %NULL to unset the attributes
16877 void set_attributes()(Pango
.AttrList
* attrs
) {
16878 clutter_text_set_attributes(&this, attrs
);
16882 // Sets the color of the contents of a #ClutterText actor.
16884 // The overall opacity of the #ClutterText actor will be the
16885 // result of the alpha value of @color and the composited
16886 // opacity of the actor itself on the scenegraph, as returned
16887 // by clutter_actor_get_paint_opacity().
16888 // <color>: a #ClutterColor
16889 void set_color()(Color
* color
) {
16890 clutter_text_set_color(&this, color
);
16894 // Sets the color of the cursor of a #ClutterText actor.
16896 // If @color is %NULL, the cursor color will be the same as the
16898 // <color>: the color of the cursor, or %NULL to unset it
16899 void set_cursor_color()(Color
* color
) {
16900 clutter_text_set_cursor_color(&this, color
);
16904 // Sets the cursor of a #ClutterText actor at @position.
16906 // The position is expressed in characters, not in bytes.
16907 // <position>: the new cursor position, in characters
16908 void set_cursor_position()(int position
) {
16909 clutter_text_set_cursor_position(&this, position
);
16913 // Sets the size of the cursor of a #ClutterText. The cursor
16914 // will only be visible if the #ClutterText:cursor-visible property
16915 // is set to %TRUE.
16916 // <size>: the size of the cursor, in pixels, or -1 to use the default value
16917 void set_cursor_size()(int size
) {
16918 clutter_text_set_cursor_size(&this, size
);
16922 // Sets whether the cursor of a #ClutterText actor should be
16925 // The color of the cursor will be the same as the text color
16926 // unless clutter_text_set_cursor_color() has been called.
16928 // The size of the cursor can be set using clutter_text_set_cursor_size().
16930 // The position of the cursor can be changed programmatically using
16931 // clutter_text_set_cursor_position().
16932 // <cursor_visible>: whether the cursor should be visible
16933 void set_cursor_visible()(int cursor_visible
) {
16934 clutter_text_set_cursor_visible(&this, cursor_visible
);
16938 // Sets whether the #ClutterText actor should be editable.
16940 // An editable #ClutterText with key focus set using
16941 // clutter_actor_grab_key_focus() or clutter_stage_set_key_focus()
16942 // will receive key events and will update its contents accordingly.
16943 // <editable>: whether the #ClutterText should be editable
16944 void set_editable()(int editable
) {
16945 clutter_text_set_editable(&this, editable
);
16949 // Sets the mode used to ellipsize (add an ellipsis: "...") to the
16950 // text if there is not enough space to render the entire contents
16951 // of a #ClutterText actor
16952 // <mode>: a #PangoEllipsizeMode
16953 void set_ellipsize()(Pango
.EllipsizeMode mode
) {
16954 clutter_text_set_ellipsize(&this, mode
);
16958 // Sets @font_desc as the font description for a #ClutterText
16960 // The #PangoFontDescription is copied by the #ClutterText actor
16961 // so you can safely call pango_font_description_free() on it after
16962 // calling this function.
16963 // <font_desc>: a #PangoFontDescription
16964 void set_font_description()(Pango
.FontDescription
* font_desc
) {
16965 clutter_text_set_font_description(&this, font_desc
);
16969 // Sets the font used by a #ClutterText. The @font_name string
16970 // must either be %NULL, which means that the font name from the
16971 // default #ClutterBackend will be used; or be something that can
16972 // be parsed by the pango_font_description_from_string() function,
16976 // clutter_text_set_font_name (text, "Sans 10pt");
16977 // clutter_text_set_font_name (text, "Serif 16px");
16978 // clutter_text_set_font_name (text, "Helvetica 10");
16980 // <font_name>: a font name, or %NULL to set the default font name
16981 void set_font_name()(char* font_name
=null) {
16982 clutter_text_set_font_name(&this, font_name
);
16986 // Sets whether the text of the #ClutterText actor should be justified
16987 // on both margins. This setting is ignored if Clutter is compiled
16988 // against Pango < 1.18.
16989 // <justify>: whether the text should be justified
16990 void set_justify()(int justify
) {
16991 clutter_text_set_justify(&this, justify
);
16995 // Sets the way that the lines of a wrapped label are aligned with
16996 // respect to each other. This does not affect the overall alignment
16997 // of the label within its allocated or specified width.
16999 // To align a #ClutterText actor you should add it to a container
17000 // that supports alignment, or use the anchor point.
17001 // <alignment>: A #PangoAlignment
17002 void set_line_alignment()(Pango
.Alignment alignment
) {
17003 clutter_text_set_line_alignment(&this, alignment
);
17007 // Sets whether the contents of a #ClutterText actor should wrap,
17008 // if they don't fit the size assigned to the actor.
17009 // <line_wrap>: whether the contents should wrap
17010 void set_line_wrap()(int line_wrap
) {
17011 clutter_text_set_line_wrap(&this, line_wrap
);
17015 // If line wrapping is enabled (see clutter_text_set_line_wrap()) this
17016 // function controls how the line wrapping is performed. The default is
17017 // %PANGO_WRAP_WORD which means wrap on word boundaries.
17018 // <wrap_mode>: the line wrapping mode
17019 void set_line_wrap_mode()(Pango
.WrapMode wrap_mode
) {
17020 clutter_text_set_line_wrap_mode(&this, wrap_mode
);
17024 // Sets @markup as the contents of a #ClutterText.
17026 // This is a convenience function for setting a string containing
17027 // Pango markup, and it is logically equivalent to:
17030 // /* the order is important */
17031 // clutter_text_set_text (CLUTTER_TEXT (actor), markup);
17032 // clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
17034 // <markup>: a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string)
17035 void set_markup()(char* markup
) {
17036 clutter_text_set_markup(&this, markup
);
17040 // Sets the maximum allowed length of the contents of the actor. If the
17041 // current contents are longer than the given length, then they will be
17042 // truncated to fit.
17043 // <max>: the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string
17044 void set_max_length()(int max
) {
17045 clutter_text_set_max_length(&this, max
);
17049 // Sets the character to use in place of the actual text in a
17050 // password text actor.
17052 // If @wc is 0 the text will be displayed as it is entered in the
17053 // #ClutterText actor.
17054 // <wc>: a Unicode character, or 0 to unset the password character
17055 void set_password_char()(dchar wc
) {
17056 clutter_text_set_password_char(&this, wc
);
17060 // Sets, or unsets, the pre-edit string. This function is useful
17061 // for input methods to display a string (with eventual specific
17062 // Pango attributes) before it is entered inside the #ClutterText
17065 // The preedit string and attributes are ignored if the #ClutterText
17066 // actor is not editable.
17068 // This function should not be used by applications
17069 // <preedit_str>: the pre-edit string, or %NULL to unset it
17070 // <preedit_attrs>: the pre-edit string attributes
17071 // <cursor_pos>: the cursor position for the pre-edit string
17072 void set_preedit_string()(char* preedit_str
, Pango
.AttrList
* preedit_attrs
, uint cursor_pos
) {
17073 clutter_text_set_preedit_string(&this, preedit_str
, preedit_attrs
, cursor_pos
);
17077 // Sets whether a #ClutterText actor should be selectable.
17079 // A selectable #ClutterText will allow selecting its contents using
17080 // the pointer or the keyboard.
17081 // <selectable>: whether the #ClutterText actor should be selectable
17082 void set_selectable()(int selectable
) {
17083 clutter_text_set_selectable(&this, selectable
);
17087 // Sets the selected text color of a #ClutterText actor.
17089 // If @color is %NULL, the selected text color will be the same as the
17090 // selection color, which then falls back to cursor, and then text color.
17091 // <color>: the selected text color, or %NULL to unset it
17092 void set_selected_text_color()(Color
* color
) {
17093 clutter_text_set_selected_text_color(&this, color
);
17097 // Selects the region of text between @start_pos and @end_pos.
17099 // This function changes the position of the cursor to match
17100 // @start_pos and the selection bound to match @end_pos.
17101 // <start_pos>: start of the selection, in characters
17102 // <end_pos>: end of the selection, in characters
17103 void set_selection()(ssize_t start_pos
, ssize_t end_pos
) {
17104 clutter_text_set_selection(&this, start_pos
, end_pos
);
17108 // Sets the other end of the selection, starting from the current
17109 // cursor position.
17111 // If @selection_bound is -1, the selection unset.
17112 // <selection_bound>: the position of the end of the selection, in characters
17113 void set_selection_bound()(int selection_bound
) {
17114 clutter_text_set_selection_bound(&this, selection_bound
);
17118 // Sets the color of the selection of a #ClutterText actor.
17120 // If @color is %NULL, the selection color will be the same as the
17121 // cursor color, or if no cursor color is set either then it will be
17122 // the same as the text color.
17123 // <color>: the color of the selection, or %NULL to unset it
17124 void set_selection_color()(Color
* color
) {
17125 clutter_text_set_selection_color(&this, color
);
17129 // Sets whether a #ClutterText actor should be in single line mode
17130 // or not. Only editable #ClutterText<!-- -->s can be in single line
17133 // A text actor in single line mode will not wrap text and will clip
17134 // the visible area to the predefined size. The contents of the
17135 // text actor will scroll to display the end of the text if its length
17136 // is bigger than the allocated width.
17138 // When setting the single line mode the #ClutterText:activatable
17139 // property is also set as a side effect. Instead of entering a new
17140 // line character, the text actor will emit the #ClutterText::activate
17142 // <single_line>: whether to enable single line mode
17143 void set_single_line_mode()(int single_line
) {
17144 clutter_text_set_single_line_mode(&this, single_line
);
17148 // Sets the contents of a #ClutterText actor.
17150 // If the #ClutterText:use-markup property was set to %TRUE it
17151 // will be reset to %FALSE as a side effect. If you want to
17152 // maintain the #ClutterText:use-markup you should use the
17153 // clutter_text_set_markup() function instead
17154 // <text>: the text to set. Passing %NULL is the same as passing "" (the empty string)
17155 void set_text()(char* text
) {
17156 clutter_text_set_text(&this, text
);
17160 // Sets whether the contents of the #ClutterText actor contains markup
17161 // in <link linkend="PangoMarkupFormat">Pango's text markup language</link>.
17163 // Setting #ClutterText:use-markup on an editable #ClutterText will
17164 // not have any effect except hiding the markup.
17166 // See also #ClutterText:use-markup.
17167 // <setting>: %TRUE if the text should be parsed for markup.
17168 void set_use_markup()(int setting
) {
17169 clutter_text_set_use_markup(&this, setting
);
17173 // The ::activate signal is emitted each time the actor is 'activated'
17174 // by the user, normally by pressing the 'Enter' key. The signal is
17175 // emitted only if #ClutterText:activatable is set to %TRUE.
17176 extern (C
) alias static void function (Text
* this_
, void* user_data
=null) signal_activate
;
17178 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17179 return super_
.signal_connect
!name(cb
, data
, cf
);
17182 ulong signal_connect(string name
:"activate", CB
:signal_activate
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17183 return signal_connect_data
!()(&this, cast(char*)"activate",
17184 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17188 // The ::cursor-event signal is emitted whenever the cursor position
17189 // changes inside a #ClutterText actor. Inside @geometry it is stored
17190 // the current position and size of the cursor, relative to the actor
17192 // <geometry>: the coordinates of the cursor
17193 extern (C
) alias static void function (Text
* this_
, Geometry
* geometry
, void* user_data
=null) signal_cursor_event
;
17194 ulong signal_connect(string name
:"cursor-event", CB
:signal_cursor_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17195 return signal_connect_data
!()(&this, cast(char*)"cursor-event",
17196 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17200 // This signal is emitted when text is deleted from the actor by
17201 // the user. It is emitted before @self text changes.
17202 // <start_pos>: the starting position
17203 // <end_pos>: the end position
17204 extern (C
) alias static void function (Text
* this_
, int start_pos
, int end_pos
, void* user_data
=null) signal_delete_text
;
17205 ulong signal_connect(string name
:"delete-text", CB
:signal_delete_text
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17206 return signal_connect_data
!()(&this, cast(char*)"delete-text",
17207 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17211 // This signal is emitted when text is inserted into the actor by
17212 // the user. It is emitted before @self text changes.
17213 // <new_text>: the new text to insert
17214 // <new_text_length>: the length of the new text, in bytes, or -1 if new_text is nul-terminated
17215 // <position>: the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text.
17216 extern (C
) alias static void function (Text
* this_
, char* new_text
, int new_text_length
, void* position
, void* user_data
=null) signal_insert_text
;
17217 ulong signal_connect(string name
:"insert-text", CB
:signal_insert_text
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17218 return signal_connect_data
!()(&this, cast(char*)"insert-text",
17219 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17223 // The ::text-changed signal is emitted after @actor's text changes
17224 extern (C
) alias static void function (Text
* this_
, void* user_data
=null) signal_text_changed
;
17225 ulong signal_connect(string name
:"text-changed", CB
:signal_text_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17226 return signal_connect_data
!()(&this, cast(char*)"text-changed",
17227 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17231 // The #ClutterTextClass struct contains only private data.
17232 struct TextClass
/* Version 1.0 */ {
17233 private ActorClass parent_class
;
17234 extern (C
) void function (Text
* self
) text_changed
;
17235 extern (C
) void function (Text
* self
) activate
;
17236 extern (C
) void function (Text
* self
, Geometry
* geometry
) cursor_event
;
17237 extern (C
) void function () _clutter_reserved1
;
17238 extern (C
) void function () _clutter_reserved2
;
17239 extern (C
) void function () _clutter_reserved3
;
17240 extern (C
) void function () _clutter_reserved4
;
17241 extern (C
) void function () _clutter_reserved5
;
17242 extern (C
) void function () _clutter_reserved6
;
17243 extern (C
) void function () _clutter_reserved7
;
17244 extern (C
) void function () _clutter_reserved8
;
17247 // The text direction to be used by #ClutterActor<!-- -->s
17248 enum TextDirection
/* Version 1.2 */ {
17253 struct TextPrivate
{
17257 // The #ClutterTexture structure contains only private data
17258 // and should be accessed using the provided API
17259 struct Texture
/* : Actor */ /* Version 0.1 */ {
17260 mixin Atk
.ImplementorIface
.__interface__
;
17261 mixin Animatable
.__interface__
;
17262 mixin Scriptable
.__interface__
;
17264 alias parent super_
;
17265 alias parent actor
;
17267 private TexturePrivate
* priv
;
17270 // Creates a new empty #ClutterTexture object.
17271 // RETURNS: A newly created #ClutterTexture object.
17272 static Texture
* new_()() {
17273 return clutter_texture_new();
17277 // DEPRECATED (v1.8) constructor: new_from_actor - Use the #ClutterOffscreenEffect and #ClutterShaderEffect
17278 // Creates a new #ClutterTexture object with its source a prexisting
17279 // actor (and associated children). The textures content will contain
17280 // 'live' redirected output of the actors scene.
17282 // Note this function is intented as a utility call for uniformly applying
17283 // shaders to groups and other potential visual effects. It requires that
17284 // the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend
17285 // and the target system.
17287 // Some tips on usage:
17291 // <para>The source actor must be made visible (i.e by calling
17292 // #clutter_actor_show).</para>
17295 // <para>The source actor must have a parent in order for it to be
17296 // allocated a size from the layouting mechanism. If the source
17297 // actor does not have a parent when this function is called then
17298 // the ClutterTexture will adopt it and allocate it at its
17299 // preferred size. Using this you can clone an actor that is
17300 // otherwise not displayed. Because of this feature if you do
17301 // intend to display the source actor then you must make sure that
17302 // the actor is parented before calling
17303 // clutter_texture_new_from_actor() or that you unparent it before
17304 // adding it to a container.</para>
17307 // <para>When getting the image for the clone texture, Clutter
17308 // will attempt to render the source actor exactly as it would
17309 // appear if it was rendered on screen. The source actor's parent
17310 // transformations are taken into account. Therefore if your
17311 // source actor is rotated along the X or Y axes so that it has
17312 // some depth, the texture will appear differently depending on
17313 // the on-screen location of the source actor. While painting the
17314 // source actor, Clutter will set up a temporary asymmetric
17315 // perspective matrix as the projection matrix so that the source
17316 // actor will be projected as if a small section of the screen was
17317 // being viewed. Before version 0.8.2, an orthogonal identity
17318 // projection was used which meant that the source actor would be
17319 // clipped if any part of it was not on the zero Z-plane.</para>
17322 // <para>Avoid reparenting the source with the created texture.</para>
17325 // <para>A group can be padded with a transparent rectangle as to
17326 // provide a border to contents for shader output (blurring text
17327 // for example).</para>
17330 // <para>The texture will automatically resize to contain a further
17331 // transformed source. However, this involves overhead and can be
17332 // avoided by placing the source actor in a bounding group
17333 // sized large enough to contain any child tranformations.</para>
17336 // <para>Uploading pixel data to the texture (e.g by using
17337 // clutter_texture_set_from_file()) will destroy the offscreen texture
17338 // data and end redirection.</para>
17341 // <para>cogl_texture_get_data() with the handle returned by
17342 // clutter_texture_get_cogl_texture() can be used to read the
17343 // offscreen texture pixels into a pixbuf.</para>
17348 // directly on the intended #ClutterActor to replace the functionality of
17350 // RETURNS: A newly created #ClutterTexture object, or %NULL on failure.
17351 // <actor>: A source #ClutterActor
17352 static Texture
* new_from_actor()(Actor
* actor
) {
17353 return clutter_texture_new_from_actor(actor
);
17357 // Creates a new ClutterTexture actor to display the image contained a
17358 // file. If the image failed to load then NULL is returned and @error
17362 // RETURNS: A newly created #ClutterTexture object or NULL on
17363 // <filename>: The name of an image file to load.
17364 static Texture
* new_from_file()(char* filename
, GLib2
.Error
** error
=null) {
17365 return clutter_texture_new_from_file(filename
, error
);
17368 // Gets the size in pixels of the untransformed underlying image
17369 // <width>: return location for the width, or %NULL
17370 // <height>: return location for the height, or %NULL
17371 void get_base_size()(/*out*/ int* width
, /*out*/ int* height
) {
17372 clutter_texture_get_base_size(&this, width
, height
);
17376 // Returns a handle to the underlying COGL material used for drawing
17379 // material is owned by the #ClutterTexture and it should not be
17381 // RETURNS: a handle for a #CoglMaterial. The
17382 Cogl
.Handle
get_cogl_material()() {
17383 return clutter_texture_get_cogl_material(&this);
17387 // Retrieves the handle to the underlying COGL texture used for drawing
17388 // the actor. No extra reference is taken so if you need to keep the
17389 // handle then you should call cogl_handle_ref() on it.
17391 // The texture handle returned is the first layer of the material
17392 // handle used by the #ClutterTexture. If you need to access the other
17393 // layers you should use clutter_texture_get_cogl_material() instead
17394 // and use the #CoglMaterial API.
17396 // handle is owned by the #ClutterTexture and it should not be unreferenced
17397 // RETURNS: a #CoglHandle for the texture. The returned
17398 Cogl
.Handle
get_cogl_texture()() {
17399 return clutter_texture_get_cogl_texture(&this);
17403 // Gets the filter quality used when scaling a texture.
17404 // RETURNS: The filter quality value.
17405 TextureQuality
get_filter_quality()() {
17406 return clutter_texture_get_filter_quality(&this);
17410 // Retrieves the value set using clutter_texture_set_keep_aspect_ratio()
17412 // aspect ratio of the underlying image
17413 // RETURNS: %TRUE if the #ClutterTexture should maintain the
17414 int get_keep_aspect_ratio()() {
17415 return clutter_texture_get_keep_aspect_ratio(&this);
17419 // Retrieves the value set using clutter_texture_set_load_async()
17421 // disk asynchronously
17422 // RETURNS: %TRUE if the #ClutterTexture should load the data from
17423 int get_load_async()() {
17424 return clutter_texture_get_load_async(&this);
17428 // Retrieves the value set by clutter_texture_set_load_data_async()
17430 // data from a file asynchronously
17431 // RETURNS: %TRUE if the #ClutterTexture should load the image
17432 int get_load_data_async()() {
17433 return clutter_texture_get_load_data_async(&this);
17437 // Gets the maximum waste that will be used when creating a texture or
17438 // -1 if slicing is disabled.
17441 // RETURNS: The maximum waste or -1 if the texture waste is
17442 int get_max_tile_waste()() {
17443 return clutter_texture_get_max_tile_waste(&this);
17447 // Retrieves the value set by clutter_texture_set_load_data_async()
17449 // using the alpha channel when picking.
17450 // RETURNS: %TRUE if the #ClutterTexture should define its shape
17451 int get_pick_with_alpha()() {
17452 return clutter_texture_get_pick_with_alpha(&this);
17456 // Retrieves the pixel format used by @texture. This is
17460 // handle = clutter_texture_get_pixel_format (texture);
17462 // if (handle != COGL_INVALID_HANDLE)
17463 // format = cogl_texture_get_format (handle);
17465 // RETURNS: a #CoglPixelFormat value
17466 Cogl
.PixelFormat
get_pixel_format()() {
17467 return clutter_texture_get_pixel_format(&this);
17471 // Retrieves the horizontal and vertical repeat values set
17472 // using clutter_texture_set_repeat()
17473 // <repeat_x>: return location for the horizontal repeat
17474 // <repeat_y>: return location for the vertical repeat
17475 void get_repeat()(/*out*/ int* repeat_x
, /*out*/ int* repeat_y
) {
17476 clutter_texture_get_repeat(&this, repeat_x
, repeat_y
);
17480 // Retrieves the value set with clutter_texture_set_sync_size()
17482 // preferred size of the underlying image data
17483 // RETURNS: %TRUE if the #ClutterTexture should have the same
17484 int get_sync_size()() {
17485 return clutter_texture_get_sync_size(&this);
17489 // Updates a sub-region of the pixel data in a #ClutterTexture.
17490 // RETURNS: %TRUE on success, %FALSE on failure.
17491 // <data>: Image data in RGB type colorspace.
17492 // <has_alpha>: Set to TRUE if image data has an alpha channel.
17493 // <x>: X coordinate of upper left corner of region to update.
17494 // <y>: Y coordinate of upper left corner of region to update.
17495 // <width>: Width in pixels of region to update.
17496 // <height>: Height in pixels of region to update.
17497 // <rowstride>: Distance in bytes between row starts on source buffer.
17498 // <bpp>: bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
17499 // <flags>: #ClutterTextureFlags
17500 int set_area_from_rgb_data()(ubyte* data
, int has_alpha
, int x
, int y
, int width
, int height
, int rowstride
, int bpp
, TextureFlags flags
, GLib2
.Error
** error
=null) {
17501 return clutter_texture_set_area_from_rgb_data(&this, data
, has_alpha
, x
, y
, width
, height
, rowstride
, bpp
, flags
, error
);
17505 // Replaces the underlying Cogl material drawn by this actor with
17506 // @cogl_material. A reference to the material is taken so if the
17507 // handle is no longer needed it should be deref'd with
17508 // cogl_handle_unref. Texture data is attached to the material so
17509 // calling this function also replaces the Cogl
17510 // texture. #ClutterTexture requires that the material have a texture
17511 // layer so you should set one on the material before calling this
17513 // <cogl_material>: A CoglHandle for a material
17514 void set_cogl_material()(Cogl
.Handle cogl_material
) {
17515 clutter_texture_set_cogl_material(&this, cogl_material
);
17519 // Replaces the underlying COGL texture drawn by this actor with
17520 // @cogl_tex. A reference to the texture is taken so if the handle is
17521 // no longer needed it should be deref'd with cogl_handle_unref.
17522 // <cogl_tex>: A CoglHandle for a texture
17523 void set_cogl_texture()(Cogl
.Handle cogl_tex
) {
17524 clutter_texture_set_cogl_texture(&this, cogl_tex
);
17528 // Sets the filter quality when scaling a texture. The quality is an
17529 // enumeration currently the following values are supported:
17530 // %CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour
17531 // interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a
17532 // bit more expensive (bilinear interpolation), and
17533 // %CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to
17534 // improve scaled down rendering as well (by using mipmaps). The default value
17535 // is %CLUTTER_TEXTURE_QUALITY_MEDIUM.
17536 // <filter_quality>: new filter quality value
17537 void set_filter_quality()(TextureQuality filter_quality
) {
17538 clutter_texture_set_filter_quality(&this, filter_quality
);
17542 // Sets the #ClutterTexture image data from an image file. In case of
17543 // failure, %FALSE is returned and @error is set.
17545 // If #ClutterTexture:load-async is set to %TRUE, this function
17546 // will return as soon as possible, and the actual image loading
17547 // from disk will be performed asynchronously. #ClutterTexture::size-change
17548 // will be emitten when the size of the texture is available and
17549 // #ClutterTexture::load-finished will be emitted when the image has been
17550 // loaded or if an error occurred.
17551 // RETURNS: %TRUE if the image was successfully loaded and set
17552 // <filename>: The filename of the image in GLib file name encoding
17553 int set_from_file()(char* filename
, GLib2
.Error
** error
=null) {
17554 return clutter_texture_set_from_file(&this, filename
, error
);
17558 // Sets #ClutterTexture image data.
17559 // RETURNS: %TRUE on success, %FALSE on failure.
17560 // <data>: Image data in RGBA type colorspace.
17561 // <has_alpha>: Set to TRUE if image data has an alpha channel.
17562 // <width>: Width in pixels of image data.
17563 // <height>: Height in pixels of image data
17564 // <rowstride>: Distance in bytes between row starts.
17565 // <bpp>: bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
17566 // <flags>: #ClutterTextureFlags
17567 int set_from_rgb_data()(ubyte* data
, int has_alpha
, int width
, int height
, int rowstride
, int bpp
, TextureFlags flags
, GLib2
.Error
** error
=null) {
17568 return clutter_texture_set_from_rgb_data(&this, data
, has_alpha
, width
, height
, rowstride
, bpp
, flags
, error
);
17572 // Sets a #ClutterTexture from YUV image data. If an error occurred,
17573 // %FALSE is returned and @error is set.
17574 // RETURNS: %TRUE if the texture was successfully updated
17575 // <data>: Image data in YUV type colorspace.
17576 // <width>: Width in pixels of image data.
17577 // <height>: Height in pixels of image data
17578 // <flags>: #ClutterTextureFlags
17579 int set_from_yuv_data()(ubyte* data
, int width
, int height
, TextureFlags flags
, GLib2
.Error
** error
=null) {
17580 return clutter_texture_set_from_yuv_data(&this, data
, width
, height
, flags
, error
);
17584 // Sets whether @texture should have a preferred size maintaining
17585 // the aspect ratio of the underlying image
17586 // <keep_aspect>: %TRUE to maintain aspect ratio
17587 void set_keep_aspect_ratio()(int keep_aspect
) {
17588 clutter_texture_set_keep_aspect_ratio(&this, keep_aspect
);
17592 // Sets whether @texture should use a worker thread to load the data
17593 // from disk asynchronously. Setting @load_async to %TRUE will make
17594 // clutter_texture_set_from_file() return immediately.
17596 // See the #ClutterTexture:load-async property documentation, and
17597 // clutter_texture_set_load_data_async().
17598 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
17599 void set_load_async()(int load_async
) {
17600 clutter_texture_set_load_async(&this, load_async
);
17604 // Sets whether @texture should use a worker thread to load the data
17605 // from disk asynchronously. Setting @load_async to %TRUE will make
17606 // clutter_texture_set_from_file() block until the #ClutterTexture has
17607 // determined the width and height of the image data.
17609 // See the #ClutterTexture:load-async property documentation, and
17610 // clutter_texture_set_load_async().
17611 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
17612 void set_load_data_async()(int load_async
) {
17613 clutter_texture_set_load_data_async(&this, load_async
);
17617 // Sets whether @texture should have it's shape defined by the alpha
17618 // channel when picking.
17620 // Be aware that this is a bit more costly than the default picking
17621 // due to the texture lookup, extra test against the alpha value and
17622 // the fact that it will also interrupt the batching of geometry done
17625 // Also there is currently no control over the threshold used to
17626 // determine what value of alpha is considered pickable, and so only
17627 // fully opaque parts of the texture will react to picking.
17628 // <pick_with_alpha>: %TRUE if the alpha channel should affect the picking shape
17629 void set_pick_with_alpha()(int pick_with_alpha
) {
17630 clutter_texture_set_pick_with_alpha(&this, pick_with_alpha
);
17634 // Sets whether the @texture should repeat horizontally or
17635 // vertically when the actor size is bigger than the image size
17636 // <repeat_x>: %TRUE if the texture should repeat horizontally
17637 // <repeat_y>: %TRUE if the texture should repeat vertically
17638 void set_repeat()(int repeat_x
, int repeat_y
) {
17639 clutter_texture_set_repeat(&this, repeat_x
, repeat_y
);
17643 // Sets whether @texture should have the same preferred size as the
17644 // underlying image data.
17645 // <sync_size>: %TRUE if the texture should have the same size of the underlying image data
17646 void set_sync_size()(int sync_size
) {
17647 clutter_texture_set_sync_size(&this, sync_size
);
17651 // The ::load-finished signal is emitted when a texture load has
17652 // completed. If there was an error during loading, @error will
17653 // be set, otherwise it will be %NULL
17654 // <error>: A set error, or %NULL
17655 extern (C
) alias static void function (Texture
* this_
, GLib2
.Error
* error
, void* user_data
=null) signal_load_finished
;
17657 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17658 return super_
.signal_connect
!name(cb
, data
, cf
);
17661 ulong signal_connect(string name
:"load-finished", CB
:signal_load_finished
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17662 return signal_connect_data
!()(&this, cast(char*)"load-finished",
17663 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17666 // The ::pixbuf-change signal is emitted each time the pixbuf
17667 // used by @texture changes.
17668 extern (C
) alias static void function (Texture
* this_
, void* user_data
=null) signal_pixbuf_change
;
17669 ulong signal_connect(string name
:"pixbuf-change", CB
:signal_pixbuf_change
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17670 return signal_connect_data
!()(&this, cast(char*)"pixbuf-change",
17671 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17674 // The ::size-change signal is emitted each time the size of the
17675 // pixbuf used by @texture changes. The new size is given as
17676 // argument to the callback.
17677 // <width>: the width of the new texture
17678 // <height>: the height of the new texture
17679 extern (C
) alias static void function (Texture
* this_
, int width
, int height
, void* user_data
=null) signal_size_change
;
17680 ulong signal_connect(string name
:"size-change", CB
:signal_size_change
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17681 return signal_connect_data
!()(&this, cast(char*)"size-change",
17682 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17686 // The #ClutterTextureClass structure contains only private data
17687 struct TextureClass
/* Version 0.1 */ {
17688 private ActorClass parent_class
;
17689 extern (C
) void function (Texture
* texture
, int width
, int height
) size_change
;
17690 extern (C
) void function (Texture
* texture
) pixbuf_change
;
17691 extern (C
) void function (Texture
* texture
, GLib2
.Error
* error
) load_finished
;
17692 extern (C
) void function () _clutter_texture1
;
17693 extern (C
) void function () _clutter_texture2
;
17694 extern (C
) void function () _clutter_texture3
;
17695 extern (C
) void function () _clutter_texture4
;
17696 extern (C
) void function () _clutter_texture5
;
17699 // Error enumeration for #ClutterTexture
17700 enum TextureError
/* Version 0.4 */ {
17706 // Flags for clutter_texture_set_from_rgb_data() and
17707 // clutter_texture_set_from_yuv_data().
17708 enum TextureFlags
/* Version 0.4 */ {
17711 RGB_FLAG_PREMULT
= 4,
17714 struct TexturePrivate
{
17717 // Enumaration controlling the texture quality.
17718 enum TextureQuality
/* Version 0.8 */ {
17723 enum int Thai_baht
= 3551;
17724 enum int Thai_bobaimai
= 3514;
17725 enum int Thai_chochan
= 3496;
17726 enum int Thai_chochang
= 3498;
17727 enum int Thai_choching
= 3497;
17728 enum int Thai_chochoe
= 3500;
17729 enum int Thai_dochada
= 3502;
17730 enum int Thai_dodek
= 3508;
17731 enum int Thai_fofa
= 3517;
17732 enum int Thai_fofan
= 3519;
17733 enum int Thai_hohip
= 3531;
17734 enum int Thai_honokhuk
= 3534;
17735 enum int Thai_khokhai
= 3490;
17736 enum int Thai_khokhon
= 3493;
17737 enum int Thai_khokhuat
= 3491;
17738 enum int Thai_khokhwai
= 3492;
17739 enum int Thai_khorakhang
= 3494;
17740 enum int Thai_kokai
= 3489;
17741 enum int Thai_lakkhangyao
= 3557;
17742 enum int Thai_lekchet
= 3575;
17743 enum int Thai_lekha
= 3573;
17744 enum int Thai_lekhok
= 3574;
17745 enum int Thai_lekkao
= 3577;
17746 enum int Thai_leknung
= 3569;
17747 enum int Thai_lekpaet
= 3576;
17748 enum int Thai_leksam
= 3571;
17749 enum int Thai_leksi
= 3572;
17750 enum int Thai_leksong
= 3570;
17751 enum int Thai_leksun
= 3568;
17752 enum int Thai_lochula
= 3532;
17753 enum int Thai_loling
= 3525;
17754 enum int Thai_lu
= 3526;
17755 enum int Thai_maichattawa
= 3563;
17756 enum int Thai_maiek
= 3560;
17757 enum int Thai_maihanakat
= 3537;
17758 enum int Thai_maihanakat_maitho
= 3550;
17759 enum int Thai_maitaikhu
= 3559;
17760 enum int Thai_maitho
= 3561;
17761 enum int Thai_maitri
= 3562;
17762 enum int Thai_maiyamok
= 3558;
17763 enum int Thai_moma
= 3521;
17764 enum int Thai_ngongu
= 3495;
17765 enum int Thai_nikhahit
= 3565;
17766 enum int Thai_nonen
= 3507;
17767 enum int Thai_nonu
= 3513;
17768 enum int Thai_oang
= 3533;
17769 enum int Thai_paiyannoi
= 3535;
17770 enum int Thai_phinthu
= 3546;
17771 enum int Thai_phophan
= 3518;
17772 enum int Thai_phophung
= 3516;
17773 enum int Thai_phosamphao
= 3520;
17774 enum int Thai_popla
= 3515;
17775 enum int Thai_rorua
= 3523;
17776 enum int Thai_ru
= 3524;
17777 enum int Thai_saraa
= 3536;
17778 enum int Thai_saraaa
= 3538;
17779 enum int Thai_saraae
= 3553;
17780 enum int Thai_saraaimaimalai
= 3556;
17781 enum int Thai_saraaimaimuan
= 3555;
17782 enum int Thai_saraam
= 3539;
17783 enum int Thai_sarae
= 3552;
17784 enum int Thai_sarai
= 3540;
17785 enum int Thai_saraii
= 3541;
17786 enum int Thai_sarao
= 3554;
17787 enum int Thai_sarau
= 3544;
17788 enum int Thai_saraue
= 3542;
17789 enum int Thai_sarauee
= 3543;
17790 enum int Thai_sarauu
= 3545;
17791 enum int Thai_sorusi
= 3529;
17792 enum int Thai_sosala
= 3528;
17793 enum int Thai_soso
= 3499;
17794 enum int Thai_sosua
= 3530;
17795 enum int Thai_thanthakhat
= 3564;
17796 enum int Thai_thonangmontho
= 3505;
17797 enum int Thai_thophuthao
= 3506;
17798 enum int Thai_thothahan
= 3511;
17799 enum int Thai_thothan
= 3504;
17800 enum int Thai_thothong
= 3512;
17801 enum int Thai_thothung
= 3510;
17802 enum int Thai_topatak
= 3503;
17803 enum int Thai_totao
= 3509;
17804 enum int Thai_wowaen
= 3527;
17805 enum int Thai_yoyak
= 3522;
17806 enum int Thai_yoying
= 3501;
17807 enum int Thorn
= 222;
17808 enum int Time
= 269025183;
17810 // The #ClutterTimeline structure contains only private data
17811 // and should be accessed using the provided API
17812 struct Timeline
/* : GObject.Object */ /* Version 0.2 */ {
17814 alias parent super_
;
17815 alias parent object
;
17816 GObject2
.Object parent
;
17817 private TimelinePrivate
* priv
;
17821 // Creates a new #ClutterTimeline with a duration of @msecs.
17823 // g_object_unref() when done using it
17824 // RETURNS: the newly created #ClutterTimeline instance. Use
17825 // <msecs>: Duration of the timeline in milliseconds
17826 static Timeline
* /*new*/ new_()(uint msecs
) {
17827 return clutter_timeline_new(msecs
);
17831 // Adds a named marker that will be hit when the timeline has been
17832 // running for @msecs milliseconds. Markers are unique string
17833 // identifiers for a given time. Once @timeline reaches
17834 // @msecs, it will emit a ::marker-reached signal for each marker
17835 // attached to that time.
17837 // A marker can be removed with clutter_timeline_remove_marker(). The
17838 // timeline can be advanced to a marker using
17839 // clutter_timeline_advance_to_marker().
17840 // <marker_name>: the unique name for this marker
17841 // <msecs>: position of the marker in milliseconds
17842 void add_marker_at_time()(char* marker_name
, uint msecs
) {
17843 clutter_timeline_add_marker_at_time(&this, marker_name
, msecs
);
17846 // Advance timeline to the requested point. The point is given as a
17847 // time in milliseconds since the timeline started.
17849 // <note><para>The @timeline will not emit the #ClutterTimeline::new-frame
17850 // signal for the given time. The first ::new-frame signal after the call to
17851 // clutter_timeline_advance() will be emit the skipped markers.
17853 // <msecs>: Time to advance to
17854 void advance()(uint msecs
) {
17855 clutter_timeline_advance(&this, msecs
);
17859 // Advances @timeline to the time of the given @marker_name.
17861 // <note><para>Like clutter_timeline_advance(), this function will not
17862 // emit the #ClutterTimeline::new-frame for the time where @marker_name
17863 // is set, nor it will emit #ClutterTimeline::marker-reached for
17864 // @marker_name.</para></note>
17865 // <marker_name>: the name of the marker
17866 void advance_to_marker()(char* marker_name
) {
17867 clutter_timeline_advance_to_marker(&this, marker_name
);
17871 // Create a new #ClutterTimeline instance which has property values
17872 // matching that of supplied timeline. The cloned timeline will not
17873 // be started and will not be positioned to the current position of
17876 // RETURNS: a new #ClutterTimeline, cloned
17877 Timeline
* /*new*/ clone()() {
17878 return clutter_timeline_clone(&this);
17882 // Retrieves the value set by clutter_timeline_set_auto_reverse().
17884 // %FALSE otherwise
17885 // RETURNS: %TRUE if the timeline should automatically reverse, and
17886 int get_auto_reverse()() {
17887 return clutter_timeline_get_auto_reverse(&this);
17891 // Retrieves the delay set using clutter_timeline_set_delay().
17892 // RETURNS: the delay in milliseconds.
17893 uint get_delay()() {
17894 return clutter_timeline_get_delay(&this);
17898 // Retrieves the amount of time elapsed since the last
17899 // ClutterTimeline::new-frame signal.
17901 // This function is only useful inside handlers for the ::new-frame
17902 // signal, and its behaviour is undefined if the timeline is not
17906 // RETURNS: the amount of time in milliseconds elapsed since the
17907 uint get_delta()() {
17908 return clutter_timeline_get_delta(&this);
17912 // Retrieves the direction of the timeline set with
17913 // clutter_timeline_set_direction().
17914 // RETURNS: the direction of the timeline
17915 TimelineDirection
get_direction()() {
17916 return clutter_timeline_get_direction(&this);
17920 // Retrieves the duration of a #ClutterTimeline in milliseconds.
17921 // See clutter_timeline_set_duration().
17922 // RETURNS: the duration of the timeline, in milliseconds.
17923 uint get_duration()() {
17924 return clutter_timeline_get_duration(&this);
17927 // Request the current time position of the timeline.
17928 // RETURNS: current elapsed time in milliseconds.
17929 uint get_elapsed_time()() {
17930 return clutter_timeline_get_elapsed_time(&this);
17933 // Gets whether @timeline is looping
17934 // RETURNS: %TRUE if the timeline is looping
17936 return clutter_timeline_get_loop(&this);
17940 // The position of the timeline in a [0, 1] interval.
17941 // RETURNS: the position of the timeline.
17942 double get_progress()() {
17943 return clutter_timeline_get_progress(&this);
17947 // Checks whether @timeline has a marker set with the given name.
17948 // RETURNS: %TRUE if the marker was found
17949 // <marker_name>: the name of the marker
17950 int has_marker()(char* marker_name
) {
17951 return clutter_timeline_has_marker(&this, marker_name
);
17954 // Queries state of a #ClutterTimeline.
17955 // RETURNS: %TRUE if timeline is currently playing
17956 int is_playing()() {
17957 return clutter_timeline_is_playing(&this);
17961 // Retrieves the list of markers at time @msecs. If @msecs is a
17962 // negative integer, all the markers attached to @timeline will be
17965 // a newly allocated, %NULL terminated string array containing the names
17966 // of the markers. Use g_strfreev() when done.
17967 // <msecs>: the time to check, or -1
17968 // <n_markers>: the number of markers returned
17969 char** /*new*/ list_markers()(int msecs
, /*out*/ size_t
* n_markers
) {
17970 return clutter_timeline_list_markers(&this, msecs
, n_markers
);
17972 // Pauses the #ClutterTimeline on current frame
17974 clutter_timeline_pause(&this);
17978 // Removes @marker_name, if found, from @timeline.
17979 // <marker_name>: the name of the marker to remove
17980 void remove_marker()(char* marker_name
) {
17981 clutter_timeline_remove_marker(&this, marker_name
);
17984 // Rewinds #ClutterTimeline to the first frame if its direction is
17985 // %CLUTTER_TIMELINE_FORWARD and the last frame if it is
17986 // %CLUTTER_TIMELINE_BACKWARD.
17988 clutter_timeline_rewind(&this);
17992 // Sets whether @timeline should reverse the direction after the
17993 // emission of the #ClutterTimeline::completed signal.
17995 // Setting the #ClutterTimeline:auto-reverse property to %TRUE is the
17996 // equivalent of connecting a callback to the #ClutterTimeline::completed
17997 // signal and changing the direction of the timeline from that callback;
17998 // for instance, this code:
18002 // reverse_timeline (ClutterTimeline *timeline)
18004 // ClutterTimelineDirection dir = clutter_timeline_get_direction (timeline);
18006 // if (dir == CLUTTER_TIMELINE_FORWARD)
18007 // dir = CLUTTER_TIMELINE_BACKWARD;
18009 // dir = CLUTTER_TIMELINE_FORWARD;
18011 // clutter_timeline_set_direction (timeline, dir);
18014 // timeline = clutter_timeline_new (1000);
18015 // clutter_timeline_set_loop (timeline);
18016 // g_signal_connect (timeline, "completed",
18017 // G_CALLBACK (reverse_timeline),
18021 // can be effectively replaced by:
18024 // timeline = clutter_timeline_new (1000);
18025 // clutter_timeline_set_loop (timeline);
18026 // clutter_timeline_set_auto_reverse (timeline);
18028 // <reverse>: %TRUE if the @timeline should reverse the direction
18029 void set_auto_reverse()(int reverse
) {
18030 clutter_timeline_set_auto_reverse(&this, reverse
);
18034 // Sets the delay, in milliseconds, before @timeline should start.
18035 // <msecs>: delay in milliseconds
18036 void set_delay()(uint msecs
) {
18037 clutter_timeline_set_delay(&this, msecs
);
18041 // Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
18042 // %CLUTTER_TIMELINE_BACKWARD.
18043 // <direction>: the direction of the timeline
18044 void set_direction()(TimelineDirection direction
) {
18045 clutter_timeline_set_direction(&this, direction
);
18049 // Sets the duration of the timeline, in milliseconds. The speed
18050 // of the timeline depends on the ClutterTimeline:fps setting.
18051 // <msecs>: duration of the timeline in milliseconds
18052 void set_duration()(uint msecs
) {
18053 clutter_timeline_set_duration(&this, msecs
);
18056 // Sets whether @timeline should loop.
18057 // <loop>: %TRUE for enable looping
18058 void set_loop()(int loop) {
18059 clutter_timeline_set_loop(&this, loop);
18062 // Advance timeline by the requested time in milliseconds
18063 // <msecs>: Amount of time to skip
18064 void skip()(uint msecs
) {
18065 clutter_timeline_skip(&this, msecs
);
18067 // Starts the #ClutterTimeline playing.
18069 clutter_timeline_start(&this);
18071 // Stops the #ClutterTimeline and moves to frame 0
18073 clutter_timeline_stop(&this);
18076 // The ::completed signal is emitted when the timeline reaches the
18077 // number of frames specified by the ClutterTimeline:num-frames property.
18078 extern (C
) alias static void function (Timeline
* this_
, void* user_data
=null) signal_completed
;
18080 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
18081 return super_
.signal_connect
!name(cb
, data
, cf
);
18084 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
18085 return signal_connect_data
!()(&this, cast(char*)"completed",
18086 cast(GObject2
.Callback
)cb
, data
, null, cf
);
18090 // The ::marker-reached signal is emitted each time a timeline
18091 // reaches a marker set with
18092 // clutter_timeline_add_marker_at_time(). This signal is detailed
18093 // with the name of the marker as well, so it is possible to connect
18094 // a callback to the ::marker-reached signal for a specific marker
18097 // <informalexample><programlisting>
18098 // clutter_timeline_add_marker_at_time (timeline, "foo", 500);
18099 // clutter_timeline_add_marker_at_time (timeline, "bar", 750);
18101 // g_signal_connect (timeline, "marker-reached",
18102 // G_CALLBACK (each_marker_reached), NULL);
18103 // g_signal_connect (timeline, "marker-reached::foo",
18104 // G_CALLBACK (foo_marker_reached), NULL);
18105 // g_signal_connect (timeline, "marker-reached::bar",
18106 // G_CALLBACK (bar_marker_reached), NULL);
18107 // </programlisting></informalexample>
18109 // In the example, the first callback will be invoked for both
18110 // the "foo" and "bar" marker, while the second and third callbacks
18111 // will be invoked for the "foo" or "bar" markers, respectively.
18112 // <marker_name>: the name of the marker reached
18113 // <msecs>: the elapsed time
18114 extern (C
) alias static void function (Timeline
* this_
, char* marker_name
, int msecs
, void* user_data
=null) signal_marker_reached
;
18115 ulong signal_connect(string name
:"marker-reached", CB
:signal_marker_reached
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
18116 return signal_connect_data
!()(&this, cast(char*)"marker-reached",
18117 cast(GObject2
.Callback
)cb
, data
, null, cf
);
18120 // The ::new-frame signal is emitted for each timeline running
18121 // timeline before a new frame is drawn to give animations a chance
18122 // to update the scene.
18123 // <msecs>: the elapsed time between 0 and duration
18124 extern (C
) alias static void function (Timeline
* this_
, int msecs
, void* user_data
=null) signal_new_frame
;
18125 ulong signal_connect(string name
:"new-frame", CB
:signal_new_frame
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
18126 return signal_connect_data
!()(&this, cast(char*)"new-frame",
18127 cast(GObject2
.Callback
)cb
, data
, null, cf
);
18129 // The ::paused signal is emitted when clutter_timeline_pause() is invoked.
18130 extern (C
) alias static void function (Timeline
* this_
, void* user_data
=null) signal_paused
;
18131 ulong signal_connect(string name
:"paused", CB
:signal_paused
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
18132 return signal_connect_data
!()(&this, cast(char*)"paused",
18133 cast(GObject2
.Callback
)cb
, data
, null, cf
);
18136 // The ::started signal is emitted when the timeline starts its run.
18137 // This might be as soon as clutter_timeline_start() is invoked or
18138 // after the delay set in the ClutterTimeline:delay property has
18140 extern (C
) alias static void function (Timeline
* this_
, void* user_data
=null) signal_started
;
18141 ulong signal_connect(string name
:"started", CB
:signal_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
18142 return signal_connect_data
!()(&this, cast(char*)"started",
18143 cast(GObject2
.Callback
)cb
, data
, null, cf
);
18147 // The #ClutterTimelineClass structure contains only private data
18148 struct TimelineClass
/* Version 0.2 */ {
18149 private GObject2
.ObjectClass parent_class
;
18150 extern (C
) void function (Timeline
* timeline
) started
;
18151 extern (C
) void function (Timeline
* timeline
) completed
;
18152 extern (C
) void function (Timeline
* timeline
) paused
;
18153 extern (C
) void function (Timeline
* timeline
, int msecs
) new_frame
;
18154 extern (C
) void function (Timeline
* timeline
, char* marker_name
, int msecs
) marker_reached
;
18155 extern (C
) void function () _clutter_timeline_1
;
18156 extern (C
) void function () _clutter_timeline_2
;
18157 extern (C
) void function () _clutter_timeline_3
;
18158 extern (C
) void function () _clutter_timeline_4
;
18159 extern (C
) void function () _clutter_timeline_5
;
18162 // The direction of a #ClutterTimeline
18163 enum TimelineDirection
/* Version 0.6 */ {
18167 struct TimelinePrivate
{
18171 // <structname>ClutterTimeoutPool</structname> is an opaque structure
18172 // whose members cannot be directly accessed.
18173 struct TimeoutPool
/* Version 0.6 */ {
18176 // DEPRECATED method: add - 1.6
18177 // Sets a function to be called at regular intervals, and puts it inside
18178 // the @pool. The function is repeatedly called until it returns %FALSE,
18179 // at which point the timeout is automatically destroyed and the function
18180 // won't be called again. If @notify is not %NULL, the @notify function
18181 // will be called. The first call to @func will be at the end of @interval.
18183 // Since Clutter 0.8 this will try to compensate for delays. For
18184 // example, if @func takes half the interval time to execute then the
18185 // function will be called again half the interval time after it
18186 // finished. Before version 0.8 it would not fire until a full
18187 // interval after the function completes so the delay between calls
18188 // would be @interval * 1.5. This function does not however try to
18189 // invoke the function multiple times to catch up missing frames if
18190 // @func takes more than @interval ms to execute.
18192 // Use clutter_timeout_pool_remove() to stop the timeout.
18193 // RETURNS: the ID (greater than 0) of the timeout inside the pool.
18194 // <fps>: the time between calls to the function, in frames per second
18195 // <func>: function to call
18196 // <data>: data to pass to the function, or %NULL
18197 // <notify>: function to call when the timeout is removed, or %NULL
18198 uint add()(uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
18199 return clutter_timeout_pool_add(&this, fps
, func
, data
, notify
);
18203 // DEPRECATED method: remove - 1.6
18204 // Removes a timeout function with @id_ from the timeout pool. The id
18205 // is the same returned when adding a function to the timeout pool with
18206 // clutter_timeout_pool_add().
18207 // <id_>: the id of the timeout to remove
18208 void remove()(uint id_
) {
18209 clutter_timeout_pool_remove(&this, id_
);
18212 // Unintrospectable function: new() / clutter_timeout_pool_new()
18214 // DEPRECATED function: new - 1.6
18215 // Creates a new timeout pool source. A timeout pool should be used when
18216 // multiple timeout functions, running at the same priority, are needed and
18217 // the g_timeout_add() API might lead to starvation of the time slice of
18218 // the main loop. A timeout pool allocates a single time slice of the main
18219 // loop and runs every timeout function inside it. The timeout pool is
18220 // always sorted, so that the extraction of the next timeout function is
18221 // a constant time operation.
18223 // is owned by the GLib default context and will be automatically
18224 // destroyed when the context is destroyed. It is possible to force
18225 // the destruction of the timeout pool using g_source_destroy()
18226 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
18227 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
18228 static TimeoutPool
* new_()(int priority
) {
18229 return clutter_timeout_pool_new(priority
);
18233 enum int ToDoList
= 269025055;
18234 enum int Tools
= 269025153;
18235 enum int TopMenu
= 269025186;
18236 enum int TouchpadOff
= 269025201;
18237 enum int TouchpadOn
= 269025200;
18238 enum int TouchpadToggle
= 269025193;
18239 enum int Touroku
= 65323;
18240 enum int Travel
= 269025154;
18241 enum int Tslash
= 940;
18243 enum int UWB
= 269025174;
18244 enum int Uacute
= 218;
18245 enum int Ubelowdot
= 16785124;
18246 enum int Ubreve
= 733;
18247 enum int Ucircumflex
= 219;
18248 enum int Udiaeresis
= 220;
18249 enum int Udoubleacute
= 475;
18250 enum int Ugrave
= 217;
18251 enum int Uhook
= 16785126;
18252 enum int Uhorn
= 16777647;
18253 enum int Uhornacute
= 16785128;
18254 enum int Uhornbelowdot
= 16785136;
18255 enum int Uhorngrave
= 16785130;
18256 enum int Uhornhook
= 16785132;
18257 enum int Uhorntilde
= 16785134;
18258 enum int Ukrainian_GHE_WITH_UPTURN
= 1725;
18259 enum int Ukrainian_I
= 1718;
18260 enum int Ukrainian_IE
= 1716;
18261 enum int Ukrainian_YI
= 1719;
18262 enum int Ukrainian_ghe_with_upturn
= 1709;
18263 enum int Ukrainian_i
= 1702;
18264 enum int Ukrainian_ie
= 1700;
18265 enum int Ukrainian_yi
= 1703;
18266 enum int Ukranian_I
= 1718;
18267 enum int Ukranian_JE
= 1716;
18268 enum int Ukranian_YI
= 1719;
18269 enum int Ukranian_i
= 1702;
18270 enum int Ukranian_je
= 1700;
18271 enum int Ukranian_yi
= 1703;
18272 enum int Umacron
= 990;
18273 enum int Undo
= 65381;
18274 enum int Ungrab
= 269024800;
18276 // The type of unit in which a value is expressed
18278 // This enumeration might be expanded at later date
18279 enum UnitType
/* Version 1.0 */ {
18287 // An opaque structure, to be used to store sizing and positioning
18288 // values along with their unit.
18289 struct Units
/* Version 1.0 */ {
18290 private UnitType unit_type
;
18291 private float value
, pixels
;
18292 private uint pixels_set
;
18293 private int serial
, __padding_1
;
18294 private long __padding_2
;
18300 // #ClutterUnits structure. Use clutter_units_free() to free
18301 // the allocated resources
18302 // RETURNS: the newly created copy of a
18303 Units
* /*new*/ copy()() {
18304 return clutter_units_copy(&this);
18308 // Frees the resources allocated by @units
18310 // You should only call this function on a #ClutterUnits
18311 // created using clutter_units_copy()
18313 clutter_units_free(&this);
18317 // Stores a value in centimeters inside @units
18318 // <cm>: centimeters
18319 void from_cm()(float cm
) {
18320 clutter_units_from_cm(&this, cm
);
18324 // Stores a value in em inside @units, using the default font
18325 // name as returned by clutter_backend_get_font_name()
18327 void from_em()(float em
) {
18328 clutter_units_from_em(&this, em
);
18332 // Stores a value in em inside @units using @font_name
18333 // <font_name>: the font name and size
18335 void from_em_for_font()(char* font_name
, float em
) {
18336 clutter_units_from_em_for_font(&this, font_name
, em
);
18340 // Stores a value in millimiters inside @units
18341 // <mm>: millimeters
18342 void from_mm()(float mm
) {
18343 clutter_units_from_mm(&this, mm
);
18347 // Stores a value in pixels inside @units
18349 void from_pixels()(int px
) {
18350 clutter_units_from_pixels(&this, px
);
18354 // Stores a value in typographic points inside @units
18355 // <pt>: typographic points
18356 void from_pt()(float pt
) {
18357 clutter_units_from_pt(&this, pt
);
18361 // Parses a value and updates @units with it
18363 // A #ClutterUnits expressed in string should match:
18366 // units: wsp* unit-value wsp* unit-name? wsp*
18367 // unit-value: number
18368 // unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm'
18370 // | digit* sep digit+
18372 // digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
18373 // wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+
18376 // For instance, these are valid strings:
18386 // While these are not:
18393 // <note><para>If no unit is specified, pixels are assumed.</para></note>
18395 // and %FALSE otherwise
18396 // RETURNS: %TRUE if the string was successfully parsed,
18397 // <str>: the string to convert
18398 int from_string()(char* str) {
18399 return clutter_units_from_string(&this, str);
18403 // Retrieves the unit type of the value stored inside @units
18404 // RETURNS: a unit type
18405 UnitType
get_unit_type()() {
18406 return clutter_units_get_unit_type(&this);
18410 // Retrieves the value stored inside @units
18411 // RETURNS: the value stored inside a #ClutterUnits
18412 float get_unit_value()() {
18413 return clutter_units_get_unit_value(&this);
18417 // Converts a value in #ClutterUnits to pixels
18418 // RETURNS: the value in pixels
18419 float to_pixels()() {
18420 return clutter_units_to_pixels(&this);
18424 // Converts @units into a string
18426 // See clutter_units_from_string() for the units syntax and for
18427 // examples of output
18429 // <note>Fractional values are truncated to the second decimal
18430 // position for em, mm and cm, and to the first decimal position for
18431 // typographic points. Pixels are integers.</note>
18433 // #ClutterUnits value. Use g_free() to free the string
18434 // RETURNS: a newly allocated string containing the encoded
18435 char* /*new*/ to_string()() {
18436 return clutter_units_to_string(&this);
18440 enum int Uogonek
= 985;
18441 enum int Up
= 65362;
18442 enum int Uring
= 473;
18443 enum int User1KB
= 269025157;
18444 enum int User2KB
= 269025158;
18445 enum int UserPB
= 269025156;
18446 enum int Utilde
= 989;
18448 enum double VERSION
= 1.800000;
18449 enum int VERSION_HEX
= 0;
18450 enum VERSION_S
= "1.8.3";
18451 enum int VendorHome
= 269025076;
18452 // Vertex of an actor in 3D space, expressed in pixels
18453 struct Vertex
/* Version 0.4 */ {
18458 // Creates a new #ClutterVertex for the point in 3D space
18459 // identified by the 3 coordinates @x, @y, @z
18461 // clutter_vertex_free() to free the resources
18462 // RETURNS: the newly allocate #ClutterVertex. Use
18463 // <x>: X coordinate
18464 // <y>: Y coordinate
18465 // <z>: Z coordinate
18466 static Vertex
* /*new*/ new_()(float x
, float y
, float z
) {
18467 return clutter_vertex_new(x
, y
, z
);
18473 // clutter_vertex_free() to free the allocated resources
18474 // RETURNS: a newly allocated copy of #ClutterVertex. Use
18475 Vertex
* /*new*/ copy()() {
18476 return clutter_vertex_copy(&this);
18480 // Compares @vertex_a and @vertex_b for equality
18481 // RETURNS: %TRUE if the passed #ClutterVertex are equal
18482 // <vertex_b>: a #ClutterVertex
18483 int equal()(Vertex
* vertex_b
) {
18484 return clutter_vertex_equal(&this, vertex_b
);
18488 // Frees a #ClutterVertex allocated using clutter_vertex_copy()
18490 clutter_vertex_free(&this);
18494 enum int Video
= 269025159;
18495 enum int View
= 269025185;
18496 enum int VoidSymbol
= 16777215;
18498 enum int WINDOWING_GLX
= 1;
18499 enum int WINDOWING_X11
= 1;
18500 enum int WLAN
= 269025173;
18501 enum int WWW
= 269025070;
18502 enum int Wacute
= 16785026;
18503 enum int WakeUp
= 269025067;
18504 enum int Wcircumflex
= 16777588;
18505 enum int Wdiaeresis
= 16785028;
18506 enum int WebCam
= 269025167;
18507 enum int Wgrave
= 16785024;
18508 enum int WheelButton
= 269025160;
18509 enum int WindowClear
= 269025109;
18510 enum int WonSign
= 16785577;
18511 enum int Word
= 269025161;
18513 enum X11FilterReturn
{
18518 enum X11XInputEventTypes
{
18519 KEY_PRESS_EVENT
= 0,
18520 KEY_RELEASE_EVENT
= 1,
18521 BUTTON_PRESS_EVENT
= 2,
18522 BUTTON_RELEASE_EVENT
= 3,
18523 MOTION_NOTIFY_EVENT
= 4,
18526 enum int Xabovedot
= 16785034;
18527 enum int Xfer
= 269025162;
18529 enum int Yacute
= 221;
18530 enum int Ybelowdot
= 16785140;
18531 enum int Ycircumflex
= 16777590;
18532 enum int Ydiaeresis
= 5054;
18533 enum int Yellow
= 269025189;
18534 enum int Ygrave
= 16785138;
18535 enum int Yhook
= 16785142;
18536 enum int Ytilde
= 16785144;
18538 enum int Zabovedot
= 431;
18539 enum int Zacute
= 428;
18540 enum int Zcaron
= 430;
18541 enum int Zen_Koho
= 65341;
18542 enum int Zenkaku
= 65320;
18543 enum int Zenkaku_Hankaku
= 65322;
18544 enum int ZoomIn
= 269025163;
18545 enum int ZoomOut
= 269025164;
18546 enum int Zstroke
= 16777653;
18548 enum int aacute
= 225;
18549 enum int abelowdot
= 16785057;
18550 enum int abovedot
= 511;
18551 enum int abreve
= 483;
18552 enum int abreveacute
= 16785071;
18553 enum int abrevebelowdot
= 16785079;
18554 enum int abrevegrave
= 16785073;
18555 enum int abrevehook
= 16785075;
18556 enum int abrevetilde
= 16785077;
18557 enum int acircumflex
= 226;
18558 enum int acircumflexacute
= 16785061;
18559 enum int acircumflexbelowdot
= 16785069;
18560 enum int acircumflexgrave
= 16785063;
18561 enum int acircumflexhook
= 16785065;
18562 enum int acircumflextilde
= 16785067;
18563 enum int acute
= 180;
18564 enum int adiaeresis
= 228;
18566 enum int agrave
= 224;
18567 enum int ahook
= 16785059;
18568 enum int amacron
= 992;
18569 enum int ampersand
= 38;
18570 enum int aogonek
= 433;
18571 enum int apostrophe
= 39;
18572 enum int approxeq
= 16785992;
18573 enum int approximate
= 2248;
18574 enum int aring
= 229;
18575 enum int asciicircum
= 94;
18576 enum int asciitilde
= 126;
18577 enum int asterisk
= 42;
18579 enum int atilde
= 227;
18581 enum int babovedot
= 16784899;
18582 enum int backslash
= 92;
18583 enum int ballotcross
= 2804;
18584 enum int bar
= 124;
18585 static void base_init()() {
18586 clutter_base_init();
18589 enum int because
= 16785973;
18590 enum int blank
= 2527;
18591 enum int botintegral
= 2213;
18592 enum int botleftparens
= 2220;
18593 enum int botleftsqbracket
= 2216;
18594 enum int botleftsummation
= 2226;
18595 enum int botrightparens
= 2222;
18596 enum int botrightsqbracket
= 2218;
18597 enum int botrightsummation
= 2230;
18598 enum int bott
= 2550;
18599 enum int botvertsummationconnector
= 2228;
18600 enum int braceleft
= 123;
18601 enum int braceright
= 125;
18602 enum int bracketleft
= 91;
18603 enum int bracketright
= 93;
18604 enum int braille_blank
= 16787456;
18605 enum int braille_dot_1
= 65521;
18606 enum int braille_dot_10
= 65530;
18607 enum int braille_dot_2
= 65522;
18608 enum int braille_dot_3
= 65523;
18609 enum int braille_dot_4
= 65524;
18610 enum int braille_dot_5
= 65525;
18611 enum int braille_dot_6
= 65526;
18612 enum int braille_dot_7
= 65527;
18613 enum int braille_dot_8
= 65528;
18614 enum int braille_dot_9
= 65529;
18615 enum int braille_dots_1
= 16787457;
18616 enum int braille_dots_12
= 16787459;
18617 enum int braille_dots_123
= 16787463;
18618 enum int braille_dots_1234
= 16787471;
18619 enum int braille_dots_12345
= 16787487;
18620 enum int braille_dots_123456
= 16787519;
18621 enum int braille_dots_1234567
= 16787583;
18622 enum int braille_dots_12345678
= 16787711;
18623 enum int braille_dots_1234568
= 16787647;
18624 enum int braille_dots_123457
= 16787551;
18625 enum int braille_dots_1234578
= 16787679;
18626 enum int braille_dots_123458
= 16787615;
18627 enum int braille_dots_12346
= 16787503;
18628 enum int braille_dots_123467
= 16787567;
18629 enum int braille_dots_1234678
= 16787695;
18630 enum int braille_dots_123468
= 16787631;
18631 enum int braille_dots_12347
= 16787535;
18632 enum int braille_dots_123478
= 16787663;
18633 enum int braille_dots_12348
= 16787599;
18634 enum int braille_dots_1235
= 16787479;
18635 enum int braille_dots_12356
= 16787511;
18636 enum int braille_dots_123567
= 16787575;
18637 enum int braille_dots_1235678
= 16787703;
18638 enum int braille_dots_123568
= 16787639;
18639 enum int braille_dots_12357
= 16787543;
18640 enum int braille_dots_123578
= 16787671;
18641 enum int braille_dots_12358
= 16787607;
18642 enum int braille_dots_1236
= 16787495;
18643 enum int braille_dots_12367
= 16787559;
18644 enum int braille_dots_123678
= 16787687;
18645 enum int braille_dots_12368
= 16787623;
18646 enum int braille_dots_1237
= 16787527;
18647 enum int braille_dots_12378
= 16787655;
18648 enum int braille_dots_1238
= 16787591;
18649 enum int braille_dots_124
= 16787467;
18650 enum int braille_dots_1245
= 16787483;
18651 enum int braille_dots_12456
= 16787515;
18652 enum int braille_dots_124567
= 16787579;
18653 enum int braille_dots_1245678
= 16787707;
18654 enum int braille_dots_124568
= 16787643;
18655 enum int braille_dots_12457
= 16787547;
18656 enum int braille_dots_124578
= 16787675;
18657 enum int braille_dots_12458
= 16787611;
18658 enum int braille_dots_1246
= 16787499;
18659 enum int braille_dots_12467
= 16787563;
18660 enum int braille_dots_124678
= 16787691;
18661 enum int braille_dots_12468
= 16787627;
18662 enum int braille_dots_1247
= 16787531;
18663 enum int braille_dots_12478
= 16787659;
18664 enum int braille_dots_1248
= 16787595;
18665 enum int braille_dots_125
= 16787475;
18666 enum int braille_dots_1256
= 16787507;
18667 enum int braille_dots_12567
= 16787571;
18668 enum int braille_dots_125678
= 16787699;
18669 enum int braille_dots_12568
= 16787635;
18670 enum int braille_dots_1257
= 16787539;
18671 enum int braille_dots_12578
= 16787667;
18672 enum int braille_dots_1258
= 16787603;
18673 enum int braille_dots_126
= 16787491;
18674 enum int braille_dots_1267
= 16787555;
18675 enum int braille_dots_12678
= 16787683;
18676 enum int braille_dots_1268
= 16787619;
18677 enum int braille_dots_127
= 16787523;
18678 enum int braille_dots_1278
= 16787651;
18679 enum int braille_dots_128
= 16787587;
18680 enum int braille_dots_13
= 16787461;
18681 enum int braille_dots_134
= 16787469;
18682 enum int braille_dots_1345
= 16787485;
18683 enum int braille_dots_13456
= 16787517;
18684 enum int braille_dots_134567
= 16787581;
18685 enum int braille_dots_1345678
= 16787709;
18686 enum int braille_dots_134568
= 16787645;
18687 enum int braille_dots_13457
= 16787549;
18688 enum int braille_dots_134578
= 16787677;
18689 enum int braille_dots_13458
= 16787613;
18690 enum int braille_dots_1346
= 16787501;
18691 enum int braille_dots_13467
= 16787565;
18692 enum int braille_dots_134678
= 16787693;
18693 enum int braille_dots_13468
= 16787629;
18694 enum int braille_dots_1347
= 16787533;
18695 enum int braille_dots_13478
= 16787661;
18696 enum int braille_dots_1348
= 16787597;
18697 enum int braille_dots_135
= 16787477;
18698 enum int braille_dots_1356
= 16787509;
18699 enum int braille_dots_13567
= 16787573;
18700 enum int braille_dots_135678
= 16787701;
18701 enum int braille_dots_13568
= 16787637;
18702 enum int braille_dots_1357
= 16787541;
18703 enum int braille_dots_13578
= 16787669;
18704 enum int braille_dots_1358
= 16787605;
18705 enum int braille_dots_136
= 16787493;
18706 enum int braille_dots_1367
= 16787557;
18707 enum int braille_dots_13678
= 16787685;
18708 enum int braille_dots_1368
= 16787621;
18709 enum int braille_dots_137
= 16787525;
18710 enum int braille_dots_1378
= 16787653;
18711 enum int braille_dots_138
= 16787589;
18712 enum int braille_dots_14
= 16787465;
18713 enum int braille_dots_145
= 16787481;
18714 enum int braille_dots_1456
= 16787513;
18715 enum int braille_dots_14567
= 16787577;
18716 enum int braille_dots_145678
= 16787705;
18717 enum int braille_dots_14568
= 16787641;
18718 enum int braille_dots_1457
= 16787545;
18719 enum int braille_dots_14578
= 16787673;
18720 enum int braille_dots_1458
= 16787609;
18721 enum int braille_dots_146
= 16787497;
18722 enum int braille_dots_1467
= 16787561;
18723 enum int braille_dots_14678
= 16787689;
18724 enum int braille_dots_1468
= 16787625;
18725 enum int braille_dots_147
= 16787529;
18726 enum int braille_dots_1478
= 16787657;
18727 enum int braille_dots_148
= 16787593;
18728 enum int braille_dots_15
= 16787473;
18729 enum int braille_dots_156
= 16787505;
18730 enum int braille_dots_1567
= 16787569;
18731 enum int braille_dots_15678
= 16787697;
18732 enum int braille_dots_1568
= 16787633;
18733 enum int braille_dots_157
= 16787537;
18734 enum int braille_dots_1578
= 16787665;
18735 enum int braille_dots_158
= 16787601;
18736 enum int braille_dots_16
= 16787489;
18737 enum int braille_dots_167
= 16787553;
18738 enum int braille_dots_1678
= 16787681;
18739 enum int braille_dots_168
= 16787617;
18740 enum int braille_dots_17
= 16787521;
18741 enum int braille_dots_178
= 16787649;
18742 enum int braille_dots_18
= 16787585;
18743 enum int braille_dots_2
= 16787458;
18744 enum int braille_dots_23
= 16787462;
18745 enum int braille_dots_234
= 16787470;
18746 enum int braille_dots_2345
= 16787486;
18747 enum int braille_dots_23456
= 16787518;
18748 enum int braille_dots_234567
= 16787582;
18749 enum int braille_dots_2345678
= 16787710;
18750 enum int braille_dots_234568
= 16787646;
18751 enum int braille_dots_23457
= 16787550;
18752 enum int braille_dots_234578
= 16787678;
18753 enum int braille_dots_23458
= 16787614;
18754 enum int braille_dots_2346
= 16787502;
18755 enum int braille_dots_23467
= 16787566;
18756 enum int braille_dots_234678
= 16787694;
18757 enum int braille_dots_23468
= 16787630;
18758 enum int braille_dots_2347
= 16787534;
18759 enum int braille_dots_23478
= 16787662;
18760 enum int braille_dots_2348
= 16787598;
18761 enum int braille_dots_235
= 16787478;
18762 enum int braille_dots_2356
= 16787510;
18763 enum int braille_dots_23567
= 16787574;
18764 enum int braille_dots_235678
= 16787702;
18765 enum int braille_dots_23568
= 16787638;
18766 enum int braille_dots_2357
= 16787542;
18767 enum int braille_dots_23578
= 16787670;
18768 enum int braille_dots_2358
= 16787606;
18769 enum int braille_dots_236
= 16787494;
18770 enum int braille_dots_2367
= 16787558;
18771 enum int braille_dots_23678
= 16787686;
18772 enum int braille_dots_2368
= 16787622;
18773 enum int braille_dots_237
= 16787526;
18774 enum int braille_dots_2378
= 16787654;
18775 enum int braille_dots_238
= 16787590;
18776 enum int braille_dots_24
= 16787466;
18777 enum int braille_dots_245
= 16787482;
18778 enum int braille_dots_2456
= 16787514;
18779 enum int braille_dots_24567
= 16787578;
18780 enum int braille_dots_245678
= 16787706;
18781 enum int braille_dots_24568
= 16787642;
18782 enum int braille_dots_2457
= 16787546;
18783 enum int braille_dots_24578
= 16787674;
18784 enum int braille_dots_2458
= 16787610;
18785 enum int braille_dots_246
= 16787498;
18786 enum int braille_dots_2467
= 16787562;
18787 enum int braille_dots_24678
= 16787690;
18788 enum int braille_dots_2468
= 16787626;
18789 enum int braille_dots_247
= 16787530;
18790 enum int braille_dots_2478
= 16787658;
18791 enum int braille_dots_248
= 16787594;
18792 enum int braille_dots_25
= 16787474;
18793 enum int braille_dots_256
= 16787506;
18794 enum int braille_dots_2567
= 16787570;
18795 enum int braille_dots_25678
= 16787698;
18796 enum int braille_dots_2568
= 16787634;
18797 enum int braille_dots_257
= 16787538;
18798 enum int braille_dots_2578
= 16787666;
18799 enum int braille_dots_258
= 16787602;
18800 enum int braille_dots_26
= 16787490;
18801 enum int braille_dots_267
= 16787554;
18802 enum int braille_dots_2678
= 16787682;
18803 enum int braille_dots_268
= 16787618;
18804 enum int braille_dots_27
= 16787522;
18805 enum int braille_dots_278
= 16787650;
18806 enum int braille_dots_28
= 16787586;
18807 enum int braille_dots_3
= 16787460;
18808 enum int braille_dots_34
= 16787468;
18809 enum int braille_dots_345
= 16787484;
18810 enum int braille_dots_3456
= 16787516;
18811 enum int braille_dots_34567
= 16787580;
18812 enum int braille_dots_345678
= 16787708;
18813 enum int braille_dots_34568
= 16787644;
18814 enum int braille_dots_3457
= 16787548;
18815 enum int braille_dots_34578
= 16787676;
18816 enum int braille_dots_3458
= 16787612;
18817 enum int braille_dots_346
= 16787500;
18818 enum int braille_dots_3467
= 16787564;
18819 enum int braille_dots_34678
= 16787692;
18820 enum int braille_dots_3468
= 16787628;
18821 enum int braille_dots_347
= 16787532;
18822 enum int braille_dots_3478
= 16787660;
18823 enum int braille_dots_348
= 16787596;
18824 enum int braille_dots_35
= 16787476;
18825 enum int braille_dots_356
= 16787508;
18826 enum int braille_dots_3567
= 16787572;
18827 enum int braille_dots_35678
= 16787700;
18828 enum int braille_dots_3568
= 16787636;
18829 enum int braille_dots_357
= 16787540;
18830 enum int braille_dots_3578
= 16787668;
18831 enum int braille_dots_358
= 16787604;
18832 enum int braille_dots_36
= 16787492;
18833 enum int braille_dots_367
= 16787556;
18834 enum int braille_dots_3678
= 16787684;
18835 enum int braille_dots_368
= 16787620;
18836 enum int braille_dots_37
= 16787524;
18837 enum int braille_dots_378
= 16787652;
18838 enum int braille_dots_38
= 16787588;
18839 enum int braille_dots_4
= 16787464;
18840 enum int braille_dots_45
= 16787480;
18841 enum int braille_dots_456
= 16787512;
18842 enum int braille_dots_4567
= 16787576;
18843 enum int braille_dots_45678
= 16787704;
18844 enum int braille_dots_4568
= 16787640;
18845 enum int braille_dots_457
= 16787544;
18846 enum int braille_dots_4578
= 16787672;
18847 enum int braille_dots_458
= 16787608;
18848 enum int braille_dots_46
= 16787496;
18849 enum int braille_dots_467
= 16787560;
18850 enum int braille_dots_4678
= 16787688;
18851 enum int braille_dots_468
= 16787624;
18852 enum int braille_dots_47
= 16787528;
18853 enum int braille_dots_478
= 16787656;
18854 enum int braille_dots_48
= 16787592;
18855 enum int braille_dots_5
= 16787472;
18856 enum int braille_dots_56
= 16787504;
18857 enum int braille_dots_567
= 16787568;
18858 enum int braille_dots_5678
= 16787696;
18859 enum int braille_dots_568
= 16787632;
18860 enum int braille_dots_57
= 16787536;
18861 enum int braille_dots_578
= 16787664;
18862 enum int braille_dots_58
= 16787600;
18863 enum int braille_dots_6
= 16787488;
18864 enum int braille_dots_67
= 16787552;
18865 enum int braille_dots_678
= 16787680;
18866 enum int braille_dots_68
= 16787616;
18867 enum int braille_dots_7
= 16787520;
18868 enum int braille_dots_78
= 16787648;
18869 enum int braille_dots_8
= 16787584;
18870 enum int breve
= 418;
18871 enum int brokenbar
= 166;
18873 enum int cabovedot
= 741;
18874 enum int cacute
= 486;
18877 // Utility function for setting the source color of @cr using
18878 // a #ClutterColor. This function is the equivalent of:
18881 // cairo_set_source_rgba (cr,
18882 // color->red / 255.0,
18883 // color->green / 255.0,
18884 // color->blue / 255.0,
18885 // color->alpha / 255.0);
18887 // <cr>: a Cairo context
18888 // <color>: a #ClutterColor
18889 static void cairo_set_source_color()(cairo
.Context
* cr
, Color
* color
) {
18890 clutter_cairo_set_source_color(cr
, color
);
18893 enum int careof
= 2744;
18894 enum int caret
= 2812;
18895 enum int caron
= 439;
18896 enum int ccaron
= 488;
18897 enum int ccedilla
= 231;
18898 enum int ccircumflex
= 742;
18899 enum int cedilla
= 184;
18900 enum int cent_
= 162;
18903 // Run-time version check, to check the version the Clutter library
18904 // that an application is currently linked against
18906 // This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION
18907 // pre-processor macro
18909 // greater than (@major, @minor, @micro), and %FALSE otherwise
18910 // RETURNS: %TRUE if the version of the Clutter library is
18911 // <major>: major version, like 1 in 1.2.3
18912 // <minor>: minor version, like 2 in 1.2.3
18913 // <micro>: micro version, like 3 in 1.2.3
18914 static int check_version()(uint major
, uint minor
, uint micro
) {
18915 return clutter_check_version(major
, minor
, micro
);
18918 enum int checkerboard
= 2529;
18919 enum int checkmark
= 2803;
18920 enum int circle
= 3023;
18923 // Clears the internal cache of glyphs used by the Pango
18924 // renderer. This will free up some memory and GL texture
18925 // resources. The cache will be automatically refilled as more text is
18927 static void clear_glyph_cache()() {
18928 clutter_clear_glyph_cache();
18931 enum int club
= 2796;
18932 enum int colon
= 58;
18935 // MOVED TO: Color.equal
18936 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
18938 // This function can be passed to g_hash_table_new() as the @key_equal_func
18939 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
18940 // RETURNS: %TRUE if the two colors are the same.
18941 // <v1>: a #ClutterColor
18942 // <v2>: a #ClutterColor
18943 static int color_equal()(const(void)* v1
, const(void)* v2
) {
18944 return clutter_color_equal(v1
, v2
);
18949 // MOVED TO: Color.get_static
18950 // Retrieves a static color for the given @color name
18952 // Static colors are created by Clutter and are guaranteed to always be
18953 // available and valid
18955 // is owned by Clutter and it should never be modified or freed
18956 // RETURNS: a pointer to a static color; the returned pointer
18957 // <color>: the named global color
18958 static Color
* color_get_static()(StaticColor color
) {
18959 return clutter_color_get_static(color
);
18964 // MOVED TO: Color.hash
18965 // Converts a #ClutterColor to a hash value.
18967 // This function can be passed to g_hash_table_new() as the @hash_func
18968 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
18969 // RETURNS: a hash value corresponding to the color
18970 // <v>: a #ClutterColor
18971 static uint color_hash()(const(void)* v
) {
18972 return clutter_color_hash(v
);
18975 enum int comma
= 44;
18978 // MOVED TO: Container.class_find_child_property
18979 // Looks up the #GParamSpec for a child property of @klass.
18981 // if no such property exist.
18982 // RETURNS: The #GParamSpec for the property or %NULL
18983 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
18984 // <property_name>: a property name.
18985 static GObject2
.ParamSpec
* container_class_find_child_property()(GObject2
.ObjectClass
* klass
, char* property_name
) {
18986 return clutter_container_class_find_child_property(klass
, property_name
);
18991 // MOVED TO: Container.class_list_child_properties
18992 // Returns an array of #GParamSpec for all child properties.
18994 // of #GParamSpec<!-- -->s which should be freed after use.
18995 // RETURNS: an array
18996 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
18997 // <n_properties>: return location for length of returned array.
18998 static GObject2
.ParamSpec
** /*new*/ container_class_list_child_properties()(GObject2
.ObjectClass
* klass
, /*out*/ uint* n_properties
) {
18999 return clutter_container_class_list_child_properties(klass
, n_properties
);
19002 enum int containsas
= 16785931;
19003 enum int copyright
= 169;
19004 enum int cr
= 2532;
19005 enum int crossinglines
= 2542;
19006 enum int cuberoot
= 16785947;
19007 enum int currency
= 164;
19008 enum int cursor
= 2815;
19010 enum int dabovedot
= 16784907;
19011 enum int dagger
= 2801;
19012 enum int dcaron
= 495;
19013 enum int dead_A
= 65153;
19014 enum int dead_E
= 65155;
19015 enum int dead_I
= 65157;
19016 enum int dead_O
= 65159;
19017 enum int dead_U
= 65161;
19018 enum int dead_a
= 65152;
19019 enum int dead_abovecomma
= 65124;
19020 enum int dead_abovedot
= 65110;
19021 enum int dead_abovereversedcomma
= 65125;
19022 enum int dead_abovering
= 65112;
19023 enum int dead_acute
= 65105;
19024 enum int dead_belowbreve
= 65131;
19025 enum int dead_belowcircumflex
= 65129;
19026 enum int dead_belowcomma
= 65134;
19027 enum int dead_belowdiaeresis
= 65132;
19028 enum int dead_belowdot
= 65120;
19029 enum int dead_belowmacron
= 65128;
19030 enum int dead_belowring
= 65127;
19031 enum int dead_belowtilde
= 65130;
19032 enum int dead_breve
= 65109;
19033 enum int dead_capital_schwa
= 65163;
19034 enum int dead_caron
= 65114;
19035 enum int dead_cedilla
= 65115;
19036 enum int dead_circumflex
= 65106;
19037 enum int dead_currency
= 65135;
19038 enum int dead_dasia
= 65125;
19039 enum int dead_diaeresis
= 65111;
19040 enum int dead_doubleacute
= 65113;
19041 enum int dead_doublegrave
= 65126;
19042 enum int dead_e
= 65154;
19043 enum int dead_grave
= 65104;
19044 enum int dead_hook
= 65121;
19045 enum int dead_horn
= 65122;
19046 enum int dead_i
= 65156;
19047 enum int dead_invertedbreve
= 65133;
19048 enum int dead_iota
= 65117;
19049 enum int dead_macron
= 65108;
19050 enum int dead_o
= 65158;
19051 enum int dead_ogonek
= 65116;
19052 enum int dead_perispomeni
= 65107;
19053 enum int dead_psili
= 65124;
19054 enum int dead_semivoiced_sound
= 65119;
19055 enum int dead_small_schwa
= 65162;
19056 enum int dead_stroke
= 65123;
19057 enum int dead_tilde
= 65107;
19058 enum int dead_u
= 65160;
19059 enum int dead_voiced_sound
= 65118;
19060 enum int decimalpoint
= 2749;
19061 enum int degree
= 176;
19062 enum int diaeresis
= 168;
19063 enum int diamond
= 2797;
19064 enum int digitspace
= 2725;
19065 enum int dintegral
= 16785964;
19066 enum int division
= 247;
19069 // Processes an event.
19071 // The @event must be a valid #ClutterEvent and have a #ClutterStage
19072 // associated to it.
19074 // This function is only useful when embedding Clutter inside another
19075 // toolkit, and it should never be called by applications.
19076 // <event>: a #ClutterEvent.
19077 static void do_event()(Event
* event
) {
19078 clutter_do_event(event
);
19081 enum int dollar
= 36;
19082 enum int doubbaselinedot
= 2735;
19083 enum int doubleacute
= 445;
19084 enum int doubledagger
= 2802;
19085 enum int doublelowquotemark
= 2814;
19086 enum int downarrow
= 2302;
19087 enum int downcaret
= 2984;
19088 enum int downshoe
= 3030;
19089 enum int downstile
= 3012;
19090 enum int downtack
= 3010;
19091 enum int dstroke
= 496;
19093 enum int eabovedot
= 1004;
19094 enum int eacute
= 233;
19095 enum int ebelowdot
= 16785081;
19096 enum int ecaron
= 492;
19097 enum int ecircumflex
= 234;
19098 enum int ecircumflexacute
= 16785087;
19099 enum int ecircumflexbelowdot
= 16785095;
19100 enum int ecircumflexgrave
= 16785089;
19101 enum int ecircumflexhook
= 16785091;
19102 enum int ecircumflextilde
= 16785093;
19103 enum int ediaeresis
= 235;
19104 enum int egrave
= 232;
19105 enum int ehook
= 16785083;
19106 enum int eightsubscript
= 16785544;
19107 enum int eightsuperior
= 16785528;
19108 enum int elementof
= 16785928;
19109 enum int ellipsis
= 2734;
19110 enum int em3space
= 2723;
19111 enum int em4space
= 2724;
19112 enum int emacron
= 954;
19113 enum int emdash
= 2729;
19114 enum int emfilledcircle
= 2782;
19115 enum int emfilledrect
= 2783;
19116 enum int emopencircle
= 2766;
19117 enum int emopenrectangle
= 2767;
19118 enum int emptyset
= 16785925;
19119 enum int emspace
= 2721;
19120 enum int endash
= 2730;
19121 enum int enfilledcircbullet
= 2790;
19122 enum int enfilledsqbullet
= 2791;
19123 enum int eng
= 959;
19124 enum int enopencircbullet
= 2784;
19125 enum int enopensquarebullet
= 2785;
19126 enum int enspace
= 2722;
19127 enum int eogonek
= 490;
19128 enum int equal
= 61;
19129 enum int eth
= 240;
19130 enum int etilde
= 16785085;
19133 // MOVED TO: Event.get
19134 // Pops an event off the event queue. Applications should not need to call
19136 // RETURNS: A #ClutterEvent or NULL if queue empty
19137 static Event
* /*new*/ event_get()() {
19138 return clutter_event_get();
19143 // MOVED TO: Event.peek
19144 // Returns a pointer to the first event from the event queue but
19145 // does not remove it.
19146 // RETURNS: A #ClutterEvent or NULL if queue empty.
19147 static Event
* event_peek()() {
19148 return clutter_event_peek();
19153 // Checks if events are pending in the event queue.
19154 // RETURNS: TRUE if there are pending events, FALSE otherwise.
19155 static int events_pending()() {
19156 return clutter_events_pending();
19159 enum int exclam
= 33;
19160 enum int exclamdown
= 161;
19162 enum int fabovedot
= 16784927;
19165 // Checks whether @feature is available. @feature can be a logical
19166 // OR of #ClutterFeatureFlags.
19167 // RETURNS: %TRUE if a feature is available
19168 // <feature>: a #ClutterFeatureFlags
19169 static int feature_available()(FeatureFlags feature
) {
19170 return clutter_feature_available(feature
);
19175 // Returns all the supported features.
19176 // RETURNS: a logical OR of all the supported features.
19177 static FeatureFlags
feature_get_all()() {
19178 return clutter_feature_get_all();
19181 enum int femalesymbol
= 2808;
19182 enum int ff
= 2531;
19183 enum int figdash
= 2747;
19184 enum int filledlefttribullet
= 2780;
19185 enum int filledrectbullet
= 2779;
19186 enum int filledrighttribullet
= 2781;
19187 enum int filledtribulletdown
= 2793;
19188 enum int filledtribulletup
= 2792;
19189 enum int fiveeighths
= 2757;
19190 enum int fivesixths
= 2743;
19191 enum int fivesubscript
= 16785541;
19192 enum int fivesuperior
= 16785525;
19193 enum int fourfifths
= 2741;
19194 enum int foursubscript
= 16785540;
19195 enum int foursuperior
= 16785524;
19196 enum int fourthroot
= 16785948;
19198 // Unintrospectable function: frame_source_add() / clutter_frame_source_add()
19200 // DEPRECATED function: frame_source_add - 1.6
19201 // Simple wrapper around clutter_frame_source_add_full().
19202 // RETURNS: the ID (greater than 0) of the event source.
19203 // <fps>: the number of times per second to call the function
19204 // <func>: function to call
19205 // <data>: data to pass to the function
19206 static uint frame_source_add()(uint fps
, GLib2
.SourceFunc func
, void* data
) {
19207 return clutter_frame_source_add(fps
, func
, data
);
19212 // DEPRECATED function: frame_source_add_full - 1.6
19213 // Sets a function to be called at regular intervals with the given
19214 // priority. The function is called repeatedly until it returns
19215 // %FALSE, at which point the timeout is automatically destroyed and
19216 // the function will not be called again. The @notify function is
19217 // called when the timeout is destroyed. The first call to the
19218 // function will be at the end of the first @interval.
19220 // This function is similar to g_timeout_add_full() except that it
19221 // will try to compensate for delays. For example, if @func takes half
19222 // the interval time to execute then the function will be called again
19223 // half the interval time after it finished. In contrast
19224 // g_timeout_add_full() would not fire until a full interval after the
19225 // function completes so the delay between calls would be 1.0 / @fps *
19226 // 1.5. This function does not however try to invoke the function
19227 // multiple times to catch up missing frames if @func takes more than
19228 // @interval ms to execute.
19229 // RETURNS: the ID (greater than 0) of the event source.
19230 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
19231 // <fps>: the number of times per second to call the function
19232 // <func>: function to call
19233 // <data>: data to pass to the function
19234 // <notify>: function to call when the timeout source is removed
19235 static uint frame_source_add_full()(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
19236 return clutter_frame_source_add_full(priority
, fps
, func
, data
, notify
);
19239 enum int function_
= 2294;
19241 enum int gabovedot
= 757;
19242 enum int gbreve
= 699;
19243 enum int gcaron
= 16777703;
19244 enum int gcedilla
= 955;
19245 enum int gcircumflex
= 760;
19248 // Returns whether Clutter has accessibility support enabled. As
19249 // least, a value of TRUE means that there are a proper AtkUtil
19250 // implementation available
19251 // RETURNS: %TRUE if Clutter has accessibility support enabled
19252 static int get_accessibility_enabled()() {
19253 return clutter_get_accessibility_enabled();
19258 // DEPRECATED (v1.8) function: get_actor_by_gid - The id is not used any longer.
19259 // Retrieves the #ClutterActor with @id_.
19261 // The returned actor does not have its reference count increased.
19262 // RETURNS: the actor with the passed id or %NULL.
19263 // <id_>: a #ClutterActor unique id.
19264 static Actor
* get_actor_by_gid()(uint id_
) {
19265 return clutter_get_actor_by_gid(id_
);
19270 // If an event is currently being processed, return that event.
19271 // This function is intended to be used to access event state
19272 // that might not be exposed by higher-level widgets. For
19273 // example, to get the key modifier state from a Button 'clicked'
19275 // RETURNS: The current ClutterEvent, or %NULL if none
19276 static Event
* get_current_event()() {
19277 return clutter_get_current_event();
19282 // Retrieves the timestamp of the last event, if there is an
19283 // event or if the event has a timestamp.
19284 // RETURNS: the event timestamp, or %CLUTTER_CURRENT_TIME
19285 static uint get_current_event_time()() {
19286 return clutter_get_current_event_time();
19290 // Check if clutter has debugging turned on.
19291 // RETURNS: TRUE if debugging is turned on, FALSE otherwise.
19292 static int get_debug_enabled()() {
19293 return clutter_get_debug_enabled();
19298 // Retrieves the default #ClutterBackend used by Clutter. The
19299 // #ClutterBackend holds backend-specific configuration options.
19301 // not ref or unref the returned object. Applications should rarely
19302 // need to use this.
19303 // RETURNS: the default backend. You should
19304 static Backend
* get_default_backend()() {
19305 return clutter_get_default_backend();
19310 // Retrieves the default frame rate. See clutter_set_default_frame_rate().
19311 // RETURNS: the default frame rate
19312 static uint get_default_frame_rate()() {
19313 return clutter_get_default_frame_rate();
19318 // Retrieves the default direction for the text. The text direction is
19319 // determined by the locale and/or by the <varname>CLUTTER_TEXT_DIRECTION</varname>
19320 // environment variable.
19322 // The default text direction can be overridden on a per-actor basis by using
19323 // clutter_actor_set_text_direction().
19324 // RETURNS: the default text direction
19325 static TextDirection
get_default_text_direction()() {
19326 return clutter_get_default_text_direction();
19331 // Gets the current font flags for rendering text. See
19332 // clutter_set_font_flags().
19333 // RETURNS: The font flags
19334 static FontFlags
get_font_flags()() {
19335 return clutter_get_font_flags();
19340 // Retrieves the #PangoFontMap instance used by Clutter.
19341 // You can use the global font map object with the COGL
19344 // value is owned by Clutter and it should never be unreferenced.
19345 // RETURNS: the #PangoFontMap instance. The returned
19346 static Pango
.FontMap
* get_font_map()() {
19347 return clutter_get_font_map();
19352 // Retrieves the #ClutterInputDevice from its @id_. This is a convenience
19353 // wrapper for clutter_device_manager_get_device() and it is functionally
19357 // ClutterDeviceManager *manager;
19358 // ClutterInputDevice *device;
19360 // manager = clutter_device_manager_get_default ();
19361 // device = clutter_device_manager_get_device (manager, id);
19363 // RETURNS: a #ClutterInputDevice, or %NULL
19364 // <id_>: the unique id for a device
19365 static InputDevice
* get_input_device_for_id()(int id_
) {
19366 return clutter_get_input_device_for_id(id_
);
19371 // Queries the current keyboard grab of clutter.
19372 // RETURNS: the actor currently holding the keyboard grab, or NULL if there is no grab.
19373 static Actor
* get_keyboard_grab()() {
19374 return clutter_get_keyboard_grab();
19379 // DEPRECATED (v1.8) function: get_motion_events_enabled - Use clutter_stage_get_motion_events_enabled() instead.
19380 // Gets whether the per-actor motion events are enabled.
19381 // RETURNS: %TRUE if the motion events are enabled
19382 static int get_motion_events_enabled()() {
19383 return clutter_get_motion_events_enabled();
19387 // Unintrospectable function: get_option_group() / clutter_get_option_group()
19389 // Returns a #GOptionGroup for the command line arguments recognized
19390 // by Clutter. You should add this group to your #GOptionContext with
19391 // g_option_context_add_group(), if you are using g_option_context_parse()
19392 // to parse your commandline arguments.
19394 // Calling g_option_context_parse() with Clutter's #GOptionGroup will result
19395 // in Clutter's initialization. That is, the following code:
19398 // g_option_context_set_main_group (context, clutter_get_option_group ());
19399 // res = g_option_context_parse (context, &argc, &argc, NULL);
19402 // is functionally equivalent to:
19405 // clutter_init (&argc, &argv);
19408 // After g_option_context_parse() on a #GOptionContext containing the
19409 // Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be
19412 // recognized by Clutter
19413 // RETURNS: a #GOptionGroup for the commandline arguments
19414 static GLib2
.OptionGroup
* /*new*/ get_option_group()() {
19415 return clutter_get_option_group();
19419 // Unintrospectable function: get_option_group_without_init() / clutter_get_option_group_without_init()
19421 // Returns a #GOptionGroup for the command line arguments recognized
19422 // by Clutter. You should add this group to your #GOptionContext with
19423 // g_option_context_add_group(), if you are using g_option_context_parse()
19424 // to parse your commandline arguments.
19426 // Unlike clutter_get_option_group(), calling g_option_context_parse() with
19427 // the #GOptionGroup returned by this function requires a subsequent explicit
19428 // call to clutter_init(); use this function when needing to set foreign
19429 // display connection with clutter_x11_set_display(), or with
19430 // <function>gtk_clutter_init()</function>.
19432 // recognized by Clutter
19433 // RETURNS: a #GOptionGroup for the commandline arguments
19434 static GLib2
.OptionGroup
* /*new*/ get_option_group_without_init()() {
19435 return clutter_get_option_group_without_init();
19440 // Queries the current pointer grab of clutter.
19441 // RETURNS: the actor currently holding the pointer grab, or NULL if there is no grab.
19442 static Actor
* get_pointer_grab()() {
19443 return clutter_get_pointer_grab();
19448 // Retrieves the Clutter script id, if any.
19450 // a UI definition file. The returned string is owned by the object and
19451 // should never be modified or freed.
19452 // RETURNS: the script id, or %NULL if @object was not defined inside
19453 // <gobject>: a #GObject
19454 static char* get_script_id()(GObject2
.Object
* gobject
) {
19455 return clutter_get_script_id(gobject
);
19460 // Returns whether Clutter should print out the frames per second on the
19461 // console. You can enable this setting either using the
19462 // <literal>CLUTTER_SHOW_FPS</literal> environment variable or passing
19463 // the <literal>--clutter-show-fps</literal> command line argument. *
19464 // RETURNS: %TRUE if Clutter should show the FPS.
19465 static int get_show_fps()() {
19466 return clutter_get_show_fps();
19470 // Returns the approximate number of microseconds passed since clutter was
19472 // RETURNS: Number of microseconds since clutter_init() was called.
19473 static c_ulong
get_timestamp()() {
19474 return clutter_get_timestamp();
19479 // Grabs keyboard events, after the grab is done keyboard
19480 // events (#ClutterActor::key-press-event and #ClutterActor::key-release-event)
19481 // are delivered to this actor directly. The source set in the event will be
19482 // the actor that would have received the event if the keyboard grab was not
19485 // Like pointer grabs, keyboard grabs should only be used as a last
19488 // See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus()
19489 // to perform a "soft" key grab and assign key focus to a specific actor.
19490 // <actor>: a #ClutterActor
19491 static void grab_keyboard()(Actor
* actor
) {
19492 clutter_grab_keyboard(actor
);
19497 // Grabs pointer events, after the grab is done all pointer related events
19498 // (press, motion, release, enter, leave and scroll) are delivered to this
19499 // actor directly without passing through both capture and bubble phases of
19500 // the event delivery chain. The source set in the event will be the actor
19501 // that would have received the event if the pointer grab was not in effect.
19503 // <note><para>Grabs completely override the entire event delivery chain
19504 // done by Clutter. Pointer grabs should only be used as a last resource;
19505 // using the #ClutterActor::captured-event signal should always be the
19506 // preferred way to intercept event delivery to reactive actors.</para></note>
19508 // If you wish to grab all the pointer events for a specific input device,
19509 // you should use clutter_grab_pointer_for_device().
19510 // <actor>: a #ClutterActor
19511 static void grab_pointer()(Actor
* actor
) {
19512 clutter_grab_pointer(actor
);
19517 // Grabs all the pointer events coming from the device @id for @actor.
19519 // If @id is -1 then this function is equivalent to clutter_grab_pointer().
19520 // <actor>: a #ClutterActor
19521 // <id_>: a device id, or -1
19522 static void grab_pointer_for_device()(Actor
* actor
, int id_
) {
19523 clutter_grab_pointer_for_device(actor
, id_
);
19526 enum int grave
= 96;
19527 enum int greater
= 62;
19528 enum int greaterthanequal
= 2238;
19529 enum int guillemotleft
= 171;
19530 enum int guillemotright
= 187;
19532 enum int hairspace
= 2728;
19533 enum int hcircumflex
= 694;
19534 enum int heart
= 2798;
19535 enum int hebrew_aleph
= 3296;
19536 enum int hebrew_ayin
= 3314;
19537 enum int hebrew_bet
= 3297;
19538 enum int hebrew_beth
= 3297;
19539 enum int hebrew_chet
= 3303;
19540 enum int hebrew_dalet
= 3299;
19541 enum int hebrew_daleth
= 3299;
19542 enum int hebrew_doublelowline
= 3295;
19543 enum int hebrew_finalkaph
= 3306;
19544 enum int hebrew_finalmem
= 3309;
19545 enum int hebrew_finalnun
= 3311;
19546 enum int hebrew_finalpe
= 3315;
19547 enum int hebrew_finalzade
= 3317;
19548 enum int hebrew_finalzadi
= 3317;
19549 enum int hebrew_gimel
= 3298;
19550 enum int hebrew_gimmel
= 3298;
19551 enum int hebrew_he
= 3300;
19552 enum int hebrew_het
= 3303;
19553 enum int hebrew_kaph
= 3307;
19554 enum int hebrew_kuf
= 3319;
19555 enum int hebrew_lamed
= 3308;
19556 enum int hebrew_mem
= 3310;
19557 enum int hebrew_nun
= 3312;
19558 enum int hebrew_pe
= 3316;
19559 enum int hebrew_qoph
= 3319;
19560 enum int hebrew_resh
= 3320;
19561 enum int hebrew_samech
= 3313;
19562 enum int hebrew_samekh
= 3313;
19563 enum int hebrew_shin
= 3321;
19564 enum int hebrew_taf
= 3322;
19565 enum int hebrew_taw
= 3322;
19566 enum int hebrew_tet
= 3304;
19567 enum int hebrew_teth
= 3304;
19568 enum int hebrew_waw
= 3301;
19569 enum int hebrew_yod
= 3305;
19570 enum int hebrew_zade
= 3318;
19571 enum int hebrew_zadi
= 3318;
19572 enum int hebrew_zain
= 3302;
19573 enum int hebrew_zayin
= 3302;
19574 enum int hexagram
= 2778;
19575 enum int horizconnector
= 2211;
19576 enum int horizlinescan1
= 2543;
19577 enum int horizlinescan3
= 2544;
19578 enum int horizlinescan5
= 2545;
19579 enum int horizlinescan7
= 2546;
19580 enum int horizlinescan9
= 2547;
19581 enum int hstroke
= 689;
19582 enum int ht
= 2530;
19583 enum int hyphen
= 173;
19585 enum int iTouch
= 269025120;
19586 enum int iacute
= 237;
19587 enum int ibelowdot
= 16785099;
19588 enum int ibreve
= 16777517;
19589 enum int icircumflex
= 238;
19590 enum int identical
= 2255;
19591 enum int idiaeresis
= 239;
19592 enum int idotless
= 697;
19593 enum int ifonlyif
= 2253;
19594 enum int igrave
= 236;
19595 enum int ihook
= 16785097;
19596 enum int imacron
= 1007;
19597 enum int implies
= 2254;
19598 enum int includedin
= 2266;
19599 enum int includes
= 2267;
19600 enum int infinity
= 2242;
19602 // Initialises everything needed to operate with Clutter and parses some
19603 // standard command line options; @argc and @argv are adjusted accordingly
19604 // so your own code will never see those standard arguments.
19606 // It is safe to call this function multiple times.
19608 // <note>This function will not abort in case of errors during
19609 // initialization; clutter_init() will print out the error message on
19610 // stderr, and will return an error code. It is up to the application
19611 // code to handle this case. If you need to display the error message
19612 // yourself, you can use clutter_init_with_args(), which takes a #GError
19614 // RETURNS: a #ClutterInitError value
19615 // <argc>: The number of arguments in @argv
19616 // <argv>: A pointer to an array of arguments.
19617 static InitError
init()(/*inout*/ int* argc
, /*inout*/ char*** argv
=null) {
19618 return clutter_init(argc
, argv
);
19621 // MOVED TO: InitError.quark
19622 static GLib2
.Quark
init_error_quark()() {
19623 return clutter_init_error_quark();
19628 // This function does the same work as clutter_init(). Additionally,
19629 // it allows you to add your own command line options, and it
19630 // automatically generates nicely formatted <option>--help</option>
19631 // output. Note that your program will be terminated after writing
19632 // out the help output. Also note that, in case of error, the
19633 // error message will be placed inside @error instead of being
19634 // printed on the display.
19636 // initialised, or other values or #ClutterInitError in case of
19638 // RETURNS: %CLUTTER_INIT_SUCCESS if Clutter has been successfully
19639 // <argc>: a pointer to the number of command line arguments
19640 // <argv>: a pointer to the array of command line arguments
19641 // <parameter_string>: a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal>
19642 // <entries>: a %NULL terminated array of #GOptionEntry<!-- -->s describing the options of your program
19643 // <translation_domain>: a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL
19644 static InitError
init_with_args()(/*inout*/ int* argc
, /*inout*/ char*** argv
, char* parameter_string
, GLib2
.OptionEntry
* entries
, char* translation_domain
, GLib2
.Error
** error
=null) {
19645 return clutter_init_with_args(argc
, argv
, parameter_string
, entries
, translation_domain
, error
);
19648 enum int integral
= 2239;
19649 enum int intersection
= 2268;
19650 enum int iogonek
= 999;
19651 enum int itilde
= 949;
19653 enum int jcircumflex
= 700;
19654 enum int jot
= 3018;
19656 enum int kana_A
= 1201;
19657 enum int kana_CHI
= 1217;
19658 enum int kana_E
= 1204;
19659 enum int kana_FU
= 1228;
19660 enum int kana_HA
= 1226;
19661 enum int kana_HE
= 1229;
19662 enum int kana_HI
= 1227;
19663 enum int kana_HO
= 1230;
19664 enum int kana_HU
= 1228;
19665 enum int kana_I
= 1202;
19666 enum int kana_KA
= 1206;
19667 enum int kana_KE
= 1209;
19668 enum int kana_KI
= 1207;
19669 enum int kana_KO
= 1210;
19670 enum int kana_KU
= 1208;
19671 enum int kana_MA
= 1231;
19672 enum int kana_ME
= 1234;
19673 enum int kana_MI
= 1232;
19674 enum int kana_MO
= 1235;
19675 enum int kana_MU
= 1233;
19676 enum int kana_N
= 1245;
19677 enum int kana_NA
= 1221;
19678 enum int kana_NE
= 1224;
19679 enum int kana_NI
= 1222;
19680 enum int kana_NO
= 1225;
19681 enum int kana_NU
= 1223;
19682 enum int kana_O
= 1205;
19683 enum int kana_RA
= 1239;
19684 enum int kana_RE
= 1242;
19685 enum int kana_RI
= 1240;
19686 enum int kana_RO
= 1243;
19687 enum int kana_RU
= 1241;
19688 enum int kana_SA
= 1211;
19689 enum int kana_SE
= 1214;
19690 enum int kana_SHI
= 1212;
19691 enum int kana_SO
= 1215;
19692 enum int kana_SU
= 1213;
19693 enum int kana_TA
= 1216;
19694 enum int kana_TE
= 1219;
19695 enum int kana_TI
= 1217;
19696 enum int kana_TO
= 1220;
19697 enum int kana_TSU
= 1218;
19698 enum int kana_TU
= 1218;
19699 enum int kana_U
= 1203;
19700 enum int kana_WA
= 1244;
19701 enum int kana_WO
= 1190;
19702 enum int kana_YA
= 1236;
19703 enum int kana_YO
= 1238;
19704 enum int kana_YU
= 1237;
19705 enum int kana_a
= 1191;
19706 enum int kana_closingbracket
= 1187;
19707 enum int kana_comma
= 1188;
19708 enum int kana_conjunctive
= 1189;
19709 enum int kana_e
= 1194;
19710 enum int kana_fullstop
= 1185;
19711 enum int kana_i
= 1192;
19712 enum int kana_middledot
= 1189;
19713 enum int kana_o
= 1195;
19714 enum int kana_openingbracket
= 1186;
19715 enum int kana_switch
= 65406;
19716 enum int kana_tsu
= 1199;
19717 enum int kana_tu
= 1199;
19718 enum int kana_u
= 1193;
19719 enum int kana_ya
= 1196;
19720 enum int kana_yo
= 1198;
19721 enum int kana_yu
= 1197;
19722 enum int kappa
= 930;
19723 enum int kcedilla
= 1011;
19725 // Converts @keyval from a Clutter key symbol to the corresponding
19726 // ISO10646 (Unicode) character.
19729 // RETURNS: a Unicode character, or 0 if there is no corresponding
19730 // <keyval>: a key symbol
19731 static uint keysym_to_unicode()(uint keyval
) {
19732 return clutter_keysym_to_unicode(keyval
);
19735 enum int kra
= 930;
19737 enum int lacute
= 485;
19738 enum int latincross
= 2777;
19739 enum int lbelowdot
= 16784951;
19740 enum int lcaron
= 437;
19741 enum int lcedilla
= 950;
19742 enum int leftanglebracket
= 2748;
19743 enum int leftarrow
= 2299;
19744 enum int leftcaret
= 2979;
19745 enum int leftdoublequotemark
= 2770;
19746 enum int leftmiddlecurlybrace
= 2223;
19747 enum int leftopentriangle
= 2764;
19748 enum int leftpointer
= 2794;
19749 enum int leftradical
= 2209;
19750 enum int leftshoe
= 3034;
19751 enum int leftsinglequotemark
= 2768;
19752 enum int leftt
= 2548;
19753 enum int lefttack
= 3036;
19754 enum int less
= 60;
19755 enum int lessthanequal
= 2236;
19756 enum int lf
= 2533;
19757 enum int logicaland
= 2270;
19758 enum int logicalor
= 2271;
19759 enum int lowleftcorner
= 2541;
19760 enum int lowrightcorner
= 2538;
19761 enum int lstroke
= 435;
19763 enum int mabovedot
= 16784961;
19764 enum int macron
= 175;
19765 // Starts the Clutter mainloop.
19766 static void main_()() {
19771 // Retrieves the depth of the Clutter mainloop.
19772 // RETURNS: The level of the mainloop.
19773 static int main_level()() {
19774 return clutter_main_level();
19777 // Terminates the Clutter mainloop.
19778 static void main_quit()() {
19779 clutter_main_quit();
19782 enum int malesymbol
= 2807;
19783 enum int maltesecross
= 2800;
19784 enum int marker
= 2751;
19785 enum int masculine
= 186;
19786 enum int minus
= 45;
19787 enum int minutes
= 2774;
19789 enum int multiply
= 215;
19790 enum int musicalflat
= 2806;
19791 enum int musicalsharp
= 2805;
19793 enum int nabla
= 2245;
19794 enum int nacute
= 497;
19795 enum int ncaron
= 498;
19796 enum int ncedilla
= 1009;
19797 enum int ninesubscript
= 16785545;
19798 enum int ninesuperior
= 16785529;
19799 enum int nl
= 2536;
19800 enum int nobreakspace
= 160;
19801 enum int notapproxeq
= 16785991;
19802 enum int notelementof
= 16785929;
19803 enum int notequal
= 2237;
19804 enum int notidentical
= 16786018;
19805 enum int notsign
= 172;
19806 enum int ntilde
= 241;
19807 enum int numbersign
= 35;
19808 enum int numerosign
= 1712;
19810 enum int oacute
= 243;
19811 enum int obarred
= 16777845;
19812 enum int obelowdot
= 16785101;
19813 enum int ocaron
= 16777682;
19814 enum int ocircumflex
= 244;
19815 enum int ocircumflexacute
= 16785105;
19816 enum int ocircumflexbelowdot
= 16785113;
19817 enum int ocircumflexgrave
= 16785107;
19818 enum int ocircumflexhook
= 16785109;
19819 enum int ocircumflextilde
= 16785111;
19820 enum int odiaeresis
= 246;
19821 enum int odoubleacute
= 501;
19822 enum int oe
= 5053;
19823 enum int ogonek
= 434;
19824 enum int ograve
= 242;
19825 enum int ohook
= 16785103;
19826 enum int ohorn
= 16777633;
19827 enum int ohornacute
= 16785115;
19828 enum int ohornbelowdot
= 16785123;
19829 enum int ohorngrave
= 16785117;
19830 enum int ohornhook
= 16785119;
19831 enum int ohorntilde
= 16785121;
19832 enum int omacron
= 1010;
19833 enum int oneeighth
= 2755;
19834 enum int onefifth
= 2738;
19835 enum int onehalf
= 189;
19836 enum int onequarter
= 188;
19837 enum int onesixth
= 2742;
19838 enum int onesubscript
= 16785537;
19839 enum int onesuperior
= 185;
19840 enum int onethird
= 2736;
19841 enum int ooblique
= 248;
19842 enum int openrectbullet
= 2786;
19843 enum int openstar
= 2789;
19844 enum int opentribulletdown
= 2788;
19845 enum int opentribulletup
= 2787;
19846 enum int ordfeminine
= 170;
19847 enum int oslash
= 248;
19848 enum int otilde
= 245;
19849 enum int overbar
= 3008;
19850 enum int overline
= 1150;
19852 enum int pabovedot
= 16784983;
19853 enum int paragraph
= 182;
19855 // Unintrospectable function: param_spec_color() / clutter_param_spec_color()
19857 // Creates a #GParamSpec for properties using #ClutterColor.
19858 // RETURNS: the newly created #GParamSpec
19859 // <name>: name of the property
19860 // <nick>: short name
19861 // <blurb>: description (can be translatable)
19862 // <default_value>: default value
19863 // <flags>: flags for the param spec
19864 static GObject2
.ParamSpec
* param_spec_color()(char* name
, char* nick
, char* blurb
, Color
* default_value
, GObject2
.ParamFlags flags
) {
19865 return clutter_param_spec_color(name
, nick
, blurb
, default_value
, flags
);
19869 // Unintrospectable function: param_spec_fixed() / clutter_param_spec_fixed()
19871 // Creates a #GParamSpec for properties using #CoglFixed values
19872 // RETURNS: the newly created #GParamSpec
19873 // <name>: name of the property
19874 // <nick>: short name
19875 // <blurb>: description (can be translatable)
19876 // <minimum>: lower boundary
19877 // <maximum>: higher boundary
19878 // <default_value>: default value
19879 // <flags>: flags for the param spec
19880 static GObject2
.ParamSpec
* param_spec_fixed()(char* name
, char* nick
, char* blurb
, Cogl
.Fixed minimum
, Cogl
.Fixed maximum
, Cogl
.Fixed default_value
, GObject2
.ParamFlags flags
) {
19881 return clutter_param_spec_fixed(name
, nick
, blurb
, minimum
, maximum
, default_value
, flags
);
19885 // Unintrospectable function: param_spec_units() / clutter_param_spec_units()
19887 // Creates a #GParamSpec for properties using #ClutterUnits.
19888 // RETURNS: the newly created #GParamSpec
19889 // <name>: name of the property
19890 // <nick>: short name
19891 // <blurb>: description (can be translatable)
19892 // <default_type>: the default type for the #ClutterUnits
19893 // <minimum>: lower boundary
19894 // <maximum>: higher boundary
19895 // <default_value>: default value
19896 // <flags>: flags for the param spec
19897 static GObject2
.ParamSpec
* param_spec_units()(char* name
, char* nick
, char* blurb
, UnitType default_type
, float minimum
, float maximum
, float default_value
, GObject2
.ParamFlags flags
) {
19898 return clutter_param_spec_units(name
, nick
, blurb
, default_type
, minimum
, maximum
, default_value
, flags
);
19901 enum int parenleft
= 40;
19902 enum int parenright
= 41;
19903 enum int partdifferential
= 16785922;
19904 enum int partialderivative
= 2287;
19905 enum int percent
= 37;
19906 enum int period
= 46;
19907 enum int periodcentered
= 183;
19908 enum int phonographcopyright
= 2811;
19909 enum int plus
= 43;
19910 enum int plusminus
= 177;
19911 enum int prescription
= 2772;
19912 enum int prolongedsound
= 1200;
19913 enum int punctspace
= 2726;
19915 enum int quad
= 3020;
19916 enum int question
= 63;
19917 enum int questiondown
= 191;
19918 enum int quotedbl
= 34;
19919 enum int quoteleft
= 96;
19920 enum int quoteright
= 39;
19922 enum int racute
= 480;
19923 enum int radical
= 2262;
19924 enum int rcaron
= 504;
19925 enum int rcedilla
= 947;
19927 // Forces a redraw of the entire stage. Applications should never use this
19928 // function, but queue a redraw using clutter_actor_queue_redraw().
19930 // This function should only be used by libraries integrating Clutter from
19931 // within another toolkit.
19932 static void redraw()(Stage
* stage
) {
19933 clutter_redraw(stage
);
19936 enum int registered
= 174;
19937 enum int rightanglebracket
= 2750;
19938 enum int rightarrow
= 2301;
19939 enum int rightcaret
= 2982;
19940 enum int rightdoublequotemark
= 2771;
19941 enum int rightmiddlecurlybrace
= 2224;
19942 enum int rightmiddlesummation
= 2231;
19943 enum int rightopentriangle
= 2765;
19944 enum int rightpointer
= 2795;
19945 enum int rightshoe
= 3032;
19946 enum int rightsinglequotemark
= 2769;
19947 enum int rightt
= 2549;
19948 enum int righttack
= 3068;
19950 enum int sabovedot
= 16784993;
19951 enum int sacute
= 438;
19952 enum int scaron
= 441;
19953 enum int scedilla
= 442;
19954 enum int schwa
= 16777817;
19955 enum int scircumflex
= 766;
19956 // MOVED TO: ScriptError.quark
19957 static GLib2
.Quark
script_error_quark()() {
19958 return clutter_script_error_quark();
19961 enum int script_switch
= 65406;
19962 enum int seconds
= 2775;
19963 enum int section
= 167;
19964 enum int semicolon
= 59;
19965 enum int semivoicedsound
= 1247;
19968 // Sets the default frame rate. This frame rate will be used to limit
19969 // the number of frames drawn if Clutter is not able to synchronize
19970 // with the vertical refresh rate of the display. When synchronization
19971 // is possible, this value is ignored.
19972 // <frames_per_sec>: the new default frame rate
19973 static void set_default_frame_rate()(uint frames_per_sec
) {
19974 clutter_set_default_frame_rate(frames_per_sec
);
19979 // Sets the font quality options for subsequent text rendering
19982 // Using mipmapped textures will improve the quality for scaled down
19983 // text but will use more texture memory.
19985 // Enabling hinting improves text quality for static text but may
19986 // introduce some artifacts if the text is animated.
19987 // <flags>: The new flags
19988 static void set_font_flags()(FontFlags flags
) {
19989 clutter_set_font_flags(flags
);
19994 // DEPRECATED (v1.8) function: set_motion_events_enabled - Use clutter_stage_set_motion_events_enabled() instead.
19995 // Sets whether per-actor motion events should be enabled or not on
19996 // all #ClutterStage<!-- -->s managed by Clutter.
19998 // If @enable is %FALSE the following events will not work:
20000 // <listitem><para>ClutterActor::motion-event, unless on the
20001 // #ClutterStage</para></listitem>
20002 // <listitem><para>ClutterActor::enter-event</para></listitem>
20003 // <listitem><para>ClutterActor::leave-event</para></listitem>
20005 // <enable>: %TRUE to enable per-actor motion events
20006 static void set_motion_events_enabled()(int enable
) {
20007 clutter_set_motion_events_enabled(enable
);
20010 enum int seveneighths
= 2758;
20011 enum int sevensubscript
= 16785543;
20012 enum int sevensuperior
= 16785527;
20013 // MOVED TO: ShaderError.quark
20014 static GLib2
.Quark
shader_error_quark()() {
20015 return clutter_shader_error_quark();
20018 enum int signaturemark
= 2762;
20019 enum int signifblank
= 2732;
20020 enum int similarequal
= 2249;
20021 enum int singlelowquotemark
= 2813;
20022 enum int sixsubscript
= 16785542;
20023 enum int sixsuperior
= 16785526;
20024 enum int slash
= 47;
20025 enum int soliddiamond
= 2528;
20026 enum int space
= 32;
20027 enum int squareroot
= 16785946;
20028 enum int ssharp
= 223;
20029 enum int sterling
= 163;
20030 enum int stricteq
= 16786019;
20032 enum int tabovedot
= 16785003;
20033 enum int tcaron
= 443;
20034 enum int tcedilla
= 510;
20035 enum int telephone
= 2809;
20036 enum int telephonerecorder
= 2810;
20037 // MOVED TO: TextureError.quark
20038 static GLib2
.Quark
texture_error_quark()() {
20039 return clutter_texture_error_quark();
20042 enum int therefore
= 2240;
20043 enum int thinspace
= 2727;
20044 enum int thorn
= 254;
20046 // Unintrospectable function: threads_add_frame_source() / clutter_threads_add_frame_source()
20048 // DEPRECATED function: threads_add_frame_source - 1.6
20049 // Simple wrapper around clutter_threads_add_frame_source_full().
20050 // RETURNS: the ID (greater than 0) of the event source.
20051 // <fps>: the number of times per second to call the function
20052 // <func>: function to call
20053 // <data>: data to pass to the function
20054 static uint threads_add_frame_source()(uint fps
, GLib2
.SourceFunc func
, void* data
) {
20055 return clutter_threads_add_frame_source(fps
, func
, data
);
20060 // DEPRECATED function: threads_add_frame_source_full - 1.6
20061 // Sets a function to be called at regular intervals holding the Clutter
20062 // threads lock, with the given priority. The function is called repeatedly
20063 // until it returns %FALSE, at which point the timeout is automatically
20064 // removed and the function will not be called again. The @notify function
20065 // is called when the timeout is removed.
20067 // This function is similar to clutter_threads_add_timeout_full()
20068 // except that it will try to compensate for delays. For example, if
20069 // @func takes half the interval time to execute then the function
20070 // will be called again half the interval time after it finished. In
20071 // contrast clutter_threads_add_timeout_full() would not fire until a
20072 // full interval after the function completes so the delay between
20073 // calls would be @interval * 1.5. This function does not however try
20074 // to invoke the function multiple times to catch up missing frames if
20075 // @func takes more than @interval ms to execute.
20077 // See also clutter_threads_add_idle_full().
20078 // RETURNS: the ID (greater than 0) of the event source.
20079 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
20080 // <fps>: the number of times per second to call the function
20081 // <func>: function to call
20082 // <data>: data to pass to the function
20083 // <notify>: function to call when the timeout source is removed
20084 static uint threads_add_frame_source_full()(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
20085 return clutter_threads_add_frame_source_full(priority
, fps
, func
, data
, notify
);
20089 // Unintrospectable function: threads_add_idle() / clutter_threads_add_idle()
20091 // Simple wrapper around clutter_threads_add_idle_full() using the
20092 // default priority.
20093 // RETURNS: the ID (greater than 0) of the event source.
20094 // <func>: function to call
20095 // <data>: data to pass to the function
20096 static uint threads_add_idle()(GLib2
.SourceFunc func
, void* data
) {
20097 return clutter_threads_add_idle(func
, data
);
20102 // Adds a function to be called whenever there are no higher priority
20103 // events pending. If the function returns %FALSE it is automatically
20104 // removed from the list of event sources and will not be called again.
20106 // This function can be considered a thread-safe variant of g_idle_add_full():
20107 // it will call @function while holding the Clutter lock. It is logically
20108 // equivalent to the following implementation:
20112 // idle_safe_callback (gpointer data)
20114 // SafeClosure *closure = data;
20115 // gboolean res = FALSE;
20117 // /* mark the critical section */
20119 // clutter_threads_enter();
20121 // /* the callback does not need to acquire the Clutter
20122 // * lock itself, as it is held by the this proxy handler
20124 // res = closure->callback (closure->data);
20126 // clutter_threads_leave();
20131 // add_safe_idle (GSourceFunc callback,
20134 // SafeClosure *closure = g_new0 (SafeClosure, 1);
20136 // closure->callback = callback;
20137 // closure->data = data;
20139 // return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
20140 // idle_safe_callback,
20146 // This function should be used by threaded applications to make sure
20147 // that @func is emitted under the Clutter threads lock and invoked
20148 // from the same thread that started the Clutter main loop. For instance,
20149 // it can be used to update the UI using the results from a worker
20154 // update_ui (gpointer data)
20156 // SomeClosure *closure = data;
20158 // /* it is safe to call Clutter API from this function because
20159 // * it is invoked from the same thread that started the main
20160 // * loop and under the Clutter thread lock
20162 // clutter_label_set_text (CLUTTER_LABEL (closure->label),
20163 // closure->text);
20165 // g_object_unref (closure->label);
20166 // g_free (closure);
20171 // /* within another thread */
20172 // closure = g_new0 (SomeClosure, 1);
20173 // /* always take a reference on GObject instances */
20174 // closure->label = g_object_ref (my_application->label);
20175 // closure->text = g_strdup (processed_text_to_update_the_label);
20177 // clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
20182 // RETURNS: the ID (greater than 0) of the event source.
20183 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE
20184 // <func>: function to call
20185 // <data>: data to pass to the function
20186 // <notify>: functio to call when the idle source is removed
20187 static uint threads_add_idle_full()(int priority
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
20188 return clutter_threads_add_idle_full(priority
, func
, data
, notify
);
20193 // Adds a function to be called whenever Clutter is repainting a Stage.
20194 // If the function returns %FALSE it is automatically removed from the
20195 // list of repaint functions and will not be called again.
20197 // This function is guaranteed to be called from within the same thread
20198 // that called clutter_main(), and while the Clutter lock is being held.
20200 // A repaint function is useful to ensure that an update of the scenegraph
20201 // is performed before the scenegraph is repainted; for instance, uploading
20202 // a frame from a video into a #ClutterTexture.
20204 // When the repaint function is removed (either because it returned %FALSE
20205 // or because clutter_threads_remove_repaint_func() has been called) the
20206 // @notify function will be called, if any is set.
20208 // can use the returned integer to remove the repaint function by
20209 // calling clutter_threads_remove_repaint_func().
20210 // RETURNS: the ID (greater than 0) of the repaint function. You
20211 // <func>: the function to be called within the paint cycle
20212 // <data>: data to be passed to the function, or %NULL
20213 // <notify>: function to be called when removing the repaint function, or %NULL
20214 static uint threads_add_repaint_func()(GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
20215 return clutter_threads_add_repaint_func(func
, data
, notify
);
20219 // Unintrospectable function: threads_add_timeout() / clutter_threads_add_timeout()
20221 // Simple wrapper around clutter_threads_add_timeout_full().
20222 // RETURNS: the ID (greater than 0) of the event source.
20223 // <interval>: the time between calls to the function, in milliseconds
20224 // <func>: function to call
20225 // <data>: data to pass to the function
20226 static uint threads_add_timeout()(uint interval
, GLib2
.SourceFunc func
, void* data
) {
20227 return clutter_threads_add_timeout(interval
, func
, data
);
20232 // Sets a function to be called at regular intervals holding the Clutter
20233 // threads lock, with the given priority. The function is called repeatedly
20234 // until it returns %FALSE, at which point the timeout is automatically
20235 // removed and the function will not be called again. The @notify function
20236 // is called when the timeout is removed.
20238 // The first call to the function will be at the end of the first @interval.
20240 // It is important to note that, due to how the Clutter main loop is
20241 // implemented, the timing will not be accurate and it will not try to
20242 // "keep up" with the interval. A more reliable source is available
20243 // using clutter_threads_add_frame_source_full(), which is also internally
20244 // used by #ClutterTimeline.
20246 // See also clutter_threads_add_idle_full().
20247 // RETURNS: the ID (greater than 0) of the event source.
20248 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
20249 // <interval>: the time between calls to the function, in milliseconds
20250 // <func>: function to call
20251 // <data>: data to pass to the function
20252 // <notify>: function to call when the timeout source is removed
20253 static uint threads_add_timeout_full()(int priority
, uint interval
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
20254 return clutter_threads_add_timeout_full(priority
, interval
, func
, data
, notify
);
20259 // Locks the Clutter thread lock.
20260 static void threads_enter()() {
20261 clutter_threads_enter();
20266 // Initialises the Clutter threading mechanism, so that Clutter API can be
20267 // called by multiple threads, using clutter_threads_enter() and
20268 // clutter_threads_leave() to mark the critical sections.
20270 // You must call g_thread_init() before this function.
20272 // This function must be called before clutter_init().
20274 // It is safe to call this function multiple times.
20275 static void threads_init()() {
20276 clutter_threads_init();
20281 // Unlocks the Clutter thread lock.
20282 static void threads_leave()() {
20283 clutter_threads_leave();
20288 // Removes the repaint function with @handle_id as its id
20289 // <handle_id>: an unsigned integer greater than zero
20290 static void threads_remove_repaint_func()(uint handle_id
) {
20291 clutter_threads_remove_repaint_func(handle_id
);
20295 // Unintrospectable function: threads_set_lock_functions() / clutter_threads_set_lock_functions()
20297 // Allows the application to replace the standard method that
20298 // Clutter uses to protect its data structures. Normally, Clutter
20299 // creates a single #GMutex that is locked by clutter_threads_enter(),
20300 // and released by clutter_threads_leave(); using this function an
20301 // application provides, instead, a function @enter_fn that is
20302 // called by clutter_threads_enter() and a function @leave_fn that is
20303 // called by clutter_threads_leave().
20305 // The functions must provide at least same locking functionality
20306 // as the default implementation, but can also do extra application
20307 // specific processing.
20309 // As an example, consider an application that has its own recursive
20310 // lock that when held, holds the Clutter lock as well. When Clutter
20311 // unlocks the Clutter lock when entering a recursive main loop, the
20312 // application must temporarily release its lock as well.
20314 // Most threaded Clutter apps won't need to use this method.
20316 // This method must be called before clutter_threads_init(), and cannot
20317 // be called multiple times.
20318 // <enter_fn>: function called when aquiring the Clutter main lock
20319 // <leave_fn>: function called when releasing the Clutter main lock
20320 static void threads_set_lock_functions()(GObject2
.Callback enter_fn
, GObject2
.Callback leave_fn
) {
20321 clutter_threads_set_lock_functions(enter_fn
, leave_fn
);
20324 enum int threeeighths
= 2756;
20325 enum int threefifths
= 2740;
20326 enum int threequarters
= 190;
20327 enum int threesubscript
= 16785539;
20328 enum int threesuperior
= 179;
20330 // Unintrospectable function: timeout_pool_new() / clutter_timeout_pool_new()
20332 // DEPRECATED function: timeout_pool_new - 1.6
20333 // MOVED TO: TimeoutPool.new
20334 // Creates a new timeout pool source. A timeout pool should be used when
20335 // multiple timeout functions, running at the same priority, are needed and
20336 // the g_timeout_add() API might lead to starvation of the time slice of
20337 // the main loop. A timeout pool allocates a single time slice of the main
20338 // loop and runs every timeout function inside it. The timeout pool is
20339 // always sorted, so that the extraction of the next timeout function is
20340 // a constant time operation.
20342 // is owned by the GLib default context and will be automatically
20343 // destroyed when the context is destroyed. It is possible to force
20344 // the destruction of the timeout pool using g_source_destroy()
20345 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
20346 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
20347 static TimeoutPool
* timeout_pool_new()(int priority
) {
20348 return clutter_timeout_pool_new(priority
);
20351 enum int tintegral
= 16785965;
20352 enum int topintegral
= 2212;
20353 enum int topleftparens
= 2219;
20354 enum int topleftradical
= 2210;
20355 enum int topleftsqbracket
= 2215;
20356 enum int topleftsummation
= 2225;
20357 enum int toprightparens
= 2221;
20358 enum int toprightsqbracket
= 2217;
20359 enum int toprightsummation
= 2229;
20360 enum int topt
= 2551;
20361 enum int topvertsummationconnector
= 2227;
20362 enum int trademark
= 2761;
20363 enum int trademarkincircle
= 2763;
20364 enum int tslash
= 956;
20365 enum int twofifths
= 2739;
20366 enum int twosubscript
= 16785538;
20367 enum int twosuperior
= 178;
20368 enum int twothirds
= 2737;
20370 enum int uacute
= 250;
20371 enum int ubelowdot
= 16785125;
20372 enum int ubreve
= 765;
20373 enum int ucircumflex
= 251;
20374 enum int udiaeresis
= 252;
20375 enum int udoubleacute
= 507;
20376 enum int ugrave
= 249;
20377 enum int uhook
= 16785127;
20378 enum int uhorn
= 16777648;
20379 enum int uhornacute
= 16785129;
20380 enum int uhornbelowdot
= 16785137;
20381 enum int uhorngrave
= 16785131;
20382 enum int uhornhook
= 16785133;
20383 enum int uhorntilde
= 16785135;
20384 enum int umacron
= 1022;
20385 enum int underbar
= 3014;
20386 enum int underscore
= 95;
20389 // Removes an existing grab of the keyboard.
20390 static void ungrab_keyboard()() {
20391 clutter_ungrab_keyboard();
20396 // Removes an existing grab of the pointer.
20397 static void ungrab_pointer()() {
20398 clutter_ungrab_pointer();
20403 // Removes an existing grab of the pointer events for device @id_.
20404 // <id_>: a device id
20405 static void ungrab_pointer_for_device()(int id_
) {
20406 clutter_ungrab_pointer_for_device(id_
);
20409 enum int union_
= 2269;
20410 enum int uogonek
= 1017;
20411 enum int uparrow
= 2300;
20412 enum int upcaret
= 2985;
20413 enum int upleftcorner
= 2540;
20414 enum int uprightcorner
= 2539;
20415 enum int upshoe
= 3011;
20416 enum int upstile
= 3027;
20417 enum int uptack
= 3022;
20418 enum int uring
= 505;
20420 // DEPRECATED function: util_next_p2 - 1.2
20421 // Calculates the nearest power of two, greater than or equal to @a.
20422 // RETURNS: The nearest power of two, greater or equal to @a.
20423 // <a>: Value to get the next power
20424 static int util_next_p2()(int a
) {
20425 return clutter_util_next_p2(a
);
20428 enum int utilde
= 1021;
20432 // Gets the #ClutterColor contained in @value.
20433 // RETURNS: the color inside the passed #GValue
20434 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
20435 static Color
* value_get_color()(GObject2
.Value
* value
) {
20436 return clutter_value_get_color(value
);
20440 // Unintrospectable function: value_get_fixed() / clutter_value_get_fixed()
20442 // Gets the fixed point value stored inside @value.
20443 // RETURNS: the value inside the passed #GValue
20444 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
20445 static Cogl
.Fixed
value_get_fixed()(GObject2
.Value
* value
) {
20446 return clutter_value_get_fixed(value
);
20451 // Retrieves the list of floating point values stored inside
20452 // the passed #GValue. @value must have been initialized with
20453 // %CLUTTER_TYPE_SHADER_FLOAT.
20455 // The returned value is owned by the #GValue and should never
20456 // be modified or freed.
20457 // RETURNS: the pointer to a list of floating point values.
20458 // <value>: a #GValue
20459 // <length>: return location for the number of returned floating point values, or %NULL
20460 static float* value_get_shader_float()(GObject2
.Value
* value
, size_t
* length
) {
20461 return clutter_value_get_shader_float(value
, length
);
20466 // Retrieves the list of integer values stored inside the passed
20467 // #GValue. @value must have been initialized with
20468 // %CLUTTER_TYPE_SHADER_INT.
20470 // The returned value is owned by the #GValue and should never
20471 // be modified or freed.
20472 // RETURNS: the pointer to a list of integer values.
20473 // <value>: a #GValue
20474 // <length>: return location for the number of returned integer values, or %NULL
20475 static int* value_get_shader_int()(GObject2
.Value
* value
, size_t
* length
) {
20476 return clutter_value_get_shader_int(value
, length
);
20481 // Retrieves a matrix of floating point values stored inside
20482 // the passed #GValue. @value must have been initialized with
20483 // %CLUTTER_TYPE_SHADER_MATRIX.
20485 // of floating point values. The returned value is owned by the #GValue and
20486 // should never be modified or freed.
20487 // RETURNS: the pointer to a matrix
20488 // <value>: a #GValue
20489 // <length>: return location for the number of returned floating point values, or %NULL
20490 static float* value_get_shader_matrix()(GObject2
.Value
* value
, /*out*/ size_t
* length
) {
20491 return clutter_value_get_shader_matrix(value
, length
);
20496 // Gets the #ClutterUnits contained in @value.
20497 // RETURNS: the units inside the passed #GValue
20498 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
20499 static Units
* value_get_units()(GObject2
.Value
* value
) {
20500 return clutter_value_get_units(value
);
20505 // Sets @value to @color.
20506 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
20507 // <color>: the color to set
20508 static void value_set_color()(GObject2
.Value
* value
, Color
* color
) {
20509 clutter_value_set_color(value
, color
);
20513 // Unintrospectable function: value_set_fixed() / clutter_value_set_fixed()
20515 // Sets @value to @fixed_.
20516 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
20517 // <fixed_>: the fixed point value to set
20518 static void value_set_fixed()(GObject2
.Value
* value
, Cogl
.Fixed fixed_
) {
20519 clutter_value_set_fixed(value
, fixed_
);
20524 // Sets @floats as the contents of @value. The passed #GValue
20525 // must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.
20526 // <value>: a #GValue
20527 // <size>: number of floating point values in @floats
20528 // <floats>: an array of floating point values
20529 static void value_set_shader_float()(GObject2
.Value
* value
, int size
, float* floats
) {
20530 clutter_value_set_shader_float(value
, size
, floats
);
20535 // Sets @ints as the contents of @value. The passed #GValue
20536 // must have been initialized using %CLUTTER_TYPE_SHADER_INT.
20537 // <value>: a #GValue
20538 // <size>: number of integer values in @ints
20539 // <ints>: an array of integer values
20540 static void value_set_shader_int()(GObject2
.Value
* value
, int size
, int* ints
) {
20541 clutter_value_set_shader_int(value
, size
, ints
);
20546 // Sets @matrix as the contents of @value. The passed #GValue
20547 // must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.
20548 // <value>: a #GValue
20549 // <size>: number of floating point values in @floats
20550 // <matrix>: a matrix of floating point values
20551 static void value_set_shader_matrix()(GObject2
.Value
* value
, int size
, float* matrix
) {
20552 clutter_value_set_shader_matrix(value
, size
, matrix
);
20557 // Sets @value to @units
20558 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
20559 // <units>: the units to set
20560 static void value_set_units()(GObject2
.Value
* value
, Units
* units
) {
20561 clutter_value_set_units(value
, units
);
20564 enum int variation
= 2241;
20565 enum int vertbar
= 2552;
20566 enum int vertconnector
= 2214;
20567 enum int voicedsound
= 1246;
20568 enum int vt
= 2537;
20570 enum int wacute
= 16785027;
20571 enum int wcircumflex
= 16777589;
20572 enum int wdiaeresis
= 16785029;
20573 enum int wgrave
= 16785025;
20575 enum int xabovedot
= 16785035;
20577 enum int yacute
= 253;
20578 enum int ybelowdot
= 16785141;
20579 enum int ycircumflex
= 16777591;
20580 enum int ydiaeresis
= 255;
20581 enum int yen
= 165;
20582 enum int ygrave
= 16785139;
20583 enum int yhook
= 16785143;
20584 enum int ytilde
= 16785145;
20586 enum int zabovedot
= 447;
20587 enum int zacute
= 444;
20588 enum int zcaron
= 446;
20589 enum int zerosubscript
= 16785536;
20590 enum int zerosuperior
= 16785520;
20591 enum int zstroke
= 16777654;
20593 // --- mixin/Clutter__MODULE.d --->
20595 // An overload of init() that works with D strings.
20596 // Unlike the original, it does not need to modify the inputs.
20597 // Returns a new string array (that can be assigned to the argv
20598 // array in the caller).
20600 string
[] init()(string argv
[]) {
20601 int argc
= argv
.length
;
20602 auto c_argv
= argvToC(argv
);
20603 init(&argc
, &c_argv
);
20604 return argvFromC(argc
, c_argv
);
20608 // <--- mixin/Clutter__MODULE.d ---
20613 void clutter_actor_add_action(Actor
* this_
, Action
* action
);
20614 void clutter_actor_add_action_with_name(Actor
* this_
, char* name
, Action
* action
);
20615 void clutter_actor_add_constraint(Actor
* this_
, Constraint
* constraint
);
20616 void clutter_actor_add_constraint_with_name(Actor
* this_
, char* name
, Constraint
* constraint
);
20617 void clutter_actor_add_effect(Actor
* this_
, Effect
* effect
);
20618 void clutter_actor_add_effect_with_name(Actor
* this_
, char* name
, Effect
* effect
);
20619 void clutter_actor_allocate(Actor
* this_
, ActorBox
* box
, AllocationFlags flags
);
20620 void clutter_actor_allocate_align_fill(Actor
* this_
, ActorBox
* box
, double x_align
, double y_align
, int x_fill
, int y_fill
, AllocationFlags flags
);
20621 void clutter_actor_allocate_available_size(Actor
* this_
, float x
, float y
, float available_width
, float available_height
, AllocationFlags flags
);
20622 void clutter_actor_allocate_preferred_size(Actor
* this_
, AllocationFlags flags
);
20623 Animation
* clutter_actor_animate(Actor
* this_
, c_ulong mode
, uint duration
, char* first_property_name
, ...);
20624 Animation
* clutter_actor_animate_with_alpha(Actor
* this_
, Alpha
* alpha
, char* first_property_name
, ...);
20625 Animation
* clutter_actor_animate_with_alphav(Actor
* this_
, Alpha
* alpha
, int n_properties
, char* properties
, GObject2
.Value
* values
);
20626 Animation
* clutter_actor_animate_with_timeline(Actor
* this_
, c_ulong mode
, Timeline
* timeline
, char* first_property_name
, ...);
20627 Animation
* clutter_actor_animate_with_timelinev(Actor
* this_
, c_ulong mode
, Timeline
* timeline
, int n_properties
, char* properties
, GObject2
.Value
* values
);
20628 Animation
* clutter_actor_animatev(Actor
* this_
, c_ulong mode
, uint duration
, int n_properties
, char* properties
, GObject2
.Value
* values
);
20629 void clutter_actor_apply_relative_transform_to_point(Actor
* this_
, Actor
* ancestor
, Vertex
* point
, /*out*/ Vertex
* vertex
);
20630 void clutter_actor_apply_transform_to_point(Actor
* this_
, Vertex
* point
, /*out*/ Vertex
* vertex
);
20631 void clutter_actor_clear_actions(Actor
* this_
);
20632 void clutter_actor_clear_constraints(Actor
* this_
);
20633 void clutter_actor_clear_effects(Actor
* this_
);
20634 int clutter_actor_contains(Actor
* this_
, Actor
* descendant
);
20635 void clutter_actor_continue_paint(Actor
* this_
);
20636 Pango
.Context
* /*new*/ clutter_actor_create_pango_context(Actor
* this_
);
20637 Pango
.Layout
* /*new*/ clutter_actor_create_pango_layout(Actor
* this_
, char* text
);
20638 void clutter_actor_destroy(Actor
* this_
);
20639 void clutter_actor_detach_animation(Actor
* this_
);
20640 int clutter_actor_event(Actor
* this_
, Event
* event
, int capture
);
20641 void clutter_actor_get_abs_allocation_vertices(Actor
* this_
, /*out*/ Vertex verts
);
20642 Atk
.Object
* clutter_actor_get_accessible(Actor
* this_
);
20643 Action
* clutter_actor_get_action(Actor
* this_
, char* name
);
20644 GLib2
.List
* /*new container*/ clutter_actor_get_actions(Actor
* this_
);
20645 void clutter_actor_get_allocation_box(Actor
* this_
, /*out*/ ActorBox
* box
);
20646 void clutter_actor_get_allocation_geometry(Actor
* this_
, /*out*/ Geometry
* geom
);
20647 void clutter_actor_get_allocation_vertices(Actor
* this_
, Actor
* ancestor
, /*out*/ Vertex verts
);
20648 void clutter_actor_get_anchor_point(Actor
* this_
, /*out*/ float* anchor_x
, /*out*/ float* anchor_y
);
20649 Gravity
clutter_actor_get_anchor_point_gravity(Actor
* this_
);
20650 Animation
* clutter_actor_get_animation(Actor
* this_
);
20651 void clutter_actor_get_clip(Actor
* this_
, /*out*/ float* xoff
=null, /*out*/ float* yoff
=null, /*out*/ float* width
=null, /*out*/ float* height
=null);
20652 int clutter_actor_get_clip_to_allocation(Actor
* this_
);
20653 Constraint
* clutter_actor_get_constraint(Actor
* this_
, char* name
);
20654 GLib2
.List
* /*new container*/ clutter_actor_get_constraints(Actor
* this_
);
20655 float clutter_actor_get_depth(Actor
* this_
);
20656 Effect
* clutter_actor_get_effect(Actor
* this_
, char* name
);
20657 GLib2
.List
* /*new container*/ clutter_actor_get_effects(Actor
* this_
);
20658 int clutter_actor_get_fixed_position_set(Actor
* this_
);
20659 ActorFlags
clutter_actor_get_flags(Actor
* this_
);
20660 void clutter_actor_get_geometry(Actor
* this_
, /*out*/ Geometry
* geometry
);
20661 uint clutter_actor_get_gid(Actor
* this_
);
20662 float clutter_actor_get_height(Actor
* this_
);
20663 char* clutter_actor_get_name(Actor
* this_
);
20664 OffscreenRedirect
clutter_actor_get_offscreen_redirect(Actor
* this_
);
20665 ubyte clutter_actor_get_opacity(Actor
* this_
);
20666 int clutter_actor_get_paint_box(Actor
* this_
, /*out*/ ActorBox
* box
);
20667 ubyte clutter_actor_get_paint_opacity(Actor
* this_
);
20668 int clutter_actor_get_paint_visibility(Actor
* this_
);
20669 PaintVolume
* clutter_actor_get_paint_volume(Actor
* this_
);
20670 Pango
.Context
* clutter_actor_get_pango_context(Actor
* this_
);
20671 Actor
* clutter_actor_get_parent(Actor
* this_
);
20672 void clutter_actor_get_position(Actor
* this_
, /*out*/ float* x
=null, /*out*/ float* y
=null);
20673 void clutter_actor_get_preferred_height(Actor
* this_
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* natural_height_p
=null);
20674 void clutter_actor_get_preferred_size(Actor
* this_
, /*out*/ float* min_width_p
=null, /*out*/ float* min_height_p
=null, /*out*/ float* natural_width_p
=null, /*out*/ float* natural_height_p
=null);
20675 void clutter_actor_get_preferred_width(Actor
* this_
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* natural_width_p
=null);
20676 int clutter_actor_get_reactive(Actor
* this_
);
20677 RequestMode
clutter_actor_get_request_mode(Actor
* this_
);
20678 double clutter_actor_get_rotation(Actor
* this_
, RotateAxis axis
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* z
);
20679 void clutter_actor_get_scale(Actor
* this_
, /*out*/ double* scale_x
=null, /*out*/ double* scale_y
=null);
20680 void clutter_actor_get_scale_center(Actor
* this_
, /*out*/ float* center_x
=null, /*out*/ float* center_y
=null);
20681 Gravity
clutter_actor_get_scale_gravity(Actor
* this_
);
20682 Shader
* clutter_actor_get_shader(Actor
* this_
);
20683 void clutter_actor_get_size(Actor
* this_
, /*out*/ float* width
=null, /*out*/ float* height
=null);
20684 Actor
* clutter_actor_get_stage(Actor
* this_
);
20685 TextDirection
clutter_actor_get_text_direction(Actor
* this_
);
20686 void clutter_actor_get_transformation_matrix(Actor
* this_
, /*out*/ Cogl
.Matrix
* matrix
);
20687 PaintVolume
* clutter_actor_get_transformed_paint_volume(Actor
* this_
, Actor
* relative_to_ancestor
);
20688 void clutter_actor_get_transformed_position(Actor
* this_
, /*out*/ float* x
=null, /*out*/ float* y
=null);
20689 void clutter_actor_get_transformed_size(Actor
* this_
, /*out*/ float* width
=null, /*out*/ float* height
=null);
20690 float clutter_actor_get_width(Actor
* this_
);
20691 float clutter_actor_get_x(Actor
* this_
);
20692 float clutter_actor_get_y(Actor
* this_
);
20693 Gravity
clutter_actor_get_z_rotation_gravity(Actor
* this_
);
20694 void clutter_actor_grab_key_focus(Actor
* this_
);
20695 int clutter_actor_has_allocation(Actor
* this_
);
20696 int clutter_actor_has_clip(Actor
* this_
);
20697 int clutter_actor_has_key_focus(Actor
* this_
);
20698 int clutter_actor_has_overlaps(Actor
* this_
);
20699 int clutter_actor_has_pointer(Actor
* this_
);
20700 void clutter_actor_hide(Actor
* this_
);
20701 void clutter_actor_hide_all(Actor
* this_
);
20702 int clutter_actor_is_in_clone_paint(Actor
* this_
);
20703 int clutter_actor_is_rotated(Actor
* this_
);
20704 int clutter_actor_is_scaled(Actor
* this_
);
20705 void clutter_actor_lower(Actor
* this_
, Actor
* above
=null);
20706 void clutter_actor_lower_bottom(Actor
* this_
);
20707 void clutter_actor_map(Actor
* this_
);
20708 void clutter_actor_move_anchor_point(Actor
* this_
, float anchor_x
, float anchor_y
);
20709 void clutter_actor_move_anchor_point_from_gravity(Actor
* this_
, Gravity gravity
);
20710 void clutter_actor_move_by(Actor
* this_
, float dx
, float dy
);
20711 void clutter_actor_paint(Actor
* this_
);
20712 void clutter_actor_pop_internal(Actor
* this_
);
20713 void clutter_actor_push_internal(Actor
* this_
);
20714 void clutter_actor_queue_redraw(Actor
* this_
);
20715 void clutter_actor_queue_relayout(Actor
* this_
);
20716 void clutter_actor_raise(Actor
* this_
, Actor
* below
=null);
20717 void clutter_actor_raise_top(Actor
* this_
);
20718 void clutter_actor_realize(Actor
* this_
);
20719 void clutter_actor_remove_action(Actor
* this_
, Action
* action
);
20720 void clutter_actor_remove_action_by_name(Actor
* this_
, char* name
);
20721 void clutter_actor_remove_clip(Actor
* this_
);
20722 void clutter_actor_remove_constraint(Actor
* this_
, Constraint
* constraint
);
20723 void clutter_actor_remove_constraint_by_name(Actor
* this_
, char* name
);
20724 void clutter_actor_remove_effect(Actor
* this_
, Effect
* effect
);
20725 void clutter_actor_remove_effect_by_name(Actor
* this_
, char* name
);
20726 void clutter_actor_reparent(Actor
* this_
, Actor
* new_parent
);
20727 void clutter_actor_set_anchor_point(Actor
* this_
, float anchor_x
, float anchor_y
);
20728 void clutter_actor_set_anchor_point_from_gravity(Actor
* this_
, Gravity gravity
);
20729 void clutter_actor_set_clip(Actor
* this_
, float xoff
, float yoff
, float width
, float height
);
20730 void clutter_actor_set_clip_to_allocation(Actor
* this_
, int clip_set
);
20731 void clutter_actor_set_depth(Actor
* this_
, float depth
);
20732 void clutter_actor_set_fixed_position_set(Actor
* this_
, int is_set
);
20733 void clutter_actor_set_flags(Actor
* this_
, ActorFlags flags
);
20734 void clutter_actor_set_geometry(Actor
* this_
, Geometry
* geometry
);
20735 void clutter_actor_set_height(Actor
* this_
, float height
);
20736 void clutter_actor_set_name(Actor
* this_
, char* name
);
20737 void clutter_actor_set_offscreen_redirect(Actor
* this_
, OffscreenRedirect redirect
);
20738 void clutter_actor_set_opacity(Actor
* this_
, ubyte opacity
);
20739 void clutter_actor_set_parent(Actor
* this_
, Actor
* parent
);
20740 void clutter_actor_set_position(Actor
* this_
, float x
, float y
);
20741 void clutter_actor_set_reactive(Actor
* this_
, int reactive
);
20742 void clutter_actor_set_request_mode(Actor
* this_
, RequestMode mode
);
20743 void clutter_actor_set_rotation(Actor
* this_
, RotateAxis axis
, double angle
, float x
, float y
, float z
);
20744 void clutter_actor_set_scale(Actor
* this_
, double scale_x
, double scale_y
);
20745 void clutter_actor_set_scale_full(Actor
* this_
, double scale_x
, double scale_y
, float center_x
, float center_y
);
20746 void clutter_actor_set_scale_with_gravity(Actor
* this_
, double scale_x
, double scale_y
, Gravity gravity
);
20747 int clutter_actor_set_shader(Actor
* this_
, Shader
* shader
=null);
20748 void clutter_actor_set_shader_param(Actor
* this_
, char* param
, GObject2
.Value
* value
);
20749 void clutter_actor_set_shader_param_float(Actor
* this_
, char* param
, float value
);
20750 void clutter_actor_set_shader_param_int(Actor
* this_
, char* param
, int value
);
20751 void clutter_actor_set_size(Actor
* this_
, float width
, float height
);
20752 void clutter_actor_set_text_direction(Actor
* this_
, TextDirection text_dir
);
20753 void clutter_actor_set_width(Actor
* this_
, float width
);
20754 void clutter_actor_set_x(Actor
* this_
, float x
);
20755 void clutter_actor_set_y(Actor
* this_
, float y
);
20756 void clutter_actor_set_z_rotation_from_gravity(Actor
* this_
, double angle
, Gravity gravity
);
20757 int clutter_actor_should_pick_paint(Actor
* this_
);
20758 void clutter_actor_show(Actor
* this_
);
20759 void clutter_actor_show_all(Actor
* this_
);
20760 int clutter_actor_transform_stage_point(Actor
* this_
, float x
, float y
, /*out*/ float* x_out
, /*out*/ float* y_out
);
20761 void clutter_actor_unmap(Actor
* this_
);
20762 void clutter_actor_unparent(Actor
* this_
);
20763 void clutter_actor_unrealize(Actor
* this_
);
20764 void clutter_actor_unset_flags(Actor
* this_
, ActorFlags flags
);
20765 ActorBox
* /*new*/ clutter_actor_box_new(float x_1
, float y_1
, float x_2
, float y_2
);
20766 void clutter_actor_box_clamp_to_pixel(ActorBox
* this_
);
20767 int clutter_actor_box_contains(ActorBox
* this_
, float x
, float y
);
20768 ActorBox
* /*new*/ clutter_actor_box_copy(ActorBox
* this_
);
20769 int clutter_actor_box_equal(ActorBox
* this_
, ActorBox
* box_b
);
20770 void clutter_actor_box_free(ActorBox
* this_
);
20771 void clutter_actor_box_from_vertices(ActorBox
* this_
, Vertex verts
);
20772 float clutter_actor_box_get_area(ActorBox
* this_
);
20773 float clutter_actor_box_get_height(ActorBox
* this_
);
20774 void clutter_actor_box_get_origin(ActorBox
* this_
, /*out*/ float* x
=null, /*out*/ float* y
=null);
20775 void clutter_actor_box_get_size(ActorBox
* this_
, /*out*/ float* width
=null, /*out*/ float* height
=null);
20776 float clutter_actor_box_get_width(ActorBox
* this_
);
20777 float clutter_actor_box_get_x(ActorBox
* this_
);
20778 float clutter_actor_box_get_y(ActorBox
* this_
);
20779 void clutter_actor_box_interpolate(ActorBox
* this_
, ActorBox
* final_
, double progress
, /*out*/ ActorBox
* result
);
20780 void clutter_actor_box_set_origin(ActorBox
* this_
, float x
, float y
);
20781 void clutter_actor_box_set_size(ActorBox
* this_
, float width
, float height
);
20782 void clutter_actor_box_union(ActorBox
* this_
, ActorBox
* b
, /*out*/ ActorBox
* result
);
20783 Actor
* clutter_actor_meta_get_actor(ActorMeta
* this_
);
20784 int clutter_actor_meta_get_enabled(ActorMeta
* this_
);
20785 char* clutter_actor_meta_get_name(ActorMeta
* this_
);
20786 void clutter_actor_meta_set_enabled(ActorMeta
* this_
, int is_enabled
);
20787 void clutter_actor_meta_set_name(ActorMeta
* this_
, char* name
);
20788 AlignConstraint
* clutter_align_constraint_new(Actor
* source
, AlignAxis axis
, float factor
);
20789 AlignAxis
clutter_align_constraint_get_align_axis(AlignConstraint
* this_
);
20790 float clutter_align_constraint_get_factor(AlignConstraint
* this_
);
20791 Actor
* clutter_align_constraint_get_source(AlignConstraint
* this_
);
20792 void clutter_align_constraint_set_align_axis(AlignConstraint
* this_
, AlignAxis axis
);
20793 void clutter_align_constraint_set_factor(AlignConstraint
* this_
, float factor
);
20794 void clutter_align_constraint_set_source(AlignConstraint
* this_
, Actor
* source
=null);
20795 Alpha
* clutter_alpha_new();
20796 Alpha
* clutter_alpha_new_full(Timeline
* timeline
, c_ulong mode
);
20797 Alpha
* clutter_alpha_new_with_func(Timeline
* timeline
, AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
);
20798 c_ulong
clutter_alpha_register_closure(GObject2
.Closure
* closure
);
20799 c_ulong
clutter_alpha_register_func(AlphaFunc func
, void* data
);
20800 double clutter_alpha_get_alpha(Alpha
* this_
);
20801 c_ulong
clutter_alpha_get_mode(Alpha
* this_
);
20802 Timeline
* clutter_alpha_get_timeline(Alpha
* this_
);
20803 void clutter_alpha_set_closure(Alpha
* this_
, GObject2
.Closure
* closure
);
20804 void clutter_alpha_set_func(Alpha
* this_
, AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
);
20805 void clutter_alpha_set_mode(Alpha
* this_
, c_ulong mode
);
20806 void clutter_alpha_set_timeline(Alpha
* this_
, Timeline
* timeline
);
20807 int clutter_animatable_animate_property(Animatable
* this_
, Animation
* animation
, char* property_name
, GObject2
.Value
* initial_value
, GObject2
.Value
* final_value
, double progress
, GObject2
.Value
* value
);
20808 GObject2
.ParamSpec
* clutter_animatable_find_property(Animatable
* this_
, char* property_name
);
20809 void clutter_animatable_get_initial_state(Animatable
* this_
, char* property_name
, GObject2
.Value
* value
);
20810 int clutter_animatable_interpolate_value(Animatable
* this_
, char* property_name
, Interval
* interval
, double progress
, /*out*/ GObject2
.Value
* value
);
20811 void clutter_animatable_set_final_state(Animatable
* this_
, char* property_name
, GObject2
.Value
* value
);
20812 Animation
* /*new*/ clutter_animation_new();
20813 Animation
* clutter_animation_bind(Animation
* this_
, char* property_name
, GObject2
.Value
* final_
);
20814 Animation
* clutter_animation_bind_interval(Animation
* this_
, char* property_name
, Interval
* interval
);
20815 void clutter_animation_completed(Animation
* this_
);
20816 Alpha
* clutter_animation_get_alpha(Animation
* this_
);
20817 uint clutter_animation_get_duration(Animation
* this_
);
20818 Interval
* clutter_animation_get_interval(Animation
* this_
, char* property_name
);
20819 int clutter_animation_get_loop(Animation
* this_
);
20820 c_ulong
clutter_animation_get_mode(Animation
* this_
);
20821 GObject2
.Object
* clutter_animation_get_object(Animation
* this_
);
20822 Timeline
* clutter_animation_get_timeline(Animation
* this_
);
20823 int clutter_animation_has_property(Animation
* this_
, char* property_name
);
20824 void clutter_animation_set_alpha(Animation
* this_
, Alpha
* alpha
);
20825 void clutter_animation_set_duration(Animation
* this_
, uint msecs
);
20826 void clutter_animation_set_loop(Animation
* this_
, int loop);
20827 void clutter_animation_set_mode(Animation
* this_
, c_ulong mode
);
20828 void clutter_animation_set_object(Animation
* this_
, GObject2
.Object
* object
);
20829 void clutter_animation_set_timeline(Animation
* this_
, Timeline
* timeline
);
20830 void clutter_animation_unbind_property(Animation
* this_
, char* property_name
);
20831 Animation
* clutter_animation_update(Animation
* this_
, char* property_name
, GObject2
.Value
* final_
);
20832 void clutter_animation_update_interval(Animation
* this_
, char* property_name
, Interval
* interval
);
20833 Animator
* /*new*/ clutter_animator_new();
20834 int clutter_animator_compute_value(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, double progress
, GObject2
.Value
* value
);
20835 uint clutter_animator_get_duration(Animator
* this_
);
20836 GLib2
.List
* /*new container*/ clutter_animator_get_keys(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, double progress
);
20837 Timeline
* clutter_animator_get_timeline(Animator
* this_
);
20838 int clutter_animator_property_get_ease_in(Animator
* this_
, GObject2
.Object
* object
, char* property_name
);
20839 Interpolation
clutter_animator_property_get_interpolation(Animator
* this_
, GObject2
.Object
* object
, char* property_name
);
20840 void clutter_animator_property_set_ease_in(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, int ease_in
);
20841 void clutter_animator_property_set_interpolation(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, Interpolation interpolation
);
20842 void clutter_animator_remove_key(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, double progress
);
20843 void clutter_animator_set(Animator
* this_
, void* first_object
, char* first_property_name
, uint first_mode
, double first_progress
, ...);
20844 void clutter_animator_set_duration(Animator
* this_
, uint duration
);
20845 Animator
* clutter_animator_set_key(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, uint mode
, double progress
, GObject2
.Value
* value
);
20846 void clutter_animator_set_timeline(Animator
* this_
, Timeline
* timeline
);
20847 Timeline
* clutter_animator_start(Animator
* this_
);
20848 c_ulong
clutter_animator_key_get_mode(AnimatorKey
* this_
);
20849 GObject2
.Object
* clutter_animator_key_get_object(AnimatorKey
* this_
);
20850 double clutter_animator_key_get_progress(AnimatorKey
* this_
);
20851 char* clutter_animator_key_get_property_name(AnimatorKey
* this_
);
20852 Type
clutter_animator_key_get_property_type(AnimatorKey
* this_
);
20853 int clutter_animator_key_get_value(AnimatorKey
* this_
, GObject2
.Value
* value
);
20854 uint clutter_backend_get_double_click_distance(Backend
* this_
);
20855 uint clutter_backend_get_double_click_time(Backend
* this_
);
20856 char* clutter_backend_get_font_name(Backend
* this_
);
20857 cairo
.FontOptions
* clutter_backend_get_font_options(Backend
* this_
);
20858 double clutter_backend_get_resolution(Backend
* this_
);
20859 void clutter_backend_set_double_click_distance(Backend
* this_
, uint distance
);
20860 void clutter_backend_set_double_click_time(Backend
* this_
, uint msec
);
20861 void clutter_backend_set_font_name(Backend
* this_
, char* font_name
);
20862 void clutter_backend_set_font_options(Backend
* this_
, cairo
.FontOptions
* options
);
20863 void clutter_backend_set_resolution(Backend
* this_
, double dpi
);
20864 void clutter_behaviour_actors_foreach(Behaviour
* this_
, BehaviourForeachFunc func
, void* data
);
20865 void clutter_behaviour_apply(Behaviour
* this_
, Actor
* actor
);
20866 GLib2
.SList
* /*new container*/ clutter_behaviour_get_actors(Behaviour
* this_
);
20867 Alpha
* clutter_behaviour_get_alpha(Behaviour
* this_
);
20868 int clutter_behaviour_get_n_actors(Behaviour
* this_
);
20869 Actor
* clutter_behaviour_get_nth_actor(Behaviour
* this_
, int index_
);
20870 int clutter_behaviour_is_applied(Behaviour
* this_
, Actor
* actor
);
20871 void clutter_behaviour_remove(Behaviour
* this_
, Actor
* actor
);
20872 void clutter_behaviour_remove_all(Behaviour
* this_
);
20873 void clutter_behaviour_set_alpha(Behaviour
* this_
, Alpha
* alpha
);
20874 BehaviourDepth
* /*new*/ clutter_behaviour_depth_new(Alpha
* alpha
, int depth_start
, int depth_end
);
20875 void clutter_behaviour_depth_get_bounds(BehaviourDepth
* this_
, /*out*/ int* depth_start
, /*out*/ int* depth_end
);
20876 void clutter_behaviour_depth_set_bounds(BehaviourDepth
* this_
, int depth_start
, int depth_end
);
20877 BehaviourEllipse
* /*new*/ clutter_behaviour_ellipse_new(Alpha
* alpha
, int x
, int y
, int width
, int height
, RotateDirection direction
, double start
, double end
);
20878 double clutter_behaviour_ellipse_get_angle_end(BehaviourEllipse
* this_
);
20879 double clutter_behaviour_ellipse_get_angle_start(BehaviourEllipse
* this_
);
20880 double clutter_behaviour_ellipse_get_angle_tilt(BehaviourEllipse
* this_
, RotateAxis axis
);
20881 void clutter_behaviour_ellipse_get_center(BehaviourEllipse
* this_
, /*out*/ int* x
, /*out*/ int* y
);
20882 RotateDirection
clutter_behaviour_ellipse_get_direction(BehaviourEllipse
* this_
);
20883 int clutter_behaviour_ellipse_get_height(BehaviourEllipse
* this_
);
20884 void clutter_behaviour_ellipse_get_tilt(BehaviourEllipse
* this_
, /*out*/ double* angle_tilt_x
, /*out*/ double* angle_tilt_y
, /*out*/ double* angle_tilt_z
);
20885 int clutter_behaviour_ellipse_get_width(BehaviourEllipse
* this_
);
20886 void clutter_behaviour_ellipse_set_angle_end(BehaviourEllipse
* this_
, double angle_end
);
20887 void clutter_behaviour_ellipse_set_angle_start(BehaviourEllipse
* this_
, double angle_start
);
20888 void clutter_behaviour_ellipse_set_angle_tilt(BehaviourEllipse
* this_
, RotateAxis axis
, double angle_tilt
);
20889 void clutter_behaviour_ellipse_set_center(BehaviourEllipse
* this_
, int x
, int y
);
20890 void clutter_behaviour_ellipse_set_direction(BehaviourEllipse
* this_
, RotateDirection direction
);
20891 void clutter_behaviour_ellipse_set_height(BehaviourEllipse
* this_
, int height
);
20892 void clutter_behaviour_ellipse_set_tilt(BehaviourEllipse
* this_
, double angle_tilt_x
, double angle_tilt_y
, double angle_tilt_z
);
20893 void clutter_behaviour_ellipse_set_width(BehaviourEllipse
* this_
, int width
);
20894 BehaviourOpacity
* /*new*/ clutter_behaviour_opacity_new(Alpha
* alpha
, ubyte opacity_start
, ubyte opacity_end
);
20895 void clutter_behaviour_opacity_get_bounds(BehaviourOpacity
* this_
, /*out*/ ubyte* opacity_start
, /*out*/ ubyte* opacity_end
);
20896 void clutter_behaviour_opacity_set_bounds(BehaviourOpacity
* this_
, ubyte opacity_start
, ubyte opacity_end
);
20897 BehaviourPath
* /*new*/ clutter_behaviour_path_new(Alpha
* alpha
, Path
* path
);
20898 BehaviourPath
* /*new*/ clutter_behaviour_path_new_with_description(Alpha
* alpha
, char* desc
);
20899 BehaviourPath
* /*new*/ clutter_behaviour_path_new_with_knots(Alpha
* alpha
, Knot
* knots
, uint n_knots
);
20900 Path
* clutter_behaviour_path_get_path(BehaviourPath
* this_
);
20901 void clutter_behaviour_path_set_path(BehaviourPath
* this_
, Path
* path
);
20902 BehaviourRotate
* /*new*/ clutter_behaviour_rotate_new(Alpha
* alpha
, RotateAxis axis
, RotateDirection direction
, double angle_start
, double angle_end
);
20903 RotateAxis
clutter_behaviour_rotate_get_axis(BehaviourRotate
* this_
);
20904 void clutter_behaviour_rotate_get_bounds(BehaviourRotate
* this_
, /*out*/ double* angle_start
, /*out*/ double* angle_end
);
20905 void clutter_behaviour_rotate_get_center(BehaviourRotate
* this_
, /*out*/ int* x
, /*out*/ int* y
, /*out*/ int* z
);
20906 RotateDirection
clutter_behaviour_rotate_get_direction(BehaviourRotate
* this_
);
20907 void clutter_behaviour_rotate_set_axis(BehaviourRotate
* this_
, RotateAxis axis
);
20908 void clutter_behaviour_rotate_set_bounds(BehaviourRotate
* this_
, double angle_start
, double angle_end
);
20909 void clutter_behaviour_rotate_set_center(BehaviourRotate
* this_
, int x
, int y
, int z
);
20910 void clutter_behaviour_rotate_set_direction(BehaviourRotate
* this_
, RotateDirection direction
);
20911 BehaviourScale
* /*new*/ clutter_behaviour_scale_new(Alpha
* alpha
, double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
);
20912 void clutter_behaviour_scale_get_bounds(BehaviourScale
* this_
, /*out*/ double* x_scale_start
, /*out*/ double* y_scale_start
, /*out*/ double* x_scale_end
, /*out*/ double* y_scale_end
);
20913 void clutter_behaviour_scale_set_bounds(BehaviourScale
* this_
, double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
);
20914 BinLayout
* clutter_bin_layout_new(BinAlignment x_align
, BinAlignment y_align
);
20915 void clutter_bin_layout_add(BinLayout
* this_
, Actor
* child
, BinAlignment x_align
, BinAlignment y_align
);
20916 void clutter_bin_layout_get_alignment(BinLayout
* this_
, Actor
* child
=null, /*out*/ BinAlignment
* x_align
=null, /*out*/ BinAlignment
* y_align
=null);
20917 void clutter_bin_layout_set_alignment(BinLayout
* this_
, Actor
* child
, BinAlignment x_align
, BinAlignment y_align
);
20918 BindConstraint
* clutter_bind_constraint_new(Actor
* source
, BindCoordinate coordinate
, float offset
);
20919 BindCoordinate
clutter_bind_constraint_get_coordinate(BindConstraint
* this_
);
20920 float clutter_bind_constraint_get_offset(BindConstraint
* this_
);
20921 Actor
* clutter_bind_constraint_get_source(BindConstraint
* this_
);
20922 void clutter_bind_constraint_set_coordinate(BindConstraint
* this_
, BindCoordinate coordinate
);
20923 void clutter_bind_constraint_set_offset(BindConstraint
* this_
, float offset
);
20924 void clutter_bind_constraint_set_source(BindConstraint
* this_
, Actor
* source
=null);
20925 BindingPool
* /*new*/ clutter_binding_pool_new(char* name
);
20926 BindingPool
* clutter_binding_pool_find(char* name
);
20927 BindingPool
* clutter_binding_pool_get_for_class(void* klass
);
20928 int clutter_binding_pool_activate(BindingPool
* this_
, uint key_val
, ModifierType modifiers
, GObject2
.Object
* gobject
);
20929 void clutter_binding_pool_block_action(BindingPool
* this_
, char* action_name
);
20930 char* clutter_binding_pool_find_action(BindingPool
* this_
, uint key_val
, ModifierType modifiers
);
20931 void clutter_binding_pool_install_action(BindingPool
* this_
, char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
);
20932 void clutter_binding_pool_install_closure(BindingPool
* this_
, char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
);
20933 void clutter_binding_pool_override_action(BindingPool
* this_
, uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
);
20934 void clutter_binding_pool_override_closure(BindingPool
* this_
, uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
);
20935 void clutter_binding_pool_remove_action(BindingPool
* this_
, uint key_val
, ModifierType modifiers
);
20936 void clutter_binding_pool_unblock_action(BindingPool
* this_
, char* action_name
);
20937 BlurEffect
* clutter_blur_effect_new();
20938 Box
* clutter_box_new(LayoutManager
* manager
);
20939 void clutter_box_get_color(Box
* this_
, /*out*/ Color
* color
);
20940 LayoutManager
* clutter_box_get_layout_manager(Box
* this_
);
20941 void clutter_box_pack(Box
* this_
, Actor
* actor
, char* first_property
, ...);
20942 void clutter_box_pack_after(Box
* this_
, Actor
* actor
, Actor
* sibling
, char* first_property
, ...);
20943 void clutter_box_pack_at(Box
* this_
, Actor
* actor
, int position
, char* first_property
, ...);
20944 void clutter_box_pack_before(Box
* this_
, Actor
* actor
, Actor
* sibling
, char* first_property
, ...);
20945 void clutter_box_packv(Box
* this_
, Actor
* actor
, uint n_properties
, char* properties
, GObject2
.Value
* values
);
20946 void clutter_box_set_color(Box
* this_
, Color
* color
=null);
20947 void clutter_box_set_layout_manager(Box
* this_
, LayoutManager
* manager
);
20948 BoxLayout
* clutter_box_layout_new();
20949 void clutter_box_layout_get_alignment(BoxLayout
* this_
, Actor
* actor
, /*out*/ BoxAlignment
* x_align
, /*out*/ BoxAlignment
* y_align
);
20950 uint clutter_box_layout_get_easing_duration(BoxLayout
* this_
);
20951 c_ulong
clutter_box_layout_get_easing_mode(BoxLayout
* this_
);
20952 int clutter_box_layout_get_expand(BoxLayout
* this_
, Actor
* actor
);
20953 void clutter_box_layout_get_fill(BoxLayout
* this_
, Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
);
20954 int clutter_box_layout_get_homogeneous(BoxLayout
* this_
);
20955 int clutter_box_layout_get_pack_start(BoxLayout
* this_
);
20956 uint clutter_box_layout_get_spacing(BoxLayout
* this_
);
20957 int clutter_box_layout_get_use_animations(BoxLayout
* this_
);
20958 int clutter_box_layout_get_vertical(BoxLayout
* this_
);
20959 void clutter_box_layout_pack(BoxLayout
* this_
, Actor
* actor
, int expand
, int x_fill
, int y_fill
, BoxAlignment x_align
, BoxAlignment y_align
);
20960 void clutter_box_layout_set_alignment(BoxLayout
* this_
, Actor
* actor
, BoxAlignment x_align
, BoxAlignment y_align
);
20961 void clutter_box_layout_set_easing_duration(BoxLayout
* this_
, uint msecs
);
20962 void clutter_box_layout_set_easing_mode(BoxLayout
* this_
, c_ulong mode
);
20963 void clutter_box_layout_set_expand(BoxLayout
* this_
, Actor
* actor
, int expand
);
20964 void clutter_box_layout_set_fill(BoxLayout
* this_
, Actor
* actor
, int x_fill
, int y_fill
);
20965 void clutter_box_layout_set_homogeneous(BoxLayout
* this_
, int homogeneous
);
20966 void clutter_box_layout_set_pack_start(BoxLayout
* this_
, int pack_start
);
20967 void clutter_box_layout_set_spacing(BoxLayout
* this_
, uint spacing
);
20968 void clutter_box_layout_set_use_animations(BoxLayout
* this_
, int animate
);
20969 void clutter_box_layout_set_vertical(BoxLayout
* this_
, int vertical
);
20970 CairoTexture
* clutter_cairo_texture_new(uint width
, uint height
);
20971 void clutter_cairo_texture_clear(CairoTexture
* this_
);
20972 cairo
.Context
* /*new*/ clutter_cairo_texture_create(CairoTexture
* this_
);
20973 cairo
.Context
* /*new*/ clutter_cairo_texture_create_region(CairoTexture
* this_
, int x_offset
, int y_offset
, int width
, int height
);
20974 int clutter_cairo_texture_get_auto_resize(CairoTexture
* this_
);
20975 void clutter_cairo_texture_get_surface_size(CairoTexture
* this_
, /*out*/ uint* width
, /*out*/ uint* height
);
20976 void clutter_cairo_texture_invalidate(CairoTexture
* this_
);
20977 void clutter_cairo_texture_invalidate_rectangle(CairoTexture
* this_
, cairo
.RectangleInt
* rect
=null);
20978 void clutter_cairo_texture_set_auto_resize(CairoTexture
* this_
, int value
);
20979 void clutter_cairo_texture_set_surface_size(CairoTexture
* this_
, uint width
, uint height
);
20980 Actor
* clutter_child_meta_get_actor(ChildMeta
* this_
);
20981 Container
* clutter_child_meta_get_container(ChildMeta
* this_
);
20982 ClickAction
* clutter_click_action_new();
20983 uint clutter_click_action_get_button(ClickAction
* this_
);
20984 void clutter_click_action_get_coords(ClickAction
* this_
, /*out*/ float* press_x
, /*out*/ float* press_y
);
20985 ModifierType
clutter_click_action_get_state(ClickAction
* this_
);
20986 void clutter_click_action_release(ClickAction
* this_
);
20987 Clone
* clutter_clone_new(Actor
* source
);
20988 Actor
* clutter_clone_get_source(Clone
* this_
);
20989 void clutter_clone_set_source(Clone
* this_
, Actor
* source
);
20990 Color
* /*new*/ clutter_color_new(ubyte red
, ubyte green
, ubyte blue
, ubyte alpha
);
20991 void clutter_color_add(Color
* this_
, Color
* b
, /*out*/ Color
* result
);
20992 Color
* /*new*/ clutter_color_copy(Color
* this_
);
20993 void clutter_color_darken(Color
* this_
, /*out*/ Color
* result
);
20994 void clutter_color_free(Color
* this_
);
20995 void clutter_color_from_hls(Color
* this_
, float hue
, float luminance
, float saturation
);
20996 void clutter_color_from_pixel(Color
* this_
, uint pixel
);
20997 int clutter_color_from_string(Color
* this_
, char* str);
20998 void clutter_color_interpolate(Color
* this_
, Color
* final_
, double progress
, /*out*/ Color
* result
);
20999 void clutter_color_lighten(Color
* this_
, /*out*/ Color
* result
);
21000 void clutter_color_shade(Color
* this_
, double factor
, /*out*/ Color
* result
);
21001 void clutter_color_subtract(Color
* this_
, Color
* b
, /*out*/ Color
* result
);
21002 void clutter_color_to_hls(Color
* this_
, /*out*/ float* hue
, /*out*/ float* luminance
, /*out*/ float* saturation
);
21003 uint clutter_color_to_pixel(Color
* this_
);
21004 char* /*new*/ clutter_color_to_string(Color
* this_
);
21005 int clutter_color_equal(const(void)* v1
, const(void)* v2
);
21006 Color
* clutter_color_get_static(StaticColor color
);
21007 uint clutter_color_hash(const(void)* v
);
21008 ColorizeEffect
* clutter_colorize_effect_new(Color
* tint
);
21009 void clutter_colorize_effect_get_tint(ColorizeEffect
* this_
, /*out*/ Color
* tint
);
21010 void clutter_colorize_effect_set_tint(ColorizeEffect
* this_
, Color
* tint
);
21011 GObject2
.ParamSpec
* clutter_container_class_find_child_property(GObject2
.ObjectClass
* klass
, char* property_name
);
21012 GObject2
.ParamSpec
** /*new*/ clutter_container_class_list_child_properties(GObject2
.ObjectClass
* klass
, /*out*/ uint* n_properties
);
21013 void clutter_container_add(Container
* this_
, Actor
* first_actor
, ...);
21014 void clutter_container_add_actor(Container
* this_
, Actor
* actor
);
21015 void clutter_container_add_valist(Container
* this_
, Actor
* first_actor
, va_list var_args
);
21016 void clutter_container_child_get(Container
* this_
, Actor
* actor
, char* first_prop
, ...);
21017 void clutter_container_child_get_property(Container
* this_
, Actor
* child
, char* property
, GObject2
.Value
* value
);
21018 void clutter_container_child_notify(Container
* this_
, Actor
* child
, GObject2
.ParamSpec
* pspec
);
21019 void clutter_container_child_set(Container
* this_
, Actor
* actor
, char* first_prop
, ...);
21020 void clutter_container_child_set_property(Container
* this_
, Actor
* child
, char* property
, GObject2
.Value
* value
);
21021 void clutter_container_create_child_meta(Container
* this_
, Actor
* actor
);
21022 void clutter_container_destroy_child_meta(Container
* this_
, Actor
* actor
);
21023 Actor
* clutter_container_find_child_by_name(Container
* this_
, char* child_name
);
21024 void clutter_container_foreach(Container
* this_
, Callback callback
, void* user_data
);
21025 void clutter_container_foreach_with_internals(Container
* this_
, Callback callback
, void* user_data
);
21026 ChildMeta
* clutter_container_get_child_meta(Container
* this_
, Actor
* actor
);
21027 GLib2
.List
* /*new container*/ clutter_container_get_children(Container
* this_
);
21028 void clutter_container_lower_child(Container
* this_
, Actor
* actor
, Actor
* sibling
=null);
21029 void clutter_container_raise_child(Container
* this_
, Actor
* actor
, Actor
* sibling
=null);
21030 void clutter_container_remove(Container
* this_
, Actor
* first_actor
, ...);
21031 void clutter_container_remove_actor(Container
* this_
, Actor
* actor
);
21032 void clutter_container_remove_valist(Container
* this_
, Actor
* first_actor
, va_list var_args
);
21033 void clutter_container_sort_depth_order(Container
* this_
);
21034 Cogl
.Handle
clutter_deform_effect_get_back_material(DeformEffect
* this_
);
21035 void clutter_deform_effect_get_n_tiles(DeformEffect
* this_
, /*out*/ uint* x_tiles
, /*out*/ uint* y_tiles
);
21036 void clutter_deform_effect_invalidate(DeformEffect
* this_
);
21037 void clutter_deform_effect_set_back_material(DeformEffect
* this_
, Cogl
.Handle material
=null);
21038 void clutter_deform_effect_set_n_tiles(DeformEffect
* this_
, uint x_tiles
, uint y_tiles
);
21039 DesaturateEffect
* clutter_desaturate_effect_new(double factor
);
21040 double clutter_desaturate_effect_get_factor(DesaturateEffect
* this_
);
21041 void clutter_desaturate_effect_set_factor(DesaturateEffect
* this_
, double factor
);
21042 DeviceManager
* clutter_device_manager_get_default();
21043 InputDevice
* clutter_device_manager_get_core_device(DeviceManager
* this_
, InputDeviceType device_type
);
21044 InputDevice
* clutter_device_manager_get_device(DeviceManager
* this_
, int device_id
);
21045 GLib2
.SList
* /*new container*/ clutter_device_manager_list_devices(DeviceManager
* this_
);
21046 GLib2
.SList
* clutter_device_manager_peek_devices(DeviceManager
* this_
);
21047 DragAction
* clutter_drag_action_new();
21048 DragAxis
clutter_drag_action_get_drag_axis(DragAction
* this_
);
21049 Actor
* clutter_drag_action_get_drag_handle(DragAction
* this_
);
21050 void clutter_drag_action_get_drag_threshold(DragAction
* this_
, /*out*/ uint* x_threshold
, /*out*/ uint* y_threshold
);
21051 void clutter_drag_action_get_motion_coords(DragAction
* this_
, /*out*/ float* motion_x
, /*out*/ float* motion_y
);
21052 void clutter_drag_action_get_press_coords(DragAction
* this_
, /*out*/ float* press_x
, /*out*/ float* press_y
);
21053 void clutter_drag_action_set_drag_axis(DragAction
* this_
, DragAxis axis
);
21054 void clutter_drag_action_set_drag_handle(DragAction
* this_
, Actor
* handle
=null);
21055 void clutter_drag_action_set_drag_threshold(DragAction
* this_
, int x_threshold
, int y_threshold
);
21056 DropAction
* clutter_drop_action_new();
21057 void clutter_effect_queue_repaint(Effect
* this_
);
21058 Event
* /*new*/ clutter_event_new(EventType type
);
21059 Event
* /*new*/ clutter_event_copy(Event
* this_
);
21060 void clutter_event_free(Event
* this_
);
21061 double* clutter_event_get_axes(Event
* this_
, /*out*/ uint* n_axes
);
21062 uint clutter_event_get_button(Event
* this_
);
21063 uint clutter_event_get_click_count(Event
* this_
);
21064 void clutter_event_get_coords(Event
* this_
, /*out*/ float* x
, /*out*/ float* y
);
21065 InputDevice
* clutter_event_get_device(Event
* this_
);
21066 int clutter_event_get_device_id(Event
* this_
);
21067 InputDeviceType
clutter_event_get_device_type(Event
* this_
);
21068 EventFlags
clutter_event_get_flags(Event
* this_
);
21069 ushort clutter_event_get_key_code(Event
* this_
);
21070 uint clutter_event_get_key_symbol(Event
* this_
);
21071 uint clutter_event_get_key_unicode(Event
* this_
);
21072 Actor
* clutter_event_get_related(Event
* this_
);
21073 ScrollDirection
clutter_event_get_scroll_direction(Event
* this_
);
21074 Actor
* clutter_event_get_source(Event
* this_
);
21075 InputDevice
* clutter_event_get_source_device(Event
* this_
);
21076 Stage
* clutter_event_get_stage(Event
* this_
);
21077 ModifierType
clutter_event_get_state(Event
* this_
);
21078 uint clutter_event_get_time(Event
* this_
);
21079 void clutter_event_put(Event
* this_
);
21080 void clutter_event_set_button(Event
* this_
, uint button
);
21081 void clutter_event_set_coords(Event
* this_
, float x
, float y
);
21082 void clutter_event_set_device(Event
* this_
, InputDevice
* device
=null);
21083 void clutter_event_set_flags(Event
* this_
, EventFlags flags
);
21084 void clutter_event_set_key_code(Event
* this_
, ushort key_code
);
21085 void clutter_event_set_key_symbol(Event
* this_
, uint key_sym
);
21086 void clutter_event_set_key_unicode(Event
* this_
, uint key_unicode
);
21087 void clutter_event_set_related(Event
* this_
, Actor
* actor
=null);
21088 void clutter_event_set_scroll_direction(Event
* this_
, ScrollDirection direction
);
21089 void clutter_event_set_source(Event
* this_
, Actor
* actor
=null);
21090 void clutter_event_set_source_device(Event
* this_
, InputDevice
* device
=null);
21091 void clutter_event_set_stage(Event
* this_
, Stage
* stage
=null);
21092 void clutter_event_set_state(Event
* this_
, ModifierType state
);
21093 void clutter_event_set_time(Event
* this_
, uint time_
);
21094 EventType
clutter_event_type(Event
* this_
);
21095 Event
* /*new*/ clutter_event_get();
21096 Event
* clutter_event_peek();
21097 FixedLayout
* clutter_fixed_layout_new();
21098 FlowLayout
* clutter_flow_layout_new(FlowOrientation orientation
);
21099 float clutter_flow_layout_get_column_spacing(FlowLayout
* this_
);
21100 void clutter_flow_layout_get_column_width(FlowLayout
* this_
, /*out*/ float* min_width
, /*out*/ float* max_width
);
21101 int clutter_flow_layout_get_homogeneous(FlowLayout
* this_
);
21102 FlowOrientation
clutter_flow_layout_get_orientation(FlowLayout
* this_
);
21103 void clutter_flow_layout_get_row_height(FlowLayout
* this_
, /*out*/ float* min_height
, /*out*/ float* max_height
);
21104 float clutter_flow_layout_get_row_spacing(FlowLayout
* this_
);
21105 void clutter_flow_layout_set_column_spacing(FlowLayout
* this_
, float spacing
);
21106 void clutter_flow_layout_set_column_width(FlowLayout
* this_
, float min_width
, float max_width
);
21107 void clutter_flow_layout_set_homogeneous(FlowLayout
* this_
, int homogeneous
);
21108 void clutter_flow_layout_set_orientation(FlowLayout
* this_
, FlowOrientation orientation
);
21109 void clutter_flow_layout_set_row_height(FlowLayout
* this_
, float min_height
, float max_height
);
21110 void clutter_flow_layout_set_row_spacing(FlowLayout
* this_
, float spacing
);
21111 int clutter_geometry_intersects(Geometry
* this_
, Geometry
* geometry1
);
21112 void clutter_geometry_union(Geometry
* this_
, Geometry
* geometry_b
, /*out*/ Geometry
* result
);
21113 GestureAction
* clutter_gesture_action_new();
21114 void clutter_gesture_action_get_motion_coords(GestureAction
* this_
, uint device
, /*out*/ float* motion_x
, /*out*/ float* motion_y
);
21115 void clutter_gesture_action_get_press_coords(GestureAction
* this_
, uint device
, /*out*/ float* press_x
, /*out*/ float* press_y
);
21116 void clutter_gesture_action_get_release_coords(GestureAction
* this_
, uint device
, /*out*/ float* release_x
, /*out*/ float* release_y
);
21117 Group
* clutter_group_new();
21118 int clutter_group_get_n_children(Group
* this_
);
21119 Actor
* clutter_group_get_nth_child(Group
* this_
, int index_
);
21120 void clutter_group_remove_all(Group
* this_
);
21121 InputDevice
* clutter_input_device_get_associated_device(InputDevice
* this_
);
21122 InputAxis
clutter_input_device_get_axis(InputDevice
* this_
, uint index_
);
21123 int clutter_input_device_get_axis_value(InputDevice
* this_
, double* axes
, InputAxis axis
, /*out*/ double* value
);
21124 void clutter_input_device_get_device_coords(InputDevice
* this_
, /*out*/ int* x
, /*out*/ int* y
);
21125 int clutter_input_device_get_device_id(InputDevice
* this_
);
21126 InputMode
clutter_input_device_get_device_mode(InputDevice
* this_
);
21127 char* clutter_input_device_get_device_name(InputDevice
* this_
);
21128 InputDeviceType
clutter_input_device_get_device_type(InputDevice
* this_
);
21129 int clutter_input_device_get_enabled(InputDevice
* this_
);
21130 int clutter_input_device_get_has_cursor(InputDevice
* this_
);
21131 int clutter_input_device_get_key(InputDevice
* this_
, uint index_
, /*out*/ uint* keyval
, /*out*/ ModifierType
* modifiers
);
21132 uint clutter_input_device_get_n_axes(InputDevice
* this_
);
21133 uint clutter_input_device_get_n_keys(InputDevice
* this_
);
21134 Actor
* clutter_input_device_get_pointer_actor(InputDevice
* this_
);
21135 Stage
* clutter_input_device_get_pointer_stage(InputDevice
* this_
);
21136 GLib2
.List
* /*new container*/ clutter_input_device_get_slave_devices(InputDevice
* this_
);
21137 void clutter_input_device_set_enabled(InputDevice
* this_
, int enabled
);
21138 void clutter_input_device_set_key(InputDevice
* this_
, uint index_
, uint keyval
, ModifierType modifiers
);
21139 void clutter_input_device_update_from_event(InputDevice
* this_
, Event
* event
, int update_stage
);
21140 Interval
* clutter_interval_new(Type gtype
, ...);
21141 Interval
* clutter_interval_new_with_values(Type gtype
, GObject2
.Value
* initial
, GObject2
.Value
* final_
);
21142 void clutter_interval_register_progress_func(Type value_type
, ProgressFunc func
);
21143 Interval
* /*new*/ clutter_interval_clone(Interval
* this_
);
21144 GObject2
.Value
* clutter_interval_compute(Interval
* this_
, double factor
);
21145 int clutter_interval_compute_value(Interval
* this_
, double factor
, /*out*/ GObject2
.Value
* value
);
21146 void clutter_interval_get_final_value(Interval
* this_
, /*out*/ GObject2
.Value
* value
);
21147 void clutter_interval_get_initial_value(Interval
* this_
, /*out*/ GObject2
.Value
* value
);
21148 void clutter_interval_get_interval(Interval
* this_
, ...);
21149 Type
clutter_interval_get_value_type(Interval
* this_
);
21150 GObject2
.Value
* clutter_interval_peek_final_value(Interval
* this_
);
21151 GObject2
.Value
* clutter_interval_peek_initial_value(Interval
* this_
);
21152 void clutter_interval_set_final_value(Interval
* this_
, GObject2
.Value
* value
);
21153 void clutter_interval_set_initial_value(Interval
* this_
, GObject2
.Value
* value
);
21154 void clutter_interval_set_interval(Interval
* this_
, ...);
21155 int clutter_interval_validate(Interval
* this_
, GObject2
.ParamSpec
* pspec
);
21156 Knot
* /*new*/ clutter_knot_copy(Knot
* this_
);
21157 int clutter_knot_equal(Knot
* this_
, Knot
* knot_b
);
21158 void clutter_knot_free(Knot
* this_
);
21159 void clutter_layout_manager_allocate(LayoutManager
* this_
, Container
* container
, ActorBox
* allocation
, AllocationFlags flags
);
21160 Alpha
* clutter_layout_manager_begin_animation(LayoutManager
* this_
, uint duration
, c_ulong mode
);
21161 void clutter_layout_manager_child_get(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* first_property
, ...);
21162 void clutter_layout_manager_child_get_property(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
);
21163 void clutter_layout_manager_child_set(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* first_property
, ...);
21164 void clutter_layout_manager_child_set_property(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
);
21165 void clutter_layout_manager_end_animation(LayoutManager
* this_
);
21166 GObject2
.ParamSpec
* clutter_layout_manager_find_child_property(LayoutManager
* this_
, char* name
);
21167 double clutter_layout_manager_get_animation_progress(LayoutManager
* this_
);
21168 LayoutMeta
* clutter_layout_manager_get_child_meta(LayoutManager
* this_
, Container
* container
, Actor
* actor
);
21169 void clutter_layout_manager_get_preferred_height(LayoutManager
* this_
, Container
* container
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* nat_height_p
=null);
21170 void clutter_layout_manager_get_preferred_width(LayoutManager
* this_
, Container
* container
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* nat_width_p
=null);
21171 void clutter_layout_manager_layout_changed(LayoutManager
* this_
);
21172 GObject2
.ParamSpec
** /*new*/ clutter_layout_manager_list_child_properties(LayoutManager
* this_
, /*out*/ uint* n_pspecs
);
21173 void clutter_layout_manager_set_container(LayoutManager
* this_
, Container
* container
=null);
21174 LayoutManager
* clutter_layout_meta_get_manager(LayoutMeta
* this_
);
21175 ListModel
* /*new*/ clutter_list_model_new(uint n_columns
, ...);
21176 ListModel
* /*new*/ clutter_list_model_newv(uint n_columns
, Type
* types
, char* names
);
21177 double clutter_media_get_audio_volume(Media
* this_
);
21178 double clutter_media_get_buffer_fill(Media
* this_
);
21179 int clutter_media_get_can_seek(Media
* this_
);
21180 double clutter_media_get_duration(Media
* this_
);
21181 int clutter_media_get_playing(Media
* this_
);
21182 double clutter_media_get_progress(Media
* this_
);
21183 char* /*new*/ clutter_media_get_subtitle_font_name(Media
* this_
);
21184 char* /*new*/ clutter_media_get_subtitle_uri(Media
* this_
);
21185 char* /*new*/ clutter_media_get_uri(Media
* this_
);
21186 void clutter_media_set_audio_volume(Media
* this_
, double volume
);
21187 void clutter_media_set_filename(Media
* this_
, char* filename
);
21188 void clutter_media_set_playing(Media
* this_
, int playing
);
21189 void clutter_media_set_progress(Media
* this_
, double progress
);
21190 void clutter_media_set_subtitle_font_name(Media
* this_
, char* font_name
);
21191 void clutter_media_set_subtitle_uri(Media
* this_
, char* uri
);
21192 void clutter_media_set_uri(Media
* this_
, char* uri
);
21193 void clutter_model_append(Model
* this_
, ...);
21194 void clutter_model_appendv(Model
* this_
, uint n_columns
, uint* columns
, GObject2
.Value
* values
);
21195 int clutter_model_filter_iter(Model
* this_
, ModelIter
* iter
);
21196 int clutter_model_filter_row(Model
* this_
, uint row
);
21197 void clutter_model_foreach(Model
* this_
, ModelForeachFunc func
, void* user_data
);
21198 char* clutter_model_get_column_name(Model
* this_
, uint column
);
21199 Type
clutter_model_get_column_type(Model
* this_
, uint column
);
21200 int clutter_model_get_filter_set(Model
* this_
);
21201 ModelIter
* /*new*/ clutter_model_get_first_iter(Model
* this_
);
21202 ModelIter
* /*new*/ clutter_model_get_iter_at_row(Model
* this_
, uint row
);
21203 ModelIter
* /*new*/ clutter_model_get_last_iter(Model
* this_
);
21204 uint clutter_model_get_n_columns(Model
* this_
);
21205 uint clutter_model_get_n_rows(Model
* this_
);
21206 int clutter_model_get_sorting_column(Model
* this_
);
21207 void clutter_model_insert(Model
* this_
, uint row
, ...);
21208 void clutter_model_insert_value(Model
* this_
, uint row
, uint column
, GObject2
.Value
* value
);
21209 void clutter_model_insertv(Model
* this_
, uint row
, uint n_columns
, uint* columns
, GObject2
.Value
* values
);
21210 void clutter_model_prepend(Model
* this_
, ...);
21211 void clutter_model_prependv(Model
* this_
, uint n_columns
, uint* columns
, GObject2
.Value
* values
);
21212 void clutter_model_remove(Model
* this_
, uint row
);
21213 void clutter_model_resort(Model
* this_
);
21214 void clutter_model_set_filter(Model
* this_
, ModelFilterFunc func
, void* user_data
, GLib2
.DestroyNotify notify
);
21215 void clutter_model_set_names(Model
* this_
, uint n_columns
, char* names
);
21216 void clutter_model_set_sort(Model
* this_
, int column
, ModelSortFunc func
, void* user_data
, GLib2
.DestroyNotify notify
);
21217 void clutter_model_set_sorting_column(Model
* this_
, int column
);
21218 void clutter_model_set_types(Model
* this_
, uint n_columns
, Type
* types
);
21219 ModelIter
* /*new*/ clutter_model_iter_copy(ModelIter
* this_
);
21220 void clutter_model_iter_get(ModelIter
* this_
, ...);
21221 Model
* clutter_model_iter_get_model(ModelIter
* this_
);
21222 uint clutter_model_iter_get_row(ModelIter
* this_
);
21223 void clutter_model_iter_get_valist(ModelIter
* this_
, va_list args
);
21224 void clutter_model_iter_get_value(ModelIter
* this_
, uint column
, /*out*/ GObject2
.Value
* value
);
21225 int clutter_model_iter_is_first(ModelIter
* this_
);
21226 int clutter_model_iter_is_last(ModelIter
* this_
);
21227 ModelIter
* clutter_model_iter_next(ModelIter
* this_
);
21228 ModelIter
* clutter_model_iter_prev(ModelIter
* this_
);
21229 void clutter_model_iter_set(ModelIter
* this_
, ...);
21230 void clutter_model_iter_set_valist(ModelIter
* this_
, va_list args
);
21231 void clutter_model_iter_set_value(ModelIter
* this_
, uint column
, GObject2
.Value
* value
);
21232 Cogl
.Handle
/*new*/ clutter_offscreen_effect_create_texture(OffscreenEffect
* this_
, float width
, float height
);
21233 Cogl
.Material
* clutter_offscreen_effect_get_target(OffscreenEffect
* this_
);
21234 int clutter_offscreen_effect_get_target_size(OffscreenEffect
* this_
, /*out*/ float* width
, /*out*/ float* height
);
21235 void clutter_offscreen_effect_paint_target(OffscreenEffect
* this_
);
21236 PageTurnEffect
* clutter_page_turn_effect_new(double period
, double angle
, float radius
);
21237 double clutter_page_turn_effect_get_angle(PageTurnEffect
* this_
);
21238 double clutter_page_turn_effect_get_period(PageTurnEffect
* this_
);
21239 float clutter_page_turn_effect_get_radius(PageTurnEffect
* this_
);
21240 void clutter_page_turn_effect_set_angle(PageTurnEffect
* this_
, double angle
);
21241 void clutter_page_turn_effect_set_period(PageTurnEffect
* this_
, double period
);
21242 void clutter_page_turn_effect_set_radius(PageTurnEffect
* this_
, float radius
);
21243 PaintVolume
* /*new*/ clutter_paint_volume_copy(PaintVolume
* this_
);
21244 void clutter_paint_volume_free(PaintVolume
* this_
);
21245 float clutter_paint_volume_get_depth(PaintVolume
* this_
);
21246 float clutter_paint_volume_get_height(PaintVolume
* this_
);
21247 void clutter_paint_volume_get_origin(PaintVolume
* this_
, /*out*/ Vertex
* vertex
);
21248 float clutter_paint_volume_get_width(PaintVolume
* this_
);
21249 void clutter_paint_volume_set_depth(PaintVolume
* this_
, float depth
);
21250 int clutter_paint_volume_set_from_allocation(PaintVolume
* this_
, Actor
* actor
);
21251 void clutter_paint_volume_set_height(PaintVolume
* this_
, float height
);
21252 void clutter_paint_volume_set_origin(PaintVolume
* this_
, Vertex
* origin
);
21253 void clutter_paint_volume_set_width(PaintVolume
* this_
, float width
);
21254 void clutter_paint_volume_union(PaintVolume
* this_
, PaintVolume
* another_pv
);
21255 Path
* clutter_path_new();
21256 Path
* clutter_path_new_with_description(char* desc
);
21257 void clutter_path_add_cairo_path(Path
* this_
, cairo
.Path
* cpath
);
21258 void clutter_path_add_close(Path
* this_
);
21259 void clutter_path_add_curve_to(Path
* this_
, int x_1
, int y_1
, int x_2
, int y_2
, int x_3
, int y_3
);
21260 void clutter_path_add_line_to(Path
* this_
, int x
, int y
);
21261 void clutter_path_add_move_to(Path
* this_
, int x
, int y
);
21262 void clutter_path_add_node(Path
* this_
, PathNode
* node
);
21263 void clutter_path_add_rel_curve_to(Path
* this_
, int x_1
, int y_1
, int x_2
, int y_2
, int x_3
, int y_3
);
21264 void clutter_path_add_rel_line_to(Path
* this_
, int x
, int y
);
21265 void clutter_path_add_rel_move_to(Path
* this_
, int x
, int y
);
21266 int clutter_path_add_string(Path
* this_
, char* str);
21267 void clutter_path_clear(Path
* this_
);
21268 void clutter_path_foreach(Path
* this_
, PathCallback callback
, void* user_data
);
21269 char* /*new*/ clutter_path_get_description(Path
* this_
);
21270 uint clutter_path_get_length(Path
* this_
);
21271 uint clutter_path_get_n_nodes(Path
* this_
);
21272 void clutter_path_get_node(Path
* this_
, uint index_
, /*out*/ PathNode
* node
);
21273 GLib2
.SList
* /*new container*/ clutter_path_get_nodes(Path
* this_
);
21274 uint clutter_path_get_position(Path
* this_
, double progress
, /*out*/ Knot
* position
);
21275 void clutter_path_insert_node(Path
* this_
, int index_
, PathNode
* node
);
21276 void clutter_path_remove_node(Path
* this_
, uint index_
);
21277 void clutter_path_replace_node(Path
* this_
, uint index_
, PathNode
* node
);
21278 int clutter_path_set_description(Path
* this_
, char* str);
21279 void clutter_path_to_cairo_path(Path
* this_
, cairo
.Context
* cr
);
21280 PathConstraint
* /*new*/ clutter_path_constraint_new(Path
* path
, float offset
);
21281 float clutter_path_constraint_get_offset(PathConstraint
* this_
);
21282 Path
* clutter_path_constraint_get_path(PathConstraint
* this_
);
21283 void clutter_path_constraint_set_offset(PathConstraint
* this_
, float offset
);
21284 void clutter_path_constraint_set_path(PathConstraint
* this_
, Path
* path
=null);
21285 PathNode
* /*new*/ clutter_path_node_copy(PathNode
* this_
);
21286 int clutter_path_node_equal(PathNode
* this_
, PathNode
* node_b
);
21287 void clutter_path_node_free(PathNode
* this_
);
21288 Rectangle
* clutter_rectangle_new();
21289 Rectangle
* clutter_rectangle_new_with_color(Color
* color
);
21290 void clutter_rectangle_get_border_color(Rectangle
* this_
, /*out*/ Color
* color
);
21291 uint clutter_rectangle_get_border_width(Rectangle
* this_
);
21292 void clutter_rectangle_get_color(Rectangle
* this_
, /*out*/ Color
* color
);
21293 void clutter_rectangle_set_border_color(Rectangle
* this_
, Color
* color
);
21294 void clutter_rectangle_set_border_width(Rectangle
* this_
, uint width
);
21295 void clutter_rectangle_set_color(Rectangle
* this_
, Color
* color
);
21296 Score
* /*new*/ clutter_score_new();
21297 c_ulong
clutter_score_append(Score
* this_
, Timeline
* parent
, Timeline
* timeline
);
21298 c_ulong
clutter_score_append_at_marker(Score
* this_
, Timeline
* parent
, char* marker_name
, Timeline
* timeline
);
21299 int clutter_score_get_loop(Score
* this_
);
21300 Timeline
* clutter_score_get_timeline(Score
* this_
, c_ulong id_
);
21301 int clutter_score_is_playing(Score
* this_
);
21302 GLib2
.SList
* /*new container*/ clutter_score_list_timelines(Score
* this_
);
21303 void clutter_score_pause(Score
* this_
);
21304 void clutter_score_remove(Score
* this_
, c_ulong id_
);
21305 void clutter_score_remove_all(Score
* this_
);
21306 void clutter_score_rewind(Score
* this_
);
21307 void clutter_score_set_loop(Score
* this_
, int loop);
21308 void clutter_score_start(Score
* this_
);
21309 void clutter_score_stop(Score
* this_
);
21310 Script
* /*new*/ clutter_script_new();
21311 void clutter_script_add_search_paths(Script
* this_
, char* paths
, size_t n_paths
);
21312 void clutter_script_add_states(Script
* this_
, char* name
, State
* state
);
21313 void clutter_script_connect_signals(Script
* this_
, void* user_data
);
21314 void clutter_script_connect_signals_full(Script
* this_
, ScriptConnectFunc func
, void* user_data
);
21315 void clutter_script_ensure_objects(Script
* this_
);
21316 GObject2
.Object
* clutter_script_get_object(Script
* this_
, char* name
);
21317 int clutter_script_get_objects(Script
* this_
, char* first_name
, ...);
21318 State
* clutter_script_get_states(Script
* this_
, char* name
=null);
21319 Type
clutter_script_get_type_from_name(Script
* this_
, char* type_name
);
21320 GLib2
.List
* /*new container*/ clutter_script_list_objects(Script
* this_
);
21321 uint clutter_script_load_from_data(Script
* this_
, char* data
, ssize_t length
, GLib2
.Error
** error
);
21322 uint clutter_script_load_from_file(Script
* this_
, char* filename
, GLib2
.Error
** error
);
21323 char* /*new*/ clutter_script_lookup_filename(Script
* this_
, char* filename
);
21324 void clutter_script_unmerge_objects(Script
* this_
, uint merge_id
);
21325 char* clutter_scriptable_get_id(Scriptable
* this_
);
21326 int clutter_scriptable_parse_custom_node(Scriptable
* this_
, Script
* script
, GObject2
.Value
* value
, char* name
, Json
.Node
* node
);
21327 void clutter_scriptable_set_custom_property(Scriptable
* this_
, Script
* script
, char* name
, GObject2
.Value
* value
);
21328 void clutter_scriptable_set_id(Scriptable
* this_
, char* id_
);
21329 Settings
* clutter_settings_get_default();
21330 Shader
* /*new*/ clutter_shader_new();
21331 int clutter_shader_compile(Shader
* this_
, GLib2
.Error
** error
);
21332 Cogl
.Handle
clutter_shader_get_cogl_fragment_shader(Shader
* this_
);
21333 Cogl
.Handle
clutter_shader_get_cogl_program(Shader
* this_
);
21334 Cogl
.Handle
clutter_shader_get_cogl_vertex_shader(Shader
* this_
);
21335 char* clutter_shader_get_fragment_source(Shader
* this_
);
21336 int clutter_shader_get_is_enabled(Shader
* this_
);
21337 char* clutter_shader_get_vertex_source(Shader
* this_
);
21338 int clutter_shader_is_compiled(Shader
* this_
);
21339 void clutter_shader_release(Shader
* this_
);
21340 void clutter_shader_set_fragment_source(Shader
* this_
, char* data
, ssize_t length
);
21341 void clutter_shader_set_is_enabled(Shader
* this_
, int enabled
);
21342 void clutter_shader_set_uniform(Shader
* this_
, char* name
, GObject2
.Value
* value
);
21343 void clutter_shader_set_vertex_source(Shader
* this_
, char* data
, ssize_t length
);
21344 ShaderEffect
* /*new*/ clutter_shader_effect_new(ShaderType shader_type
);
21345 Cogl
.Handle
clutter_shader_effect_get_program(ShaderEffect
* this_
);
21346 Cogl
.Handle
clutter_shader_effect_get_shader(ShaderEffect
* this_
);
21347 int clutter_shader_effect_set_shader_source(ShaderEffect
* this_
, char* source
);
21348 void clutter_shader_effect_set_uniform(ShaderEffect
* this_
, char* name
, Type gtype
, size_t n_values
, ...);
21349 void clutter_shader_effect_set_uniform_value(ShaderEffect
* this_
, char* name
, GObject2
.Value
* value
);
21350 SnapConstraint
* clutter_snap_constraint_new(Actor
* source
, SnapEdge from_edge
, SnapEdge to_edge
, float offset
);
21351 void clutter_snap_constraint_get_edges(SnapConstraint
* this_
, /*out*/ SnapEdge
* from_edge
, /*out*/ SnapEdge
* to_edge
);
21352 float clutter_snap_constraint_get_offset(SnapConstraint
* this_
);
21353 Actor
* clutter_snap_constraint_get_source(SnapConstraint
* this_
);
21354 void clutter_snap_constraint_set_edges(SnapConstraint
* this_
, SnapEdge from_edge
, SnapEdge to_edge
);
21355 void clutter_snap_constraint_set_offset(SnapConstraint
* this_
, float offset
);
21356 void clutter_snap_constraint_set_source(SnapConstraint
* this_
, Actor
* source
=null);
21357 Stage
* clutter_stage_new();
21358 Clutter
.Stage
* clutter_stage_get_default();
21359 void clutter_stage_ensure_current(Stage
* this_
);
21360 void clutter_stage_ensure_redraw(Stage
* this_
);
21361 void clutter_stage_ensure_viewport(Stage
* this_
);
21362 int clutter_stage_event(Stage
* this_
, Event
* event
);
21363 int clutter_stage_get_accept_focus(Stage
* this_
);
21364 Actor
* clutter_stage_get_actor_at_pos(Stage
* this_
, PickMode pick_mode
, int x
, int y
);
21365 void clutter_stage_get_color(Stage
* this_
, /*out*/ Color
* color
);
21366 void clutter_stage_get_fog(Stage
* this_
, /*out*/ Fog
* fog
);
21367 int clutter_stage_get_fullscreen(Stage
* this_
);
21368 Actor
* clutter_stage_get_key_focus(Stage
* this_
);
21369 void clutter_stage_get_minimum_size(Stage
* this_
, /*out*/ uint* width
, /*out*/ uint* height
);
21370 int clutter_stage_get_motion_events_enabled(Stage
* this_
);
21371 int clutter_stage_get_no_clear_hint(Stage
* this_
);
21372 void clutter_stage_get_perspective(Stage
* this_
, /*out*/ Perspective
* perspective
=null);
21373 void clutter_stage_get_redraw_clip_bounds(Stage
* this_
, /*out*/ cairo
.RectangleInt
* clip
);
21374 int clutter_stage_get_throttle_motion_events(Stage
* this_
);
21375 char* clutter_stage_get_title(Stage
* this_
);
21376 int clutter_stage_get_use_alpha(Stage
* this_
);
21377 int clutter_stage_get_use_fog(Stage
* this_
);
21378 int clutter_stage_get_user_resizable(Stage
* this_
);
21379 void clutter_stage_hide_cursor(Stage
* this_
);
21380 int clutter_stage_is_default(Stage
* this_
);
21381 void clutter_stage_queue_redraw(Stage
* this_
);
21382 ubyte* clutter_stage_read_pixels(Stage
* this_
, int x
, int y
, int width
, int height
);
21383 void clutter_stage_set_accept_focus(Stage
* this_
, int accept_focus
);
21384 void clutter_stage_set_color(Stage
* this_
, Color
* color
);
21385 void clutter_stage_set_fog(Stage
* this_
, Fog
* fog
);
21386 void clutter_stage_set_fullscreen(Stage
* this_
, int fullscreen
);
21387 void clutter_stage_set_key_focus(Stage
* this_
, Actor
* actor
=null);
21388 void clutter_stage_set_minimum_size(Stage
* this_
, uint width
, uint height
);
21389 void clutter_stage_set_motion_events_enabled(Stage
* this_
, int enabled
);
21390 void clutter_stage_set_no_clear_hint(Stage
* this_
, int no_clear
);
21391 void clutter_stage_set_perspective(Stage
* this_
, Perspective
* perspective
);
21392 void clutter_stage_set_throttle_motion_events(Stage
* this_
, int throttle
);
21393 void clutter_stage_set_title(Stage
* this_
, char* title
);
21394 void clutter_stage_set_use_alpha(Stage
* this_
, int use_alpha
);
21395 void clutter_stage_set_use_fog(Stage
* this_
, int fog
);
21396 void clutter_stage_set_user_resizable(Stage
* this_
, int resizable
);
21397 void clutter_stage_show_cursor(Stage
* this_
);
21398 StageManager
* clutter_stage_manager_get_default();
21399 Stage
* clutter_stage_manager_get_default_stage(StageManager
* this_
);
21400 GLib2
.SList
* /*new container*/ clutter_stage_manager_list_stages(StageManager
* this_
);
21401 GLib2
.SList
* clutter_stage_manager_peek_stages(StageManager
* this_
);
21402 void clutter_stage_manager_set_default_stage(StageManager
* this_
, Stage
* stage
);
21403 State
* /*new*/ clutter_state_new();
21404 Animator
* clutter_state_get_animator(State
* this_
, char* source_state_name
, char* target_state_name
);
21405 uint clutter_state_get_duration(State
* this_
, char* source_state_name
=null, char* target_state_name
=null);
21406 GLib2
.List
* /*new container*/ clutter_state_get_keys(State
* this_
, char* source_state_name
=null, char* target_state_name
=null, GObject2
.Object
* object
=null, char* property_name
=null);
21407 char* clutter_state_get_state(State
* this_
);
21408 GLib2
.List
* /*new container*/ clutter_state_get_states(State
* this_
);
21409 Timeline
* clutter_state_get_timeline(State
* this_
);
21410 void clutter_state_remove_key(State
* this_
, char* source_state_name
=null, char* target_state_name
=null, GObject2
.Object
* object
=null, char* property_name
=null);
21411 void clutter_state_set(State
* this_
, char* source_state_name
, char* target_state_name
, void* first_object
, char* first_property_name
, c_ulong first_mode
, ...);
21412 void clutter_state_set_animator(State
* this_
, char* source_state_name
, char* target_state_name
, Animator
* animator
=null);
21413 void clutter_state_set_duration(State
* this_
, char* source_state_name
, char* target_state_name
, uint duration
);
21414 State
* clutter_state_set_key(State
* this_
, char* source_state_name
, char* target_state_name
, GObject2
.Object
* object
, char* property_name
, uint mode
, GObject2
.Value
* value
, double pre_delay
, double post_delay
);
21415 Timeline
* clutter_state_set_state(State
* this_
, char* target_state_name
);
21416 Timeline
* clutter_state_warp_to_state(State
* this_
, char* target_state_name
);
21417 c_ulong
clutter_state_key_get_mode(StateKey
* this_
);
21418 GObject2
.Object
* clutter_state_key_get_object(StateKey
* this_
);
21419 double clutter_state_key_get_post_delay(StateKey
* this_
);
21420 double clutter_state_key_get_pre_delay(StateKey
* this_
);
21421 char* clutter_state_key_get_property_name(StateKey
* this_
);
21422 Type
clutter_state_key_get_property_type(StateKey
* this_
);
21423 char* clutter_state_key_get_source_state_name(StateKey
* this_
);
21424 char* clutter_state_key_get_target_state_name(StateKey
* this_
);
21425 int clutter_state_key_get_value(StateKey
* this_
, GObject2
.Value
* value
);
21426 SwipeAction
* clutter_swipe_action_new();
21427 TableLayout
* clutter_table_layout_new();
21428 void clutter_table_layout_get_alignment(TableLayout
* this_
, Actor
* actor
, /*out*/ TableAlignment
* x_align
, /*out*/ TableAlignment
* y_align
);
21429 int clutter_table_layout_get_column_count(TableLayout
* this_
);
21430 uint clutter_table_layout_get_column_spacing(TableLayout
* this_
);
21431 uint clutter_table_layout_get_easing_duration(TableLayout
* this_
);
21432 c_ulong
clutter_table_layout_get_easing_mode(TableLayout
* this_
);
21433 void clutter_table_layout_get_expand(TableLayout
* this_
, Actor
* actor
, /*out*/ int* x_expand
, /*out*/ int* y_expand
);
21434 void clutter_table_layout_get_fill(TableLayout
* this_
, Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
);
21435 int clutter_table_layout_get_row_count(TableLayout
* this_
);
21436 uint clutter_table_layout_get_row_spacing(TableLayout
* this_
);
21437 void clutter_table_layout_get_span(TableLayout
* this_
, Actor
* actor
, /*out*/ int* column_span
, /*out*/ int* row_span
);
21438 int clutter_table_layout_get_use_animations(TableLayout
* this_
);
21439 void clutter_table_layout_pack(TableLayout
* this_
, Actor
* actor
, int column
, int row
);
21440 void clutter_table_layout_set_alignment(TableLayout
* this_
, Actor
* actor
, TableAlignment x_align
, TableAlignment y_align
);
21441 void clutter_table_layout_set_column_spacing(TableLayout
* this_
, uint spacing
);
21442 void clutter_table_layout_set_easing_duration(TableLayout
* this_
, uint msecs
);
21443 void clutter_table_layout_set_easing_mode(TableLayout
* this_
, c_ulong mode
);
21444 void clutter_table_layout_set_expand(TableLayout
* this_
, Actor
* actor
, int x_expand
, int y_expand
);
21445 void clutter_table_layout_set_fill(TableLayout
* this_
, Actor
* actor
, int x_fill
, int y_fill
);
21446 void clutter_table_layout_set_row_spacing(TableLayout
* this_
, uint spacing
);
21447 void clutter_table_layout_set_span(TableLayout
* this_
, Actor
* actor
, int column_span
, int row_span
);
21448 void clutter_table_layout_set_use_animations(TableLayout
* this_
, int animate
);
21449 Text
* clutter_text_new();
21450 Text
* clutter_text_new_full(char* font_name
, char* text
, Color
* color
);
21451 Text
* clutter_text_new_with_text(char* font_name
, char* text
);
21452 int clutter_text_activate(Text
* this_
);
21453 void clutter_text_delete_chars(Text
* this_
, uint n_chars
);
21454 int clutter_text_delete_selection(Text
* this_
);
21455 void clutter_text_delete_text(Text
* this_
, ssize_t start_pos
, ssize_t end_pos
);
21456 int clutter_text_get_activatable(Text
* this_
);
21457 Pango
.AttrList
* clutter_text_get_attributes(Text
* this_
);
21458 char* /*new*/ clutter_text_get_chars(Text
* this_
, ssize_t start_pos
, ssize_t end_pos
);
21459 void clutter_text_get_color(Text
* this_
, /*out*/ Color
* color
);
21460 void clutter_text_get_cursor_color(Text
* this_
, /*out*/ Color
* color
);
21461 int clutter_text_get_cursor_position(Text
* this_
);
21462 uint clutter_text_get_cursor_size(Text
* this_
);
21463 int clutter_text_get_cursor_visible(Text
* this_
);
21464 int clutter_text_get_editable(Text
* this_
);
21465 Pango
.EllipsizeMode
clutter_text_get_ellipsize(Text
* this_
);
21466 Pango
.FontDescription
* /*new*/ clutter_text_get_font_description(Text
* this_
);
21467 char* clutter_text_get_font_name(Text
* this_
);
21468 int clutter_text_get_justify(Text
* this_
);
21469 Pango
.Layout
* clutter_text_get_layout(Text
* this_
);
21470 void clutter_text_get_layout_offsets(Text
* this_
, /*out*/ int* x
, /*out*/ int* y
);
21471 Pango
.Alignment
clutter_text_get_line_alignment(Text
* this_
);
21472 int clutter_text_get_line_wrap(Text
* this_
);
21473 Pango
.WrapMode
clutter_text_get_line_wrap_mode(Text
* this_
);
21474 int clutter_text_get_max_length(Text
* this_
);
21475 dchar clutter_text_get_password_char(Text
* this_
);
21476 int clutter_text_get_selectable(Text
* this_
);
21477 void clutter_text_get_selected_text_color(Text
* this_
, /*out*/ Color
* color
);
21478 char* /*new*/ clutter_text_get_selection(Text
* this_
);
21479 int clutter_text_get_selection_bound(Text
* this_
);
21480 void clutter_text_get_selection_color(Text
* this_
, /*out*/ Color
* color
);
21481 int clutter_text_get_single_line_mode(Text
* this_
);
21482 char* clutter_text_get_text(Text
* this_
);
21483 int clutter_text_get_use_markup(Text
* this_
);
21484 void clutter_text_insert_text(Text
* this_
, char* text
, ssize_t position
);
21485 void clutter_text_insert_unichar(Text
* this_
, dchar wc
);
21486 int clutter_text_position_to_coords(Text
* this_
, int position
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* line_height
);
21487 void clutter_text_set_activatable(Text
* this_
, int activatable
);
21488 void clutter_text_set_attributes(Text
* this_
, Pango
.AttrList
* attrs
);
21489 void clutter_text_set_color(Text
* this_
, Color
* color
);
21490 void clutter_text_set_cursor_color(Text
* this_
, Color
* color
);
21491 void clutter_text_set_cursor_position(Text
* this_
, int position
);
21492 void clutter_text_set_cursor_size(Text
* this_
, int size
);
21493 void clutter_text_set_cursor_visible(Text
* this_
, int cursor_visible
);
21494 void clutter_text_set_editable(Text
* this_
, int editable
);
21495 void clutter_text_set_ellipsize(Text
* this_
, Pango
.EllipsizeMode mode
);
21496 void clutter_text_set_font_description(Text
* this_
, Pango
.FontDescription
* font_desc
);
21497 void clutter_text_set_font_name(Text
* this_
, char* font_name
=null);
21498 void clutter_text_set_justify(Text
* this_
, int justify
);
21499 void clutter_text_set_line_alignment(Text
* this_
, Pango
.Alignment alignment
);
21500 void clutter_text_set_line_wrap(Text
* this_
, int line_wrap
);
21501 void clutter_text_set_line_wrap_mode(Text
* this_
, Pango
.WrapMode wrap_mode
);
21502 void clutter_text_set_markup(Text
* this_
, char* markup
);
21503 void clutter_text_set_max_length(Text
* this_
, int max
);
21504 void clutter_text_set_password_char(Text
* this_
, dchar wc
);
21505 void clutter_text_set_preedit_string(Text
* this_
, char* preedit_str
, Pango
.AttrList
* preedit_attrs
, uint cursor_pos
);
21506 void clutter_text_set_selectable(Text
* this_
, int selectable
);
21507 void clutter_text_set_selected_text_color(Text
* this_
, Color
* color
);
21508 void clutter_text_set_selection(Text
* this_
, ssize_t start_pos
, ssize_t end_pos
);
21509 void clutter_text_set_selection_bound(Text
* this_
, int selection_bound
);
21510 void clutter_text_set_selection_color(Text
* this_
, Color
* color
);
21511 void clutter_text_set_single_line_mode(Text
* this_
, int single_line
);
21512 void clutter_text_set_text(Text
* this_
, char* text
);
21513 void clutter_text_set_use_markup(Text
* this_
, int setting
);
21514 Texture
* clutter_texture_new();
21515 Texture
* clutter_texture_new_from_actor(Actor
* actor
);
21516 Texture
* clutter_texture_new_from_file(char* filename
, GLib2
.Error
** error
);
21517 void clutter_texture_get_base_size(Texture
* this_
, /*out*/ int* width
, /*out*/ int* height
);
21518 Cogl
.Handle
clutter_texture_get_cogl_material(Texture
* this_
);
21519 Cogl
.Handle
clutter_texture_get_cogl_texture(Texture
* this_
);
21520 TextureQuality
clutter_texture_get_filter_quality(Texture
* this_
);
21521 int clutter_texture_get_keep_aspect_ratio(Texture
* this_
);
21522 int clutter_texture_get_load_async(Texture
* this_
);
21523 int clutter_texture_get_load_data_async(Texture
* this_
);
21524 int clutter_texture_get_max_tile_waste(Texture
* this_
);
21525 int clutter_texture_get_pick_with_alpha(Texture
* this_
);
21526 Cogl
.PixelFormat
clutter_texture_get_pixel_format(Texture
* this_
);
21527 void clutter_texture_get_repeat(Texture
* this_
, /*out*/ int* repeat_x
, /*out*/ int* repeat_y
);
21528 int clutter_texture_get_sync_size(Texture
* this_
);
21529 int clutter_texture_set_area_from_rgb_data(Texture
* this_
, ubyte* data
, int has_alpha
, int x
, int y
, int width
, int height
, int rowstride
, int bpp
, TextureFlags flags
, GLib2
.Error
** error
);
21530 void clutter_texture_set_cogl_material(Texture
* this_
, Cogl
.Handle cogl_material
);
21531 void clutter_texture_set_cogl_texture(Texture
* this_
, Cogl
.Handle cogl_tex
);
21532 void clutter_texture_set_filter_quality(Texture
* this_
, TextureQuality filter_quality
);
21533 int clutter_texture_set_from_file(Texture
* this_
, char* filename
, GLib2
.Error
** error
);
21534 int clutter_texture_set_from_rgb_data(Texture
* this_
, ubyte* data
, int has_alpha
, int width
, int height
, int rowstride
, int bpp
, TextureFlags flags
, GLib2
.Error
** error
);
21535 int clutter_texture_set_from_yuv_data(Texture
* this_
, ubyte* data
, int width
, int height
, TextureFlags flags
, GLib2
.Error
** error
);
21536 void clutter_texture_set_keep_aspect_ratio(Texture
* this_
, int keep_aspect
);
21537 void clutter_texture_set_load_async(Texture
* this_
, int load_async
);
21538 void clutter_texture_set_load_data_async(Texture
* this_
, int load_async
);
21539 void clutter_texture_set_pick_with_alpha(Texture
* this_
, int pick_with_alpha
);
21540 void clutter_texture_set_repeat(Texture
* this_
, int repeat_x
, int repeat_y
);
21541 void clutter_texture_set_sync_size(Texture
* this_
, int sync_size
);
21542 Timeline
* /*new*/ clutter_timeline_new(uint msecs
);
21543 void clutter_timeline_add_marker_at_time(Timeline
* this_
, char* marker_name
, uint msecs
);
21544 void clutter_timeline_advance(Timeline
* this_
, uint msecs
);
21545 void clutter_timeline_advance_to_marker(Timeline
* this_
, char* marker_name
);
21546 Timeline
* /*new*/ clutter_timeline_clone(Timeline
* this_
);
21547 int clutter_timeline_get_auto_reverse(Timeline
* this_
);
21548 uint clutter_timeline_get_delay(Timeline
* this_
);
21549 uint clutter_timeline_get_delta(Timeline
* this_
);
21550 TimelineDirection
clutter_timeline_get_direction(Timeline
* this_
);
21551 uint clutter_timeline_get_duration(Timeline
* this_
);
21552 uint clutter_timeline_get_elapsed_time(Timeline
* this_
);
21553 int clutter_timeline_get_loop(Timeline
* this_
);
21554 double clutter_timeline_get_progress(Timeline
* this_
);
21555 int clutter_timeline_has_marker(Timeline
* this_
, char* marker_name
);
21556 int clutter_timeline_is_playing(Timeline
* this_
);
21557 char** /*new*/ clutter_timeline_list_markers(Timeline
* this_
, int msecs
, /*out*/ size_t
* n_markers
);
21558 void clutter_timeline_pause(Timeline
* this_
);
21559 void clutter_timeline_remove_marker(Timeline
* this_
, char* marker_name
);
21560 void clutter_timeline_rewind(Timeline
* this_
);
21561 void clutter_timeline_set_auto_reverse(Timeline
* this_
, int reverse
);
21562 void clutter_timeline_set_delay(Timeline
* this_
, uint msecs
);
21563 void clutter_timeline_set_direction(Timeline
* this_
, TimelineDirection direction
);
21564 void clutter_timeline_set_duration(Timeline
* this_
, uint msecs
);
21565 void clutter_timeline_set_loop(Timeline
* this_
, int loop);
21566 void clutter_timeline_skip(Timeline
* this_
, uint msecs
);
21567 void clutter_timeline_start(Timeline
* this_
);
21568 void clutter_timeline_stop(Timeline
* this_
);
21569 uint clutter_timeout_pool_add(TimeoutPool
* this_
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
21570 void clutter_timeout_pool_remove(TimeoutPool
* this_
, uint id_
);
21571 TimeoutPool
* clutter_timeout_pool_new(int priority
);
21572 Units
* /*new*/ clutter_units_copy(Units
* this_
);
21573 void clutter_units_free(Units
* this_
);
21574 void clutter_units_from_cm(Units
* this_
, float cm
);
21575 void clutter_units_from_em(Units
* this_
, float em
);
21576 void clutter_units_from_em_for_font(Units
* this_
, char* font_name
, float em
);
21577 void clutter_units_from_mm(Units
* this_
, float mm
);
21578 void clutter_units_from_pixels(Units
* this_
, int px
);
21579 void clutter_units_from_pt(Units
* this_
, float pt
);
21580 int clutter_units_from_string(Units
* this_
, char* str);
21581 UnitType
clutter_units_get_unit_type(Units
* this_
);
21582 float clutter_units_get_unit_value(Units
* this_
);
21583 float clutter_units_to_pixels(Units
* this_
);
21584 char* /*new*/ clutter_units_to_string(Units
* this_
);
21585 Vertex
* /*new*/ clutter_vertex_new(float x
, float y
, float z
);
21586 Vertex
* /*new*/ clutter_vertex_copy(Vertex
* this_
);
21587 int clutter_vertex_equal(Vertex
* this_
, Vertex
* vertex_b
);
21588 void clutter_vertex_free(Vertex
* this_
);
21589 void clutter_base_init();
21590 void clutter_cairo_set_source_color(cairo
.Context
* cr
, Color
* color
);
21591 int clutter_check_version(uint major
, uint minor
, uint micro
);
21592 void clutter_clear_glyph_cache();
21593 void clutter_do_event(Event
* event
);
21594 int clutter_events_pending();
21595 int clutter_feature_available(FeatureFlags feature
);
21596 FeatureFlags
clutter_feature_get_all();
21597 uint clutter_frame_source_add(uint fps
, GLib2
.SourceFunc func
, void* data
);
21598 uint clutter_frame_source_add_full(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
21599 int clutter_get_accessibility_enabled();
21600 Actor
* clutter_get_actor_by_gid(uint id_
);
21601 Event
* clutter_get_current_event();
21602 uint clutter_get_current_event_time();
21603 int clutter_get_debug_enabled();
21604 Backend
* clutter_get_default_backend();
21605 uint clutter_get_default_frame_rate();
21606 TextDirection
clutter_get_default_text_direction();
21607 FontFlags
clutter_get_font_flags();
21608 Pango
.FontMap
* clutter_get_font_map();
21609 InputDevice
* clutter_get_input_device_for_id(int id_
);
21610 Actor
* clutter_get_keyboard_grab();
21611 int clutter_get_motion_events_enabled();
21612 GLib2
.OptionGroup
* /*new*/ clutter_get_option_group();
21613 GLib2
.OptionGroup
* /*new*/ clutter_get_option_group_without_init();
21614 Actor
* clutter_get_pointer_grab();
21615 char* clutter_get_script_id(GObject2
.Object
* gobject
);
21616 int clutter_get_show_fps();
21617 c_ulong
clutter_get_timestamp();
21618 void clutter_grab_keyboard(Actor
* actor
);
21619 void clutter_grab_pointer(Actor
* actor
);
21620 void clutter_grab_pointer_for_device(Actor
* actor
, int id_
);
21621 InitError
clutter_init(/*inout*/ int* argc
, /*inout*/ char*** argv
=null);
21622 GLib2
.Quark
clutter_init_error_quark();
21623 InitError
clutter_init_with_args(/*inout*/ int* argc
, /*inout*/ char*** argv
, char* parameter_string
, GLib2
.OptionEntry
* entries
, char* translation_domain
, GLib2
.Error
** error
);
21624 uint clutter_keysym_to_unicode(uint keyval
);
21625 void clutter_main();
21626 int clutter_main_level();
21627 void clutter_main_quit();
21628 GObject2
.ParamSpec
* clutter_param_spec_color(char* name
, char* nick
, char* blurb
, Color
* default_value
, GObject2
.ParamFlags flags
);
21629 GObject2
.ParamSpec
* clutter_param_spec_fixed(char* name
, char* nick
, char* blurb
, Cogl
.Fixed minimum
, Cogl
.Fixed maximum
, Cogl
.Fixed default_value
, GObject2
.ParamFlags flags
);
21630 GObject2
.ParamSpec
* clutter_param_spec_units(char* name
, char* nick
, char* blurb
, UnitType default_type
, float minimum
, float maximum
, float default_value
, GObject2
.ParamFlags flags
);
21631 void clutter_redraw(Stage
* stage
);
21632 GLib2
.Quark
clutter_script_error_quark();
21633 void clutter_set_default_frame_rate(uint frames_per_sec
);
21634 void clutter_set_font_flags(FontFlags flags
);
21635 void clutter_set_motion_events_enabled(int enable
);
21636 GLib2
.Quark
clutter_shader_error_quark();
21637 GLib2
.Quark
clutter_texture_error_quark();
21638 uint clutter_threads_add_frame_source(uint fps
, GLib2
.SourceFunc func
, void* data
);
21639 uint clutter_threads_add_frame_source_full(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
21640 uint clutter_threads_add_idle(GLib2
.SourceFunc func
, void* data
);
21641 uint clutter_threads_add_idle_full(int priority
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
21642 uint clutter_threads_add_repaint_func(GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
21643 uint clutter_threads_add_timeout(uint interval
, GLib2
.SourceFunc func
, void* data
);
21644 uint clutter_threads_add_timeout_full(int priority
, uint interval
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
21645 void clutter_threads_enter();
21646 void clutter_threads_init();
21647 void clutter_threads_leave();
21648 void clutter_threads_remove_repaint_func(uint handle_id
);
21649 void clutter_threads_set_lock_functions(GObject2
.Callback enter_fn
, GObject2
.Callback leave_fn
);
21650 void clutter_ungrab_keyboard();
21651 void clutter_ungrab_pointer();
21652 void clutter_ungrab_pointer_for_device(int id_
);
21653 int clutter_util_next_p2(int a
);
21654 Color
* clutter_value_get_color(GObject2
.Value
* value
);
21655 Cogl
.Fixed
clutter_value_get_fixed(GObject2
.Value
* value
);
21656 float* clutter_value_get_shader_float(GObject2
.Value
* value
, size_t
* length
);
21657 int* clutter_value_get_shader_int(GObject2
.Value
* value
, size_t
* length
);
21658 float* clutter_value_get_shader_matrix(GObject2
.Value
* value
, /*out*/ size_t
* length
);
21659 Units
* clutter_value_get_units(GObject2
.Value
* value
);
21660 void clutter_value_set_color(GObject2
.Value
* value
, Color
* color
);
21661 void clutter_value_set_fixed(GObject2
.Value
* value
, Cogl
.Fixed fixed_
);
21662 void clutter_value_set_shader_float(GObject2
.Value
* value
, int size
, float* floats
);
21663 void clutter_value_set_shader_int(GObject2
.Value
* value
, int size
, int* ints
);
21664 void clutter_value_set_shader_matrix(GObject2
.Value
* value
, int size
, float* matrix
);
21665 void clutter_value_set_units(GObject2
.Value
* value
, Units
* units
);