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 alias parent_instance
this;
128 alias parent_instance super_
;
129 alias parent_instance initiallyunowned
;
130 GObject2
.InitiallyUnowned parent_instance
;
132 private uint private_flags
;
133 private ActorPrivate
* priv
;
136 // Adds @action to the list of actions applied to @self
138 // A #ClutterAction can only belong to one actor at a time
140 // The #ClutterActor will hold a reference on @action until either
141 // clutter_actor_remove_action() or clutter_actor_clear_actions()
143 // <action>: a #ClutterAction
144 void add_action(Action
* action
) {
145 clutter_actor_add_action(&this, action
);
148 // A convenience function for setting the name of a #ClutterAction
149 // while adding it to the list of actions applied to @self
151 // This function is the logical equivalent of:
154 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
155 // clutter_actor_add_action (self, action);
157 // <name>: the name to set on the action
158 // <action>: a #ClutterAction
159 void add_action_with_name(char* name
, Action
* action
) {
160 clutter_actor_add_action_with_name(&this, name
, action
);
163 // Adds @constraint to the list of #ClutterConstraint<!-- -->s applied
166 // The #ClutterActor will hold a reference on the @constraint until
167 // either clutter_actor_remove_constraint() or
168 // clutter_actor_clear_constraints() is called.
169 // <constraint>: a #ClutterConstraint
170 void add_constraint(Constraint
* constraint
) {
171 clutter_actor_add_constraint(&this, constraint
);
174 // A convenience function for setting the name of a #ClutterConstraint
175 // while adding it to the list of constraints applied to @self
177 // This function is the logical equivalent of:
180 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
181 // clutter_actor_add_constraint (self, constraint);
183 // <name>: the name to set on the constraint
184 // <constraint>: a #ClutterConstraint
185 void add_constraint_with_name(char* name
, Constraint
* constraint
) {
186 clutter_actor_add_constraint_with_name(&this, name
, constraint
);
189 // Adds @effect to the list of #ClutterEffect<!-- -->s applied to @self
191 // The #ClutterActor will hold a reference on the @effect until either
192 // clutter_actor_remove_effect() or clutter_actor_clear_effects() is
194 // <effect>: a #ClutterEffect
195 void add_effect(Effect
* effect
) {
196 clutter_actor_add_effect(&this, effect
);
199 // A convenience function for setting the name of a #ClutterEffect
200 // while adding it to the list of effectss applied to @self
202 // This function is the logical equivalent of:
205 // clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
206 // clutter_actor_add_effect (self, effect);
208 // <name>: the name to set on the effect
209 // <effect>: a #ClutterEffect
210 void add_effect_with_name(char* name
, Effect
* effect
) {
211 clutter_actor_add_effect_with_name(&this, name
, effect
);
214 // Called by the parent of an actor to assign the actor its size.
215 // Should never be called by applications (except when implementing
216 // a container or layout manager).
218 // Actors can know from their allocation box whether they have moved
219 // with respect to their parent actor. The @flags parameter describes
220 // additional information about the allocation, for instance whether
221 // the parent has moved with respect to the stage, for example because
222 // a grandparent's origin has moved.
223 // <box>: new allocation of the actor, in parent-relative coordinates
224 // <flags>: flags that control the allocation
225 void allocate(ActorBox
* box
, AllocationFlags flags
) {
226 clutter_actor_allocate(&this, box
, flags
);
229 // Allocates @self by taking into consideration the available allocation
230 // area; an alignment factor on either axis; and whether the actor should
231 // fill the allocation on either axis.
233 // The @box should contain the available allocation width and height;
234 // if the x1 and y1 members of #ClutterActorBox are not set to 0, the
235 // allocation will be offset by their value.
237 // This function takes into consideration the geometry request specified by
238 // the #ClutterActor:request-mode property, and the text direction.
240 // This function is useful for fluid layout managers, like #ClutterBinLayout
241 // or #ClutterTableLayout
242 // <box>: a #ClutterActorBox, containing the available width and height
243 // <x_align>: the horizontal alignment, between 0 and 1
244 // <y_align>: the vertical alignment, between 0 and 1
245 // <x_fill>: whether the actor should fill horizontally
246 // <y_fill>: whether the actor should fill vertically
247 // <flags>: allocation flags to be passed to clutter_actor_allocate()
248 void allocate_align_fill(ActorBox
* box
, double x_align
, double y_align
, int x_fill
, int y_fill
, AllocationFlags flags
) {
249 clutter_actor_allocate_align_fill(&this, box
, x_align
, y_align
, x_fill
, y_fill
, flags
);
252 // Allocates @self taking into account the #ClutterActor<!-- -->'s
253 // preferred size, but limiting it to the maximum available width
254 // and height provided.
256 // This function will do the right thing when dealing with the
257 // actor's request mode.
259 // The implementation of this function is equivalent to:
262 // if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
264 // clutter_actor_get_preferred_width (self, available_height,
266 // &natural_width);
267 // width = CLAMP (natural_width, min_width, available_width);
269 // clutter_actor_get_preferred_height (self, width,
271 // &natural_height);
272 // height = CLAMP (natural_height, min_height, available_height);
276 // clutter_actor_get_preferred_height (self, available_width,
278 // &natural_height);
279 // height = CLAMP (natural_height, min_height, available_height);
281 // clutter_actor_get_preferred_width (self, height,
283 // &natural_width);
284 // width = CLAMP (natural_width, min_width, available_width);
287 // box.x1 = x; box.y1 = y;
288 // box.x2 = box.x1 + available_width;
289 // box.y2 = box.y1 + available_height;
290 // clutter_actor_allocate (self, &box, flags);
293 // This function can be used by fluid layout managers to allocate
294 // an actor's preferred size without making it bigger than the area
295 // available for the container.
296 // <x>: the actor's X coordinate
297 // <y>: the actor's Y coordinate
298 // <available_width>: the maximum available width, or -1 to use the actor's natural width
299 // <available_height>: the maximum available height, or -1 to use the actor's natural height
300 // <flags>: flags controlling the allocation
301 void allocate_available_size(float x
, float y
, float available_width
, float available_height
, AllocationFlags flags
) {
302 clutter_actor_allocate_available_size(&this, x
, y
, available_width
, available_height
, flags
);
305 // Allocates the natural size of @self.
307 // This function is a utility call for #ClutterActor implementations
308 // that allocates the actor's preferred natural size. It can be used
309 // by fixed layout managers (like #ClutterGroup or so called
310 // 'composite actors') inside the ClutterActor::allocate
311 // implementation to give each child exactly how much space it
314 // This function is not meant to be used by applications. It is also
315 // not meant to be used outside the implementation of the
316 // ClutterActor::allocate virtual function.
317 // <flags>: flags controlling the allocation
318 void allocate_preferred_size(AllocationFlags flags
) {
319 clutter_actor_allocate_preferred_size(&this, flags
);
322 // Unintrospectable method: animate() / clutter_actor_animate()
323 // Animates the given list of properties of @actor between the current
324 // value for each property and a new final value. The animation has a
325 // definite duration and a speed given by the @mode.
327 // For example, this:
330 // clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
336 // will make width and height properties of the #ClutterActor "rectangle"
337 // grow linearly between the current value and 100 pixels, in 250 milliseconds.
339 // The animation @mode is a logical id, either from the #ClutterAnimationMode
340 // enumeration of from clutter_alpha_register_func().
342 // All the properties specified will be animated between the current value
343 // and the final value. If a property should be set at the beginning of
344 // the animation but not updated during the animation, it should be prefixed
345 // by the "fixed::" string, for instance:
348 // clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
349 // "rotation-angle-z", 360.0,
350 // "fixed::rotation-center-z", &center,
354 // Will animate the "rotation-angle-z" property between the current value
355 // and 360 degrees, and set the "rotation-center-z" property to the fixed
356 // value of the #ClutterVertex "center".
358 // This function will implicitly create a #ClutterAnimation object which
359 // will be assigned to the @actor and will be returned to the developer
360 // to control the animation or to know when the animation has been
363 // If a name argument starts with "signal::", "signal-after::",
364 // "signal-swapped::" or "signal-swapped-after::" the two following arguments
365 // are used as callback function and data for a signal handler installed on
366 // the #ClutterAnimation object for the specified signal name, for instance:
371 // on_animation_completed (ClutterAnimation *animation,
372 // ClutterActor *actor)
374 // clutter_actor_hide (actor);
377 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
379 // "signal::completed", on_animation_completed, actor,
383 // or, to automatically destroy an actor at the end of the animation:
386 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
388 // "signal-swapped-after::completed",
389 // clutter_actor_destroy,
394 // The "signal::" modifier is the equivalent of using g_signal_connect();
395 // the "signal-after::" modifier is the equivalent of using
396 // g_signal_connect_after() or g_signal_connect_data() with the
397 // %G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent
398 // of using g_signal_connect_swapped() or g_signal_connect_data() with the
399 // %G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier
400 // is the equivalent of using g_signal_connect_data() with both the
401 // %G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate()
402 // function will not keep track of multiple connections to the same signal,
403 // so it is your responsability to avoid them when calling
404 // clutter_actor_animate() multiple times on the same actor.
406 // Calling this function on an actor that is already being animated
407 // will cause the current animation to change with the new final values,
408 // the new easing mode and the new duration - that is, this code:
411 // clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
415 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
422 // is the equivalent of:
425 // clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
433 // <note>Unless the animation is looping, the #ClutterAnimation created by
434 // clutter_actor_animate() will become invalid as soon as it is
437 // Since the created #ClutterAnimation instance attached to @actor
438 // is guaranteed to be valid throughout the #ClutterAnimation::completed
439 // signal emission chain, you will not be able to create a new animation
440 // using clutter_actor_animate() on the same @actor from within the
441 // #ClutterAnimation::completed signal handler unless you use
442 // g_signal_connect_after() to connect the callback function, for instance:
446 // on_animation_completed (ClutterAnimation *animation,
447 // ClutterActor *actor)
449 // clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
456 // animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
460 // g_signal_connect (animation, "completed",
461 // G_CALLBACK (on_animation_completed),
466 // owned by the #ClutterActor and should not be unreferenced with
468 // RETURNS: a #ClutterAnimation object. The object is
469 // <mode>: an animation mode logical id
470 // <duration>: duration of the animation, in milliseconds
471 // <first_property_name>: the name of a property
472 /+ Not available -- variadic methods unsupported - use the C function directly.
473 alias clutter_actor_animate animate; // Variadic
476 // Unintrospectable method: animate_with_alpha() / clutter_actor_animate_with_alpha()
477 // Animates the given list of properties of @actor between the current
478 // value for each property and a new final value. The animation has a
479 // definite behaviour given by the passed @alpha.
481 // See clutter_actor_animate() for further details.
483 // This function is useful if you want to use an existing #ClutterAlpha
484 // to animate @actor.
486 // #ClutterActor and should not be unreferenced with g_object_unref()
487 // RETURNS: a #ClutterAnimation object. The object is owned by the
488 // <alpha>: a #ClutterAlpha
489 // <first_property_name>: the name of a property
490 /+ Not available -- variadic methods unsupported - use the C function directly.
491 alias clutter_actor_animate_with_alpha animate_with_alpha; // Variadic
494 // Animates the given list of properties of @actor between the current
495 // value for each property and a new final value. The animation has a
496 // definite behaviour given by the passed @alpha.
498 // See clutter_actor_animate() for further details.
500 // This function is useful if you want to use an existing #ClutterAlpha
501 // to animate @actor.
503 // This is the vector-based variant of clutter_actor_animate_with_alpha(),
504 // useful for language bindings.
506 // <warning>Unlike clutter_actor_animate_with_alpha(), this function will
507 // not allow you to specify "signal::" names and callbacks.</warning>
509 // #ClutterActor and should not be unreferenced with g_object_unref()
510 // RETURNS: a #ClutterAnimation object. The object is owned by the
511 // <alpha>: a #ClutterAlpha
512 // <n_properties>: number of property names and values
513 // <properties>: a vector containing the property names to set
514 // <values>: a vector containing the property values to set
515 Animation
* animate_with_alphav(Alpha
* alpha
, int n_properties
, char* properties
, GObject2
.Value
* values
) {
516 return clutter_actor_animate_with_alphav(&this, alpha
, n_properties
, properties
, values
);
519 // Unintrospectable method: animate_with_timeline() / clutter_actor_animate_with_timeline()
520 // Animates the given list of properties of @actor between the current
521 // value for each property and a new final value. The animation has a
522 // definite duration given by @timeline and a speed given by the @mode.
524 // See clutter_actor_animate() for further details.
526 // This function is useful if you want to use an existing timeline
527 // to animate @actor.
529 // owned by the #ClutterActor and should not be unreferenced with
531 // RETURNS: a #ClutterAnimation object. The object is
532 // <mode>: an animation mode logical id
533 // <timeline>: a #ClutterTimeline
534 // <first_property_name>: the name of a property
535 /+ Not available -- variadic methods unsupported - use the C function directly.
536 alias clutter_actor_animate_with_timeline animate_with_timeline; // Variadic
539 // Animates the given list of properties of @actor between the current
540 // value for each property and a new final value. The animation has a
541 // definite duration given by @timeline and a speed given by the @mode.
543 // See clutter_actor_animate() for further details.
545 // This function is useful if you want to use an existing timeline
546 // to animate @actor.
548 // This is the vector-based variant of clutter_actor_animate_with_timeline(),
549 // useful for language bindings.
551 // <warning>Unlike clutter_actor_animate_with_timeline(), this function
552 // will not allow you to specify "signal::" names and callbacks.</warning>
554 // owned by the #ClutterActor and should not be unreferenced with
556 // RETURNS: a #ClutterAnimation object. The object is
557 // <mode>: an animation mode logical id
558 // <timeline>: a #ClutterTimeline
559 // <n_properties>: number of property names and values
560 // <properties>: a vector containing the property names to set
561 // <values>: a vector containing the property values to set
562 Animation
* animate_with_timelinev(c_ulong mode
, Timeline
* timeline
, int n_properties
, char* properties
, GObject2
.Value
* values
) {
563 return clutter_actor_animate_with_timelinev(&this, mode
, timeline
, n_properties
, properties
, values
);
566 // Animates the given list of properties of @actor between the current
567 // value for each property and a new final value. The animation has a
568 // definite duration and a speed given by the @mode.
570 // This is the vector-based variant of clutter_actor_animate(), useful
571 // for language bindings.
573 // <warning>Unlike clutter_actor_animate(), this function will not
574 // allow you to specify "signal::" names and callbacks.</warning>
576 // owned by the #ClutterActor and should not be unreferenced with
578 // RETURNS: a #ClutterAnimation object. The object is
579 // <mode>: an animation mode logical id
580 // <duration>: duration of the animation, in milliseconds
581 // <n_properties>: number of property names and values
582 // <properties>: a vector containing the property names to set
583 // <values>: a vector containing the property values to set
584 Animation
* animatev(c_ulong mode
, uint duration
, int n_properties
, char* properties
, GObject2
.Value
* values
) {
585 return clutter_actor_animatev(&this, mode
, duration
, n_properties
, properties
, values
);
588 // Transforms @point in coordinates relative to the actor into
589 // ancestor-relative coordinates using the relevant transform
590 // stack (i.e. scale, rotation, etc).
592 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
593 // this case, the coordinates returned will be the coordinates on
594 // the stage before the projection is applied. This is different from
595 // the behaviour of clutter_actor_apply_transform_to_point().
596 // <ancestor>: A #ClutterActor ancestor, or %NULL to use the default #ClutterStage
597 // <point>: A point as #ClutterVertex
598 // <vertex>: The translated #ClutterVertex
599 void apply_relative_transform_to_point(Actor
* ancestor
, Vertex
* point
, /*out*/ Vertex
* vertex
) {
600 clutter_actor_apply_relative_transform_to_point(&this, ancestor
, point
, vertex
);
603 // Transforms @point in coordinates relative to the actor
604 // into screen-relative coordinates with the current actor
605 // transformation (i.e. scale, rotation, etc)
606 // <point>: A point as #ClutterVertex
607 // <vertex>: The translated #ClutterVertex
608 void apply_transform_to_point(Vertex
* point
, /*out*/ Vertex
* vertex
) {
609 clutter_actor_apply_transform_to_point(&this, point
, vertex
);
611 // Clears the list of actions applied to @self
612 void clear_actions() {
613 clutter_actor_clear_actions(&this);
615 // Clears the list of constraints applied to @self
616 void clear_constraints() {
617 clutter_actor_clear_constraints(&this);
619 // Clears the list of effects applied to @self
620 void clear_effects() {
621 clutter_actor_clear_effects(&this);
624 // Determines if @descendant is contained inside @self (either as an
625 // immediate child, or as a deeper descendant). If @self and
626 // @descendant point to the same actor then it will also return %TRUE.
627 // RETURNS: whether @descendent is contained within @self
628 // <descendant>: A #ClutterActor, possibly contained in @self
629 int contains(Actor
* descendant
) {
630 return clutter_actor_contains(&this, descendant
);
633 // Run the next stage of the paint sequence. This function should only
634 // be called within the implementation of the ‘run’ virtual of a
635 // #ClutterEffect. It will cause the run method of the next effect to
636 // be applied, or it will paint the actual actor if the current effect
637 // is the last effect in the chain.
638 void continue_paint() {
639 clutter_actor_continue_paint(&this);
642 // Creates a #PangoContext for the given actor. The #PangoContext
643 // is already configured using the appropriate font map, resolution
646 // See also clutter_actor_get_pango_context().
648 // Use g_object_unref() on the returned value to deallocate its
650 // RETURNS: the newly created #PangoContext.
651 Pango
.Context
* /*new*/ create_pango_context() {
652 return clutter_actor_create_pango_context(&this);
655 // Creates a new #PangoLayout from the same #PangoContext used
656 // by the #ClutterActor. The #PangoLayout is already configured
657 // with the font map, resolution and font options, and the
660 // If you want to keep around a #PangoLayout created by this
661 // function you will have to connect to the #ClutterBackend::font-changed
662 // and #ClutterBackend::resolution-changed signals, and call
663 // pango_layout_context_changed() in response to them.
665 // Use g_object_unref() when done
666 // RETURNS: the newly created #PangoLayout.
667 // <text>: (allow-none) the text to set on the #PangoLayout, or %NULL
668 Pango
.Layout
* /*new*/ create_pango_layout(char* text
) {
669 return clutter_actor_create_pango_layout(&this, text
);
672 // Destroys an actor. When an actor is destroyed, it will break any
673 // references it holds to other objects. If the actor is inside a
674 // container, the actor will be removed.
676 // When you destroy a container, its children will be destroyed as well.
678 // Note: you cannot destroy the #ClutterStage returned by
679 // clutter_stage_get_default().
681 clutter_actor_destroy(&this);
684 // Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate()
685 // has been called on @actor.
687 // Once the animation has been detached, it loses a reference. If it was
688 // the only reference then the #ClutterAnimation becomes invalid.
690 // The #ClutterAnimation::completed signal will not be emitted.
691 void detach_animation() {
692 clutter_actor_detach_animation(&this);
695 // This function is used to emit an event on the main stage.
696 // You should rarely need to use this function, except for
697 // synthetising events.
699 // if the actor handled the event, or %FALSE if the event was
701 // RETURNS: the return value from the signal emission: %TRUE
702 // <event>: a #ClutterEvent
703 // <capture>: TRUE if event in in capture phase, FALSE otherwise.
704 int event(Event
* event
, int capture
) {
705 return clutter_actor_event(&this, event
, capture
);
708 // Calculates the transformed screen coordinates of the four corners of
709 // the actor; the returned vertices relate to the #ClutterActorBox
710 // coordinates as follows:
712 // <listitem><para>v[0] contains (x1, y1)</para></listitem>
713 // <listitem><para>v[1] contains (x2, y1)</para></listitem>
714 // <listitem><para>v[2] contains (x1, y2)</para></listitem>
715 // <listitem><para>v[3] contains (x2, y2)</para></listitem>
717 // <verts>: Pointer to a location of an array of 4 #ClutterVertex where to store the result.
718 void get_abs_allocation_vertices(/*out*/ Vertex verts
) {
719 clutter_actor_get_abs_allocation_vertices(&this, verts
);
722 // Returns the accessible object that describes the actor to an
723 // assistive technology.
725 // If no class-specific #AtkObject implementation is available for the
726 // actor instance in question, it will inherit an #AtkObject
727 // implementation from the first ancestor class for which such an
728 // implementation is defined.
730 // The documentation of the <ulink
731 // url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink>
732 // library contains more information about accessible objects and
734 // RETURNS: the #AtkObject associated with @actor
735 Atk
.Object
* get_accessible() {
736 return clutter_actor_get_accessible(&this);
739 // Retrieves the #ClutterAction with the given name in the list
740 // of actions applied to @self
742 // name, or %NULL. The returned #ClutterAction is owned by the
743 // actor and it should not be unreferenced directly
744 // RETURNS: a #ClutterAction for the given
745 // <name>: the name of the action to retrieve
746 Action
* get_action(char* name
) {
747 return clutter_actor_get_action(&this, name
);
750 // Retrieves the list of actions applied to @self
752 // of the list of #ClutterAction<!-- -->s. The contents of the list are
753 // owned by the #ClutterActor. Use g_list_free() to free the resources
754 // allocated by the returned #GList
756 GLib2
.List
* /*new container*/ get_actions() {
757 return clutter_actor_get_actions(&this);
760 // Gets the layout box an actor has been assigned. The allocation can
761 // only be assumed valid inside a paint() method; anywhere else, it
762 // may be out-of-date.
764 // An allocation does not incorporate the actor's scale or anchor point;
765 // those transformations do not affect layout, only rendering.
767 // <note>Do not call any of the clutter_actor_get_allocation_*() family
768 // of functions inside the implementation of the get_preferred_width()
769 // or get_preferred_height() virtual functions.</note>
770 // <box>: the function fills this in with the actor's allocation
771 void get_allocation_box(/*out*/ ActorBox
* box
) {
772 clutter_actor_get_allocation_box(&this, box
);
775 // Gets the layout box an actor has been assigned. The allocation can
776 // only be assumed valid inside a paint() method; anywhere else, it
777 // may be out-of-date.
779 // An allocation does not incorporate the actor's scale or anchor point;
780 // those transformations do not affect layout, only rendering.
782 // The returned rectangle is in pixels.
783 // <geom>: allocation geometry in pixels
784 void get_allocation_geometry(/*out*/ Geometry
* geom
) {
785 clutter_actor_get_allocation_geometry(&this, geom
);
788 // Calculates the transformed coordinates of the four corners of the
789 // actor in the plane of @ancestor. The returned vertices relate to
790 // the #ClutterActorBox coordinates as follows:
792 // <listitem><para>@verts[0] contains (x1, y1)</para></listitem>
793 // <listitem><para>@verts[1] contains (x2, y1)</para></listitem>
794 // <listitem><para>@verts[2] contains (x1, y2)</para></listitem>
795 // <listitem><para>@verts[3] contains (x2, y2)</para></listitem>
798 // If @ancestor is %NULL the ancestor will be the #ClutterStage. In
799 // this case, the coordinates returned will be the coordinates on
800 // the stage before the projection is applied. This is different from
801 // the behaviour of clutter_actor_get_abs_allocation_vertices().
802 // <ancestor>: A #ClutterActor to calculate the vertices against, or %NULL to use the #ClutterStage
803 // <verts>: return location for an array of 4 #ClutterVertex in which to store the result
804 void get_allocation_vertices(Actor
* ancestor
, /*out*/ Vertex verts
) {
805 clutter_actor_get_allocation_vertices(&this, ancestor
, verts
);
808 // Gets the current anchor point of the @actor in pixels.
809 // <anchor_x>: return location for the X coordinate of the anchor point
810 // <anchor_y>: return location for the Y coordinate of the anchor point
811 void get_anchor_point(/*out*/ float* anchor_x
, /*out*/ float* anchor_y
) {
812 clutter_actor_get_anchor_point(&this, anchor_x
, anchor_y
);
815 // Retrieves the anchor position expressed as a #ClutterGravity. If
816 // the anchor point was specified using pixels or units this will
817 // return %CLUTTER_GRAVITY_NONE.
818 // RETURNS: the #ClutterGravity used by the anchor point
819 Gravity
get_anchor_point_gravity() {
820 return clutter_actor_get_anchor_point_gravity(&this);
823 // Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate()
824 // has been called on @actor.
825 // RETURNS: a #ClutterAnimation, or %NULL
826 Animation
* get_animation() {
827 return clutter_actor_get_animation(&this);
830 // Gets the clip area for @self, if any is set
831 // <xoff>: return location for the X offset of the clip rectangle, or %NULL
832 // <yoff>: return location for the Y offset of the clip rectangle, or %NULL
833 // <width>: return location for the width of the clip rectangle, or %NULL
834 // <height>: return location for the height of the clip rectangle, or %NULL
835 void get_clip(/*out*/ float* xoff
=null, /*out*/ float* yoff
=null, /*out*/ float* width
=null, /*out*/ float* height
=null) {
836 clutter_actor_get_clip(&this, xoff
, yoff
, width
, height
);
839 // Retrieves the value set using clutter_actor_set_clip_to_allocation()
840 // RETURNS: %TRUE if the #ClutterActor is clipped to its allocation
841 int get_clip_to_allocation() {
842 return clutter_actor_get_clip_to_allocation(&this);
845 // Retrieves the #ClutterConstraint with the given name in the list
846 // of constraints applied to @self
848 // name, or %NULL. The returned #ClutterConstraint is owned by the
849 // actor and it should not be unreferenced directly
850 // RETURNS: a #ClutterConstraint for the given
851 // <name>: the name of the constraint to retrieve
852 Constraint
* get_constraint(char* name
) {
853 return clutter_actor_get_constraint(&this, name
);
856 // Retrieves the list of constraints applied to @self
858 // of the list of #ClutterConstraint<!-- -->s. The contents of the list are
859 // owned by the #ClutterActor. Use g_list_free() to free the resources
860 // allocated by the returned #GList
862 GLib2
.List
* /*new container*/ get_constraints() {
863 return clutter_actor_get_constraints(&this);
866 // Retrieves the depth of @self.
867 // RETURNS: the depth of the actor
869 return clutter_actor_get_depth(&this);
872 // Retrieves the #ClutterEffect with the given name in the list
873 // of effects applied to @self
875 // name, or %NULL. The returned #ClutterEffect is owned by the
876 // actor and it should not be unreferenced directly
877 // RETURNS: a #ClutterEffect for the given
878 // <name>: the name of the effect to retrieve
879 Effect
* get_effect(char* name
) {
880 return clutter_actor_get_effect(&this, name
);
883 // Retrieves the #ClutterEffect<!-- -->s applied on @self, if any
885 // of #ClutterEffect<!-- -->s, or %NULL. The elements of the returned
886 // list are owned by Clutter and they should not be freed. You should
887 // free the returned list using g_list_free() when done
889 GLib2
.List
* /*new container*/ get_effects() {
890 return clutter_actor_get_effects(&this);
893 // Checks whether an actor has a fixed position set (and will thus be
894 // unaffected by any layout manager).
895 // RETURNS: %TRUE if the fixed position is set on the actor
896 int get_fixed_position_set() {
897 return clutter_actor_get_fixed_position_set(&this);
900 // Retrieves the flags set on @self
901 // RETURNS: a bitwise or of #ClutterActorFlags or 0
902 ActorFlags
get_flags() {
903 return clutter_actor_get_flags(&this);
906 // Gets the size and position of an actor relative to its parent
907 // actor. This is the same as calling clutter_actor_get_position() and
908 // clutter_actor_get_size(). It tries to "do what you mean" and get the
909 // requested size and position if the actor's allocation is invalid.
910 // <geometry>: A location to store actors #ClutterGeometry
911 void get_geometry(/*out*/ Geometry
* geometry
) {
912 clutter_actor_get_geometry(&this, geometry
);
915 // Retrieves the unique id for @self.
916 // RETURNS: Globally unique value for this object instance.
918 return clutter_actor_get_gid(&this);
921 // Retrieves the height of a #ClutterActor.
923 // If the actor has a valid allocation, this function will return the
924 // height of the allocated area given to the actor.
926 // If the actor does not have a valid allocation, this function will
927 // return the actor's natural height, that is the preferred height of
930 // If you care whether you get the preferred height or the height that
931 // has been assigned to the actor, you should probably call a different
932 // function like clutter_actor_get_allocation_box() to retrieve the
933 // allocated size or clutter_actor_get_preferred_height() to retrieve the
936 // If an actor has a fixed height, for instance a height that has been
937 // assigned using clutter_actor_set_height(), the height returned will
938 // be the same value.
939 // RETURNS: the height of the actor, in pixels
941 return clutter_actor_get_height(&this);
944 // Retrieves the name of @self.
946 // owned by the actor and should not be modified or freed.
947 // RETURNS: the name of the actor, or %NULL. The returned string is
949 return clutter_actor_get_name(&this);
952 // Retrieves whether to redirect the actor to an offscreen buffer, as
953 // set by clutter_actor_set_offscreen_redirect().
954 // RETURNS: the value of the offscreen-redirect property of the actor
955 OffscreenRedirect
get_offscreen_redirect() {
956 return clutter_actor_get_offscreen_redirect(&this);
959 // Retrieves the opacity value of an actor, as set by
960 // clutter_actor_set_opacity().
962 // For retrieving the absolute opacity of the actor inside a paint
963 // virtual function, see clutter_actor_get_paint_opacity().
964 // RETURNS: the opacity of the actor
965 ubyte get_opacity() {
966 return clutter_actor_get_opacity(&this);
969 // Retrieves the paint volume of the passed #ClutterActor, and
970 // transforms it into a 2D bounding box in stage coordinates.
972 // This function is useful to determine the on screen area occupied by
973 // the actor. The box is only an approximation and may often be
974 // considerably larger due to the optimizations used to calculate the
975 // box. The box is never smaller though, so it can reliably be used
978 // There are times when a 2D paint box can't be determined, e.g.
979 // because the actor isn't yet parented under a stage or because
980 // the actor is unable to determine a paint volume.
983 // RETURNS: %TRUE if a 2D paint box could be determined, else
984 // <box>: return location for a #ClutterActorBox
985 int get_paint_box(/*out*/ ActorBox
* box
) {
986 return clutter_actor_get_paint_box(&this, box
);
989 // Retrieves the absolute opacity of the actor, as it appears on the stage.
991 // This function traverses the hierarchy chain and composites the opacity of
992 // the actor with that of its parents.
994 // This function is intended for subclasses to use in the paint virtual
995 // function, to paint themselves with the correct opacity.
996 // RETURNS: The actor opacity value.
997 ubyte get_paint_opacity() {
998 return clutter_actor_get_paint_opacity(&this);
1001 // Retrieves the 'paint' visibility of an actor recursively checking for non
1004 // This is by definition the same as CLUTTER_ACTOR_IS_MAPPED().
1005 // RETURNS: TRUE if the actor is visibile and will be painted.
1006 int get_paint_visibility() {
1007 return clutter_actor_get_paint_visibility(&this);
1010 // Retrieves the paint volume of the passed #ClutterActor, or %NULL
1011 // when a paint volume can't be determined.
1013 // The paint volume is defined as the 3D space occupied by an actor
1014 // when being painted.
1016 // This function will call the <function>get_paint_volume()</function>
1017 // virtual function of the #ClutterActor class. Sub-classes of #ClutterActor
1018 // should not usually care about overriding the default implementation,
1019 // unless they are, for instance: painting outside their allocation, or
1020 // actors with a depth factor (not in terms of #ClutterActor:depth but real
1023 // <note>2D actors overriding <function>get_paint_volume()</function>
1024 // ensure their volume has a depth of 0. (This will be true so long as
1025 // you don't call clutter_paint_volume_set_depth().)</note>
1027 // or %NULL if no volume could be determined.
1028 // RETURNS: a pointer to a #ClutterPaintVolume
1029 PaintVolume
* get_paint_volume() {
1030 return clutter_actor_get_paint_volume(&this);
1033 // Retrieves the #PangoContext for @self. The actor's #PangoContext
1034 // is already configured using the appropriate font map, resolution
1035 // and font options.
1037 // Unlike clutter_actor_create_pango_context(), this context is owend
1038 // by the #ClutterActor and it will be updated each time the options
1039 // stored by the #ClutterBackend change.
1041 // You can use the returned #PangoContext to create a #PangoLayout
1042 // and render text using cogl_pango_render_layout() to reuse the
1043 // glyphs cache also used by Clutter.
1045 // The returned #PangoContext is owned by the actor and should not be
1046 // unreferenced by the application code
1047 // RETURNS: the #PangoContext for a #ClutterActor.
1048 Pango
.Context
* get_pango_context() {
1049 return clutter_actor_get_pango_context(&this);
1052 // Retrieves the parent of @self.
1054 // if no parent is set
1055 // RETURNS: The #ClutterActor parent, or %NULL
1056 Actor
* get_parent() {
1057 return clutter_actor_get_parent(&this);
1060 // This function tries to "do what you mean" and tell you where the
1061 // actor is, prior to any transformations. Retrieves the fixed
1062 // position of an actor in pixels, if one has been set; otherwise, if
1063 // the allocation is valid, returns the actor's allocated position;
1064 // otherwise, returns 0,0.
1066 // The returned position is in pixels.
1067 // <x>: return location for the X coordinate, or %NULL
1068 // <y>: return location for the Y coordinate, or %NULL
1069 void get_position(/*out*/ float* x
=null, /*out*/ float* y
=null) {
1070 clutter_actor_get_position(&this, x
, y
);
1073 // Computes the requested minimum and natural heights for an actor,
1074 // or if they are already computed, returns the cached values.
1076 // An actor may not get its request - depending on the layout
1077 // manager that's in effect.
1079 // A request should not incorporate the actor's scale or anchor point;
1080 // those transformations do not affect layout, only rendering.
1081 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
1082 // <min_height_p>: return location for minimum height, or %NULL
1083 // <natural_height_p>: return location for natural height, or %NULL
1084 void get_preferred_height(float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* natural_height_p
=null) {
1085 clutter_actor_get_preferred_height(&this, for_width
, min_height_p
, natural_height_p
);
1088 // Computes the preferred minimum and natural size of an actor, taking into
1089 // account the actor's geometry management (either height-for-width
1090 // or width-for-height).
1092 // The width and height used to compute the preferred height and preferred
1093 // width are the actor's natural ones.
1095 // If you need to control the height for the preferred width, or the width for
1096 // the preferred height, you should use clutter_actor_get_preferred_width()
1097 // and clutter_actor_get_preferred_height(), and check the actor's preferred
1098 // geometry management using the #ClutterActor:request-mode property.
1099 // <min_width_p>: return location for the minimum width, or %NULL
1100 // <min_height_p>: return location for the minimum height, or %NULL
1101 // <natural_width_p>: return location for the natural width, or %NULL
1102 // <natural_height_p>: return location for the natural height, or %NULL
1103 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) {
1104 clutter_actor_get_preferred_size(&this, min_width_p
, min_height_p
, natural_width_p
, natural_height_p
);
1107 // Computes the requested minimum and natural widths for an actor,
1108 // optionally depending on the specified height, or if they are
1109 // already computed, returns the cached values.
1111 // An actor may not get its request - depending on the layout
1112 // manager that's in effect.
1114 // A request should not incorporate the actor's scale or anchor point;
1115 // those transformations do not affect layout, only rendering.
1116 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
1117 // <min_width_p>: return location for minimum width, or %NULL
1118 // <natural_width_p>: return location for the natural width, or %NULL
1119 void get_preferred_width(float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* natural_width_p
=null) {
1120 clutter_actor_get_preferred_width(&this, for_height
, min_width_p
, natural_width_p
);
1123 // Checks whether @actor is marked as reactive.
1124 // RETURNS: %TRUE if the actor is reactive
1125 int get_reactive() {
1126 return clutter_actor_get_reactive(&this);
1129 // Retrieves the geometry request mode of @self
1130 // RETURNS: the request mode for the actor
1131 RequestMode
get_request_mode() {
1132 return clutter_actor_get_request_mode(&this);
1135 // Retrieves the angle and center of rotation on the given axis,
1136 // set using clutter_actor_set_rotation().
1137 // RETURNS: the angle of rotation
1138 // <axis>: the axis of rotation
1139 // <x>: return value for the X coordinate of the center of rotation
1140 // <y>: return value for the Y coordinate of the center of rotation
1141 // <z>: return value for the Z coordinate of the center of rotation
1142 double get_rotation(RotateAxis axis
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* z
) {
1143 return clutter_actor_get_rotation(&this, axis
, x
, y
, z
);
1146 // Retrieves an actors scale factors.
1147 // <scale_x>: Location to store horizonal scale factor, or %NULL.
1148 // <scale_y>: Location to store vertical scale factor, or %NULL.
1149 void get_scale(/*out*/ double* scale_x
=null, /*out*/ double* scale_y
=null) {
1150 clutter_actor_get_scale(&this, scale_x
, scale_y
);
1153 // Retrieves the scale center coordinate in pixels relative to the top
1154 // left corner of the actor. If the scale center was specified using a
1155 // #ClutterGravity this will calculate the pixel offset using the
1156 // current size of the actor.
1157 // <center_x>: Location to store the X position of the scale center, or %NULL.
1158 // <center_y>: Location to store the Y position of the scale center, or %NULL.
1159 void get_scale_center(/*out*/ float* center_x
=null, /*out*/ float* center_y
=null) {
1160 clutter_actor_get_scale_center(&this, center_x
, center_y
);
1163 // Retrieves the scale center as a compass direction. If the scale
1164 // center was specified in pixels or units this will return
1165 // %CLUTTER_GRAVITY_NONE.
1166 // RETURNS: the scale gravity
1167 Gravity
get_scale_gravity() {
1168 return clutter_actor_get_scale_gravity(&this);
1171 // Queries the currently set #ClutterShader on @self.
1173 // or %NULL if no shader is set.
1174 // RETURNS: The currently set #ClutterShader
1175 Shader
* get_shader() {
1176 return clutter_actor_get_shader(&this);
1179 // This function tries to "do what you mean" and return
1180 // the size an actor will have. If the actor has a valid
1181 // allocation, the allocation will be returned; otherwise,
1182 // the actors natural size request will be returned.
1184 // If you care whether you get the request vs. the allocation, you
1185 // should probably call a different function like
1186 // clutter_actor_get_allocation_box() or
1187 // clutter_actor_get_preferred_width().
1188 // <width>: return location for the width, or %NULL.
1189 // <height>: return location for the height, or %NULL.
1190 void get_size(/*out*/ float* width
=null, /*out*/ float* height
=null) {
1191 clutter_actor_get_size(&this, width
, height
);
1194 // Retrieves the #ClutterStage where @actor is contained.
1196 // containing the actor, or %NULL
1197 // RETURNS: the stage
1198 Actor
* get_stage() {
1199 return clutter_actor_get_stage(&this);
1202 // Retrieves the value set using clutter_actor_set_text_direction()
1204 // If no text direction has been previously set, the default text
1205 // direction, as returned by clutter_get_default_text_direction(), will
1206 // be returned instead
1207 // RETURNS: the #ClutterTextDirection for the actor
1208 TextDirection
get_text_direction() {
1209 return clutter_actor_get_text_direction(&this);
1212 // Retrieves the transformations applied to @self relative to its
1214 // <matrix>: the return location for a #CoglMatrix
1215 void get_transformation_matrix(/*out*/ Cogl
.Matrix
* matrix
) {
1216 clutter_actor_get_transformation_matrix(&this, matrix
);
1219 // Retrieves the 3D paint volume of an actor like
1220 // clutter_actor_get_paint_volume() does (Please refer to the
1221 // documentation of clutter_actor_get_paint_volume() for more
1222 // details.) and it additionally transforms the paint volume into the
1223 // coordinate space of @relative_to_ancestor. (Or the stage if %NULL
1224 // is passed for @relative_to_ancestor)
1226 // This can be used by containers that base their paint volume on
1227 // the volume of their children. Such containers can query the
1228 // transformed paint volume of all of its children and union them
1229 // together using clutter_paint_volume_union().
1231 // or %NULL if no volume could be determined.
1232 // RETURNS: a pointer to a #ClutterPaintVolume
1233 // <relative_to_ancestor>: A #ClutterActor that is an ancestor of @self (or %NULL for the stage)
1234 PaintVolume
* get_transformed_paint_volume(Actor
* relative_to_ancestor
) {
1235 return clutter_actor_get_transformed_paint_volume(&this, relative_to_ancestor
);
1238 // Gets the absolute position of an actor, in pixels relative to the stage.
1239 // <x>: return location for the X coordinate, or %NULL
1240 // <y>: return location for the Y coordinate, or %NULL
1241 void get_transformed_position(/*out*/ float* x
=null, /*out*/ float* y
=null) {
1242 clutter_actor_get_transformed_position(&this, x
, y
);
1245 // Gets the absolute size of an actor in pixels, taking into account the
1248 // If the actor has a valid allocation, the allocated size will be used.
1249 // If the actor has not a valid allocation then the preferred size will
1250 // be transformed and returned.
1252 // If you want the transformed allocation, see
1253 // clutter_actor_get_abs_allocation_vertices() instead.
1255 // <note>When the actor (or one of its ancestors) is rotated around the
1256 // X or Y axis, it no longer appears as on the stage as a rectangle, but
1257 // as a generic quadrangle; in that case this function returns the size
1258 // of the smallest rectangle that encapsulates the entire quad. Please
1259 // note that in this case no assumptions can be made about the relative
1260 // position of this envelope to the absolute position of the actor, as
1261 // returned by clutter_actor_get_transformed_position(); if you need this
1262 // information, you need to use clutter_actor_get_abs_allocation_vertices()
1263 // to get the coords of the actual quadrangle.</note>
1264 // <width>: return location for the width, or %NULL
1265 // <height>: return location for the height, or %NULL
1266 void get_transformed_size(/*out*/ float* width
=null, /*out*/ float* height
=null) {
1267 clutter_actor_get_transformed_size(&this, width
, height
);
1270 // Retrieves the width of a #ClutterActor.
1272 // If the actor has a valid allocation, this function will return the
1273 // width of the allocated area given to the actor.
1275 // If the actor does not have a valid allocation, this function will
1276 // return the actor's natural width, that is the preferred width of
1279 // If you care whether you get the preferred width or the width that
1280 // has been assigned to the actor, you should probably call a different
1281 // function like clutter_actor_get_allocation_box() to retrieve the
1282 // allocated size or clutter_actor_get_preferred_width() to retrieve the
1285 // If an actor has a fixed width, for instance a width that has been
1286 // assigned using clutter_actor_set_width(), the width returned will
1287 // be the same value.
1288 // RETURNS: the width of the actor, in pixels
1290 return clutter_actor_get_width(&this);
1293 // Retrieves the X coordinate of a #ClutterActor.
1295 // This function tries to "do what you mean", by returning the
1296 // correct value depending on the actor's state.
1298 // If the actor has a valid allocation, this function will return
1299 // the X coordinate of the origin of the allocation box.
1301 // If the actor has any fixed coordinate set using clutter_actor_set_x(),
1302 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1303 // function will return that coordinate.
1305 // If both the allocation and a fixed position are missing, this function
1308 // transformation (i.e. scaling, rotation)
1309 // RETURNS: the X coordinate, in pixels, ignoring any
1311 return clutter_actor_get_x(&this);
1314 // Retrieves the Y coordinate of a #ClutterActor.
1316 // This function tries to "do what you mean", by returning the
1317 // correct value depending on the actor's state.
1319 // If the actor has a valid allocation, this function will return
1320 // the Y coordinate of the origin of the allocation box.
1322 // If the actor has any fixed coordinate set using clutter_actor_set_y(),
1323 // clutter_actor_set_position() or clutter_actor_set_geometry(), this
1324 // function will return that coordinate.
1326 // If both the allocation and a fixed position are missing, this function
1329 // transformation (i.e. scaling, rotation)
1330 // RETURNS: the Y coordinate, in pixels, ignoring any
1332 return clutter_actor_get_y(&this);
1335 // Retrieves the center for the rotation around the Z axis as a
1336 // compass direction. If the center was specified in pixels or units
1337 // this will return %CLUTTER_GRAVITY_NONE.
1338 // RETURNS: the Z rotation center
1339 Gravity
get_z_rotation_gravity() {
1340 return clutter_actor_get_z_rotation_gravity(&this);
1343 // Sets the key focus of the #ClutterStage including @self
1344 // to this #ClutterActor.
1345 void grab_key_focus() {
1346 clutter_actor_grab_key_focus(&this);
1349 // Checks if the actor has an up-to-date allocation assigned to
1350 // it. This means that the actor should have an allocation: it's
1351 // visible and has a parent. It also means that there is no
1352 // outstanding relayout request in progress for the actor or its
1353 // children (There might be other outstanding layout requests in
1354 // progress that will cause the actor to get a new allocation
1355 // when the stage is laid out, however).
1357 // If this function returns %FALSE, then the actor will normally
1358 // be allocated before it is next drawn on the screen.
1359 // RETURNS: %TRUE if the actor has an up-to-date allocation
1360 int has_allocation() {
1361 return clutter_actor_has_allocation(&this);
1364 // Determines whether the actor has a clip area set or not.
1365 // RETURNS: %TRUE if the actor has a clip area set.
1367 return clutter_actor_has_clip(&this);
1370 // Checks whether @self is the #ClutterActor that has key focus
1371 // RETURNS: %TRUE if the actor has key focus, and %FALSE otherwise
1372 int has_key_focus() {
1373 return clutter_actor_has_key_focus(&this);
1376 // Asks the actor's implementation whether it may contain overlapping
1379 // For example; Clutter may use this to determine whether the painting
1380 // should be redirected to an offscreen buffer to correctly implement
1381 // the opacity property.
1383 // Custom actors can override the default response by implementing the
1384 // #ClutterActor <function>has_overlaps</function> virtual function. See
1385 // clutter_actor_set_offscreen_redirect() for more information.
1388 // RETURNS: %TRUE if the actor may have overlapping primitives, and
1389 int has_overlaps() {
1390 return clutter_actor_has_overlaps(&this);
1393 // Checks whether an actor contains the pointer of a
1394 // #ClutterInputDevice
1397 // RETURNS: %TRUE if the actor contains the pointer, and
1399 return clutter_actor_has_pointer(&this);
1402 // Flags an actor to be hidden. A hidden actor will not be
1403 // rendered on the stage.
1405 // Actors are visible by default.
1407 // If this function is called on an actor without a parent, the
1408 // #ClutterActor:show-on-set-parent property will be set to %FALSE
1409 // as a side-effect.
1411 clutter_actor_hide(&this);
1413 // Calls clutter_actor_hide() on all child actors (if any).
1415 clutter_actor_hide_all(&this);
1418 // Checks whether @self is being currently painted by a #ClutterClone
1420 // This function is useful only inside the ::paint virtual function
1421 // implementations or within handlers for the #ClutterActor::paint
1424 // This function should not be used by applications
1426 // by a #ClutterClone, and %FALSE otherwise
1427 // RETURNS: %TRUE if the #ClutterActor is currently being painted
1428 int is_in_clone_paint() {
1429 return clutter_actor_is_in_clone_paint(&this);
1432 // Checks whether any rotation is applied to the actor.
1433 // RETURNS: %TRUE if the actor is rotated.
1435 return clutter_actor_is_rotated(&this);
1438 // Checks whether the actor is scaled in either dimension.
1439 // RETURNS: %TRUE if the actor is scaled.
1441 return clutter_actor_is_scaled(&this);
1444 // Puts @self below @above.
1446 // Both actors must have the same parent, and the parent must implement
1447 // the #ClutterContainer interface.
1449 // This function is the equivalent of clutter_container_lower_child().
1450 // <above>: A #ClutterActor to lower below
1451 void lower(Actor
* above
=null) {
1452 clutter_actor_lower(&this, above
);
1455 // Lowers @self to the bottom.
1457 // This function calls clutter_actor_lower() internally.
1458 void lower_bottom() {
1459 clutter_actor_lower_bottom(&this);
1462 // Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
1463 // and realizes its children if they are visible. Does nothing if the
1464 // actor is not visible.
1466 // Calling this is allowed in only one case: you are implementing the
1467 // #ClutterActor <function>map()</function> virtual function in an actor
1468 // and you need to map the children of that actor. It is not necessary
1469 // to call this if you implement #ClutterContainer because the default
1470 // implementation will automatically map children of containers.
1472 // When overriding map, it is mandatory to chain up to the parent
1475 clutter_actor_map(&this);
1478 // Sets an anchor point for the actor, and adjusts the actor postion so that
1479 // the relative position of the actor toward its parent remains the same.
1480 // <anchor_x>: X coordinate of the anchor point
1481 // <anchor_y>: Y coordinate of the anchor point
1482 void move_anchor_point(float anchor_x
, float anchor_y
) {
1483 clutter_actor_move_anchor_point(&this, anchor_x
, anchor_y
);
1486 // Sets an anchor point on the actor based on the given gravity, adjusting the
1487 // actor postion so that its relative position within its parent remains
1490 // Since version 1.0 the anchor point will be stored as a gravity so
1491 // that if the actor changes size then the anchor point will move. For
1492 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
1493 // and later double the size of the actor, the anchor point will move
1494 // to the bottom right.
1495 // <gravity>: #ClutterGravity.
1496 void move_anchor_point_from_gravity(Gravity gravity
) {
1497 clutter_actor_move_anchor_point_from_gravity(&this, gravity
);
1500 // Moves an actor by the specified distance relative to its current
1501 // position in pixels.
1503 // This function modifies the fixed position of an actor and thus removes
1504 // it from any layout management. Another way to move an actor is with an
1505 // anchor point, see clutter_actor_set_anchor_point().
1506 // <dx>: Distance to move Actor on X axis.
1507 // <dy>: Distance to move Actor on Y axis.
1508 void move_by(float dx
, float dy
) {
1509 clutter_actor_move_by(&this, dx
, dy
);
1512 // Renders the actor to display.
1514 // This function should not be called directly by applications.
1515 // Call clutter_actor_queue_redraw() to queue paints, instead.
1517 // This function is context-aware, and will either cause a
1518 // regular paint or a pick paint.
1520 // This function will emit the #ClutterActor::paint signal or
1521 // the #ClutterActor::pick signal, depending on the context.
1523 // This function does not paint the actor if the actor is set to 0,
1524 // unless it is performing a pick paint.
1526 clutter_actor_paint(&this);
1528 // Disables the effects of clutter_actor_push_internal()
1529 void pop_internal() {
1530 clutter_actor_pop_internal(&this);
1533 // Should be used by actors implementing the #ClutterContainer and with
1534 // internal children added through clutter_actor_set_parent(), for instance:
1538 // my_actor_init (MyActor *self)
1540 // self->priv = SELF_ACTOR_GET_PRIVATE (self);
1542 // clutter_actor_push_internal (CLUTTER_ACTOR (self));
1544 // /* calling clutter_actor_set_parent() now will result in
1545 // * the internal flag being set on a child of MyActor
1548 // /* internal child - a background texture */
1549 // self->priv->background_tex = clutter_texture_new ();
1550 // clutter_actor_set_parent (self->priv->background_tex,
1551 // CLUTTER_ACTOR (self));
1553 // /* internal child - a label */
1554 // self->priv->label = clutter_text_new ();
1555 // clutter_actor_set_parent (self->priv->label,
1556 // CLUTTER_ACTOR (self));
1558 // clutter_actor_pop_internal (CLUTTER_ACTOR (self));
1560 // /* calling clutter_actor_set_parent() now will not result in
1561 // * the internal flag being set on a child of MyActor
1566 // This function will be used by Clutter to toggle an "internal child"
1567 // flag whenever clutter_actor_set_parent() is called; internal children
1568 // are handled differently by Clutter, specifically when destroying their
1571 // Call clutter_actor_pop_internal() when you finished adding internal
1574 // Nested calls to clutter_actor_push_internal() are allowed, but each
1575 // one must by followed by a clutter_actor_pop_internal() call.
1576 void push_internal() {
1577 clutter_actor_push_internal(&this);
1580 // Queues up a redraw of an actor and any children. The redraw occurs
1581 // once the main loop becomes idle (after the current batch of events
1582 // has been processed, roughly).
1584 // Applications rarely need to call this, as redraws are handled
1585 // automatically by modification functions.
1587 // This function will not do anything if @self is not visible, or
1588 // if the actor is inside an invisible part of the scenegraph.
1590 // Also be aware that painting is a NOP for actors with an opacity of
1593 // When you are implementing a custom actor you must queue a redraw
1594 // whenever some private state changes that will affect painting or
1595 // picking of your actor.
1596 void queue_redraw() {
1597 clutter_actor_queue_redraw(&this);
1600 // Indicates that the actor's size request or other layout-affecting
1601 // properties may have changed. This function is used inside #ClutterActor
1602 // subclass implementations, not by applications directly.
1604 // Queueing a new layout automatically queues a redraw as well.
1605 void queue_relayout() {
1606 clutter_actor_queue_relayout(&this);
1609 // Puts @self above @below.
1611 // Both actors must have the same parent, and the parent must implement
1612 // the #ClutterContainer interface
1614 // This function is the equivalent of clutter_container_raise_child().
1615 // <below>: A #ClutterActor to raise above.
1616 void raise(Actor
* below
=null) {
1617 clutter_actor_raise(&this, below
);
1620 // Raises @self to the top.
1622 // This function calls clutter_actor_raise() internally.
1624 clutter_actor_raise_top(&this);
1627 // Realization informs the actor that it is attached to a stage. It
1628 // can use this to allocate resources if it wanted to delay allocation
1629 // until it would be rendered. However it is perfectly acceptable for
1630 // an actor to create resources before being realized because Clutter
1631 // only ever has a single rendering context so that actor is free to
1632 // be moved from one stage to another.
1634 // This function does nothing if the actor is already realized.
1636 // Because a realized actor must have realized parent actors, calling
1637 // clutter_actor_realize() will also realize all parents of the actor.
1639 // This function does not realize child actors, except in the special
1640 // case that realizing the stage, when the stage is visible, will
1641 // suddenly map (and thus realize) the children of the stage.
1643 clutter_actor_realize(&this);
1646 // Removes @action from the list of actions applied to @self
1648 // The reference held by @self on the #ClutterAction will be released
1649 // <action>: a #ClutterAction
1650 void remove_action(Action
* action
) {
1651 clutter_actor_remove_action(&this, action
);
1654 // Removes the #ClutterAction with the given name from the list
1655 // of actions applied to @self
1656 // <name>: the name of the action to remove
1657 void remove_action_by_name(char* name
) {
1658 clutter_actor_remove_action_by_name(&this, name
);
1660 // Removes clip area from @self.
1661 void remove_clip() {
1662 clutter_actor_remove_clip(&this);
1665 // Removes @constraint from the list of constraints applied to @self
1667 // The reference held by @self on the #ClutterConstraint will be released
1668 // <constraint>: a #ClutterConstraint
1669 void remove_constraint(Constraint
* constraint
) {
1670 clutter_actor_remove_constraint(&this, constraint
);
1673 // Removes the #ClutterConstraint with the given name from the list
1674 // of constraints applied to @self
1675 // <name>: the name of the constraint to remove
1676 void remove_constraint_by_name(char* name
) {
1677 clutter_actor_remove_constraint_by_name(&this, name
);
1680 // Removes @effect from the list of effects applied to @self
1682 // The reference held by @self on the #ClutterEffect will be released
1683 // <effect>: a #ClutterEffect
1684 void remove_effect(Effect
* effect
) {
1685 clutter_actor_remove_effect(&this, effect
);
1688 // Removes the #ClutterEffect with the given name from the list
1689 // of effects applied to @self
1690 // <name>: the name of the effect to remove
1691 void remove_effect_by_name(char* name
) {
1692 clutter_actor_remove_effect_by_name(&this, name
);
1695 // This function resets the parent actor of @self. It is
1696 // logically equivalent to calling clutter_actor_unparent()
1697 // and clutter_actor_set_parent(), but more efficiently
1698 // implemented, ensures the child is not finalized
1699 // when unparented, and emits the parent-set signal only
1701 // <new_parent>: the new #ClutterActor parent
1702 void reparent(Actor
* new_parent
) {
1703 clutter_actor_reparent(&this, new_parent
);
1706 // Sets an anchor point for @self. The anchor point is a point in the
1707 // coordinate space of an actor to which the actor position within its
1708 // parent is relative; the default is (0, 0), i.e. the top-left corner
1710 // <anchor_x>: X coordinate of the anchor point
1711 // <anchor_y>: Y coordinate of the anchor point
1712 void set_anchor_point(float anchor_x
, float anchor_y
) {
1713 clutter_actor_set_anchor_point(&this, anchor_x
, anchor_y
);
1716 // Sets an anchor point on the actor, based on the given gravity (this is a
1717 // convenience function wrapping clutter_actor_set_anchor_point()).
1719 // Since version 1.0 the anchor point will be stored as a gravity so
1720 // that if the actor changes size then the anchor point will move. For
1721 // example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
1722 // and later double the size of the actor, the anchor point will move
1723 // to the bottom right.
1724 // <gravity>: #ClutterGravity.
1725 void set_anchor_point_from_gravity(Gravity gravity
) {
1726 clutter_actor_set_anchor_point_from_gravity(&this, gravity
);
1729 // Sets clip area for @self. The clip area is always computed from the
1730 // upper left corner of the actor, even if the anchor point is set
1732 // <xoff>: X offset of the clip rectangle
1733 // <yoff>: Y offset of the clip rectangle
1734 // <width>: Width of the clip rectangle
1735 // <height>: Height of the clip rectangle
1736 void set_clip(float xoff
, float yoff
, float width
, float height
) {
1737 clutter_actor_set_clip(&this, xoff
, yoff
, width
, height
);
1740 // Sets whether @self should be clipped to the same size as its
1742 // <clip_set>: %TRUE to apply a clip tracking the allocation
1743 void set_clip_to_allocation(int clip_set
) {
1744 clutter_actor_set_clip_to_allocation(&this, clip_set
);
1747 // Sets the Z coordinate of @self to @depth.
1749 // The unit used by @depth is dependant on the perspective setup. See
1750 // also clutter_stage_set_perspective().
1751 // <depth>: Z co-ord
1752 void set_depth(float depth
) {
1753 clutter_actor_set_depth(&this, depth
);
1756 // Sets whether an actor has a fixed position set (and will thus be
1757 // unaffected by any layout manager).
1758 // <is_set>: whether to use fixed position
1759 void set_fixed_position_set(int is_set
) {
1760 clutter_actor_set_fixed_position_set(&this, is_set
);
1763 // Sets @flags on @self
1765 // This function will emit notifications for the changed properties
1766 // <flags>: the flags to set
1767 void set_flags(ActorFlags flags
) {
1768 clutter_actor_set_flags(&this, flags
);
1771 // Sets the actor's fixed position and forces its minimum and natural
1772 // size, in pixels. This means the untransformed actor will have the
1773 // given geometry. This is the same as calling clutter_actor_set_position()
1774 // and clutter_actor_set_size().
1775 // <geometry>: A #ClutterGeometry
1776 void set_geometry(Geometry
* geometry
) {
1777 clutter_actor_set_geometry(&this, geometry
);
1780 // Forces a height on an actor, causing the actor's preferred width
1781 // and height (if any) to be ignored.
1783 // If @height is -1 the actor will use its preferred height instead of
1784 // overriding it, i.e. you can "unset" the height with -1.
1786 // This function sets both the minimum and natural size of the actor.
1787 // <height>: Requested new height for the actor, in pixels, or -1
1788 void set_height(float height
) {
1789 clutter_actor_set_height(&this, height
);
1792 // Sets the given name to @self. The name can be used to identify
1794 // <name>: Textual tag to apply to actor
1795 void set_name(char* name
) {
1796 clutter_actor_set_name(&this, name
);
1799 // Defines the circumstances where the actor should be redirected into
1800 // an offscreen image. The offscreen image is used to flatten the
1801 // actor into a single image while painting for two main reasons.
1802 // Firstly, when the actor is painted a second time without any of its
1803 // contents changing it can simply repaint the cached image without
1804 // descending further down the actor hierarchy. Secondly, it will make
1805 // the opacity look correct even if there are overlapping primitives
1808 // Caching the actor could in some cases be a performance win and in
1809 // some cases be a performance lose so it is important to determine
1810 // which value is right for an actor before modifying this value. For
1811 // example, there is never any reason to flatten an actor that is just
1812 // a single texture (such as a #ClutterTexture) because it is
1813 // effectively already cached in an image so the offscreen would be
1814 // redundant. Also if the actor contains primitives that are far apart
1815 // with a large transparent area in the middle (such as a large
1816 // CluterGroup with a small actor in the top left and a small actor in
1817 // the bottom right) then the cached image will contain the entire
1818 // image of the large area and the paint will waste time blending all
1819 // of the transparent pixels in the middle.
1821 // The default method of implementing opacity on a container simply
1822 // forwards on the opacity to all of the children. If the children are
1823 // overlapping then it will appear as if they are two separate glassy
1824 // objects and there will be a break in the color where they
1825 // overlap. By redirecting to an offscreen buffer it will be as if the
1826 // two opaque objects are combined into one and then made transparent
1827 // which is usually what is expected.
1829 // The image below demonstrates the difference between redirecting and
1830 // not. The image shows two Clutter groups, each containing a red and
1831 // a green rectangle which overlap. The opacity on the group is set to
1832 // 128 (which is 50%). When the offscreen redirect is not used, the
1833 // red rectangle can be seen through the blue rectangle as if the two
1834 // rectangles were separately transparent. When the redirect is used
1835 // the group as a whole is transparent instead so the red rectangle is
1836 // not visible where they overlap.
1838 // <figure id="offscreen-redirect">
1839 // <title>Sample of using an offscreen redirect for transparency</title>
1840 // <graphic fileref="offscreen-redirect.png" format="PNG"/>
1843 // The default value for this property is 0, so we effectively will
1844 // never redirect an actor offscreen by default. This means that there
1845 // are times that transparent actors may look glassy as described
1846 // above. The reason this is the default is because there is a
1847 // performance trade off between quality and performance here. In many
1848 // cases the default form of glassy opacity looks good enough, but if
1849 // it's not you will need to set the
1850 // %CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY flag to enable
1851 // redirection for opacity.
1853 // Custom actors that don't contain any overlapping primitives are
1854 // recommended to override the has_overlaps() virtual to return %FALSE
1855 // for maximum efficiency.
1856 // <redirect>: New offscreen redirect flags for the actor.
1857 void set_offscreen_redirect(OffscreenRedirect redirect
) {
1858 clutter_actor_set_offscreen_redirect(&this, redirect
);
1861 // Sets the actor's opacity, with zero being completely transparent and
1862 // 255 (0xff) being fully opaque.
1863 // <opacity>: New opacity value for the actor.
1864 void set_opacity(ubyte opacity
) {
1865 clutter_actor_set_opacity(&this, opacity
);
1868 // Sets the parent of @self to @parent. The opposite function is
1869 // clutter_actor_unparent().
1871 // This function should not be used by applications, but by custom
1872 // container actor subclasses.
1873 // <parent>: A new #ClutterActor parent
1874 void set_parent(Actor
* parent
) {
1875 clutter_actor_set_parent(&this, parent
);
1878 // Sets the actor's fixed position in pixels relative to any parent
1881 // If a layout manager is in use, this position will override the
1882 // layout manager and force a fixed position.
1883 // <x>: New left position of actor in pixels.
1884 // <y>: New top position of actor in pixels.
1885 void set_position(float x
, float y
) {
1886 clutter_actor_set_position(&this, x
, y
);
1889 // Sets @actor as reactive. Reactive actors will receive events.
1890 // <reactive>: whether the actor should be reactive to events
1891 void set_reactive(int reactive
) {
1892 clutter_actor_set_reactive(&this, reactive
);
1895 // Sets the geometry request mode of @self.
1897 // The @mode determines the order for invoking
1898 // clutter_actor_get_preferred_width() and
1899 // clutter_actor_get_preferred_height()
1900 // <mode>: the request mode
1901 void set_request_mode(RequestMode mode
) {
1902 clutter_actor_set_request_mode(&this, mode
);
1905 // Sets the rotation angle of @self around the given axis.
1907 // The rotation center coordinates used depend on the value of @axis:
1909 // <listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem>
1910 // <listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem>
1911 // <listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem>
1914 // The rotation coordinates are relative to the anchor point of the
1915 // actor, set using clutter_actor_set_anchor_point(). If no anchor
1916 // point is set, the upper left corner is assumed as the origin.
1917 // <axis>: the axis of rotation
1918 // <angle>: the angle of rotation
1919 // <x>: X coordinate of the rotation center
1920 // <y>: Y coordinate of the rotation center
1921 // <z>: Z coordinate of the rotation center
1922 void set_rotation(RotateAxis axis
, double angle
, float x
, float y
, float z
) {
1923 clutter_actor_set_rotation(&this, axis
, angle
, x
, y
, z
);
1926 // Scales an actor with the given factors. The scaling is relative to
1927 // the scale center and the anchor point. The scale center is
1928 // unchanged by this function and defaults to 0,0.
1929 // <scale_x>: double factor to scale actor by horizontally.
1930 // <scale_y>: double factor to scale actor by vertically.
1931 void set_scale(double scale_x
, double scale_y
) {
1932 clutter_actor_set_scale(&this, scale_x
, scale_y
);
1935 // Scales an actor with the given factors around the given center
1936 // point. The center point is specified in pixels relative to the
1937 // anchor point (usually the top left corner of the actor).
1938 // <scale_x>: double factor to scale actor by horizontally.
1939 // <scale_y>: double factor to scale actor by vertically.
1940 // <center_x>: X coordinate of the center of the scale.
1941 // <center_y>: Y coordinate of the center of the scale
1942 void set_scale_full(double scale_x
, double scale_y
, float center_x
, float center_y
) {
1943 clutter_actor_set_scale_full(&this, scale_x
, scale_y
, center_x
, center_y
);
1946 // Scales an actor with the given factors around the given
1947 // center point. The center point is specified as one of the compass
1948 // directions in #ClutterGravity. For example, setting it to north
1949 // will cause the top of the actor to remain unchanged and the rest of
1950 // the actor to expand left, right and downwards.
1951 // <scale_x>: double factor to scale actor by horizontally.
1952 // <scale_y>: double factor to scale actor by vertically.
1953 // <gravity>: the location of the scale center expressed as a compass direction.
1954 void set_scale_with_gravity(double scale_x
, double scale_y
, Gravity gravity
) {
1955 clutter_actor_set_scale_with_gravity(&this, scale_x
, scale_y
, gravity
);
1958 // Sets the #ClutterShader to be used when rendering @self.
1960 // If @shader is %NULL this function will unset any currently set shader
1963 // <note>Any #ClutterEffect applied to @self will take the precedence
1964 // over the #ClutterShader set using this function.</note>
1969 // clutter_actor_add_effect() instead.
1970 // RETURNS: %TRUE if the shader was successfully applied
1971 // <shader>: a #ClutterShader or %NULL to unset the shader.
1972 int set_shader(Shader
* shader
=null) {
1973 return clutter_actor_set_shader(&this, shader
);
1976 // Sets the value for a named parameter of the shader applied
1978 // <param>: the name of the parameter
1979 // <value>: the value of the parameter
1980 void set_shader_param(char* param
, GObject2
.Value
* value
) {
1981 clutter_actor_set_shader_param(&this, param
, value
);
1984 // Sets the value for a named float parameter of the shader applied
1986 // <param>: the name of the parameter
1987 // <value>: the value of the parameter
1988 void set_shader_param_float(char* param
, float value
) {
1989 clutter_actor_set_shader_param_float(&this, param
, value
);
1992 // Sets the value for a named int parameter of the shader applied to
1994 // <param>: the name of the parameter
1995 // <value>: the value of the parameter
1996 void set_shader_param_int(char* param
, int value
) {
1997 clutter_actor_set_shader_param_int(&this, param
, value
);
2000 // Sets the actor's size request in pixels. This overrides any
2001 // "normal" size request the actor would have. For example
2002 // a text actor might normally request the size of the text;
2003 // this function would force a specific size instead.
2005 // If @width and/or @height are -1 the actor will use its
2006 // "normal" size request instead of overriding it, i.e.
2007 // you can "unset" the size with -1.
2009 // This function sets or unsets both the minimum and natural size.
2010 // <width>: New width of actor in pixels, or -1
2011 // <height>: New height of actor in pixels, or -1
2012 void set_size(float width
, float height
) {
2013 clutter_actor_set_size(&this, width
, height
);
2016 // Sets the #ClutterTextDirection for an actor
2018 // The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT
2020 // If @self implements #ClutterContainer then this function will recurse
2021 // inside all the children of @self (including the internal ones).
2023 // Composite actors not implementing #ClutterContainer, or actors requiring
2024 // special handling when the text direction changes, should connect to
2025 // the #GObject::notify signal for the #ClutterActor:text-direction property
2026 // <text_dir>: the text direction for @self
2027 void set_text_direction(TextDirection text_dir
) {
2028 clutter_actor_set_text_direction(&this, text_dir
);
2031 // Forces a width on an actor, causing the actor's preferred width
2032 // and height (if any) to be ignored.
2034 // If @width is -1 the actor will use its preferred width request
2035 // instead of overriding it, i.e. you can "unset" the width with -1.
2037 // This function sets both the minimum and natural size of the actor.
2038 // <width>: Requested new width for the actor, in pixels, or -1
2039 void set_width(float width
) {
2040 clutter_actor_set_width(&this, width
);
2043 // Sets the actor's X coordinate, relative to its parent, in pixels.
2045 // Overrides any layout manager and forces a fixed position for
2047 // <x>: the actor's position on the X axis
2048 void set_x(float x
) {
2049 clutter_actor_set_x(&this, x
);
2052 // Sets the actor's Y coordinate, relative to its parent, in pixels.#
2054 // Overrides any layout manager and forces a fixed position for
2056 // <y>: the actor's position on the Y axis
2057 void set_y(float y
) {
2058 clutter_actor_set_y(&this, y
);
2061 // Sets the rotation angle of @self around the Z axis using the center
2062 // point specified as a compass point. For example to rotate such that
2063 // the center of the actor remains static you can use
2064 // %CLUTTER_GRAVITY_CENTER. If the actor changes size the center point
2065 // will move accordingly.
2066 // <angle>: the angle of rotation
2067 // <gravity>: the center point of the rotation
2068 void set_z_rotation_from_gravity(double angle
, Gravity gravity
) {
2069 clutter_actor_set_z_rotation_from_gravity(&this, angle
, gravity
);
2072 // Should be called inside the implementation of the
2073 // #ClutterActor::pick virtual function in order to check whether
2074 // the actor should paint itself in pick mode or not.
2076 // This function should never be called directly by applications.
2079 // RETURNS: %TRUE if the actor should paint its silhouette,
2080 int should_pick_paint() {
2081 return clutter_actor_should_pick_paint(&this);
2084 // Flags an actor to be displayed. An actor that isn't shown will not
2085 // be rendered on the stage.
2087 // Actors are visible by default.
2089 // If this function is called on an actor without a parent, the
2090 // #ClutterActor:show-on-set-parent will be set to %TRUE as a side
2093 clutter_actor_show(&this);
2095 // Calls clutter_actor_show() on all children of an actor (if any).
2097 clutter_actor_show_all(&this);
2100 // This function translates screen coordinates (@x, @y) to
2101 // coordinates relative to the actor. For example, it can be used to translate
2102 // screen events from global screen coordinates into actor-local coordinates.
2104 // The conversion can fail, notably if the transform stack results in the
2105 // actor being projected on the screen as a mere line.
2107 // The conversion should not be expected to be pixel-perfect due to the
2108 // nature of the operation. In general the error grows when the skewing
2109 // of the actor rectangle on screen increases.
2111 // <note><para>This function can be computationally intensive.</para></note>
2113 // <note><para>This function only works when the allocation is up-to-date,
2114 // i.e. inside of paint().</para></note>
2115 // RETURNS: %TRUE if conversion was successful.
2116 // <x>: x screen coordinate of the point to unproject
2117 // <y>: y screen coordinate of the point to unproject
2118 // <x_out>: return location for the unprojected x coordinance
2119 // <y_out>: return location for the unprojected y coordinance
2120 int transform_stage_point(float x
, float y
, /*out*/ float* x_out
, /*out*/ float* y_out
) {
2121 return clutter_actor_transform_stage_point(&this, x
, y
, x_out
, y_out
);
2124 // Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
2125 // unmaps its children if they were mapped.
2127 // Calling this is allowed in only one case: you are implementing the
2128 // #ClutterActor <function>unmap()</function> virtual function in an actor
2129 // and you need to unmap the children of that actor. It is not necessary
2130 // to call this if you implement #ClutterContainer because the default
2131 // implementation will automatically unmap children of containers.
2133 // When overriding unmap, it is mandatory to chain up to the parent
2136 clutter_actor_unmap(&this);
2139 // Removes the parent of @self.
2141 // This function should not be used in applications.
2143 // This function should only be called by implementations of the
2144 // #ClutterContainer interface, or by composite actors that do
2145 // not implicitly create their children.
2147 clutter_actor_unparent(&this);
2150 // Unrealization informs the actor that it may be being destroyed or
2151 // moved to another stage. The actor may want to destroy any
2152 // underlying graphics resources at this point. However it is
2153 // perfectly acceptable for it to retain the resources until the actor
2154 // is destroyed because Clutter only ever uses a single rendering
2155 // context and all of the graphics resources are valid on any stage.
2157 // Because mapped actors must be realized, actors may not be
2158 // unrealized if they are mapped. This function hides the actor to be
2159 // sure it isn't mapped, an application-visible side effect that you
2160 // may not be expecting.
2162 // This function should not be called by application code.
2164 clutter_actor_unrealize(&this);
2167 // Unsets @flags on @self
2169 // This function will emit notifications for the changed properties
2170 // <flags>: the flags to unset
2171 void unset_flags(ActorFlags flags
) {
2172 clutter_actor_unset_flags(&this, flags
);
2175 // The ::allocation-changed signal is emitted when the
2176 // #ClutterActor:allocation property changes. Usually, application
2177 // code should just use the notifications for the :allocation property
2178 // but if you want to track the allocation flags as well, for instance
2179 // to know whether the absolute origin of @actor changed, then you might
2180 // want use this signal instead.
2181 // <box>: a #ClutterActorBox with the new allocation
2182 // <flags>: #ClutterAllocationFlags for the allocation
2183 extern (C
) alias static void function (Actor
* this_
, ActorBox
* box
, AllocationFlags
* flags
, void* user_data
=null) signal_allocation_changed
;
2185 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2186 return super_
.signal_connect
!name(cb
, data
, cf
);
2189 ulong signal_connect(string name
:"allocation-changed", CB
:signal_allocation_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2190 return signal_connect_data(&this, cast(char*)"allocation-changed",
2191 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2194 // The ::button-press-event signal is emitted each time a mouse button
2195 // is pressed on @actor.
2197 // or %FALSE to continue the emission.
2198 // RETURNS: %TRUE if the event has been handled by the actor,
2199 // <event>: a #ClutterButtonEvent
2200 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_button_press_event
;
2201 ulong signal_connect(string name
:"button-press-event", CB
:signal_button_press_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2202 return signal_connect_data(&this, cast(char*)"button-press-event",
2203 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2206 // The ::button-release-event signal is emitted each time a mouse button
2207 // is released on @actor.
2209 // or %FALSE to continue the emission.
2210 // RETURNS: %TRUE if the event has been handled by the actor,
2211 // <event>: a #ClutterButtonEvent
2212 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_button_release_event
;
2213 ulong signal_connect(string name
:"button-release-event", CB
:signal_button_release_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2214 return signal_connect_data(&this, cast(char*)"button-release-event",
2215 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2218 // The ::captured-event signal is emitted when an event is captured
2219 // by Clutter. This signal will be emitted starting from the top-level
2220 // container (the #ClutterStage) to the actor which received the event
2221 // going down the hierarchy. This signal can be used to intercept every
2222 // event before the specialized events (like
2223 // ClutterActor::button-press-event or ::key-released-event) are
2226 // or %FALSE to continue the emission.
2227 // RETURNS: %TRUE if the event has been handled by the actor,
2228 // <event>: a #ClutterEvent
2229 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_captured_event
;
2230 ulong signal_connect(string name
:"captured-event", CB
:signal_captured_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2231 return signal_connect_data(&this, cast(char*)"captured-event",
2232 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2235 // The ::destroy signal notifies that all references held on the
2236 // actor which emitted it should be released.
2238 // The ::destroy signal should be used by all holders of a reference
2241 // This signal might result in the finalization of the #ClutterActor
2242 // if all references are released.
2244 // Composite actors and actors implementing the #ClutterContainer
2245 // interface should override the default implementation of the
2246 // class handler of this signal and call clutter_actor_destroy() on
2247 // their children. When overriding the default class handler, it is
2248 // required to chain up to the parent's implementation.
2249 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_destroy
;
2250 ulong signal_connect(string name
:"destroy", CB
:signal_destroy
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2251 return signal_connect_data(&this, cast(char*)"destroy",
2252 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2255 // The ::enter-event signal is emitted when the pointer enters the @actor
2257 // or %FALSE to continue the emission.
2258 // RETURNS: %TRUE if the event has been handled by the actor,
2259 // <event>: a #ClutterCrossingEvent
2260 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_enter_event
;
2261 ulong signal_connect(string name
:"enter-event", CB
:signal_enter_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2262 return signal_connect_data(&this, cast(char*)"enter-event",
2263 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2266 // The ::event signal is emitted each time an event is received
2267 // by the @actor. This signal will be emitted on every actor,
2268 // following the hierarchy chain, until it reaches the top-level
2269 // container (the #ClutterStage).
2271 // or %FALSE to continue the emission.
2272 // RETURNS: %TRUE if the event has been handled by the actor,
2273 // <event>: a #ClutterEvent
2274 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_event
;
2275 ulong signal_connect(string name
:"event", CB
:signal_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2276 return signal_connect_data(&this, cast(char*)"event",
2277 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2280 // The ::hide signal is emitted when an actor is no longer rendered
2282 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_hide
;
2283 ulong signal_connect(string name
:"hide", CB
:signal_hide
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2284 return signal_connect_data(&this, cast(char*)"hide",
2285 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2287 // The ::key-focus-in signal is emitted when @actor receives key focus.
2288 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_key_focus_in
;
2289 ulong signal_connect(string name
:"key-focus-in", CB
:signal_key_focus_in
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2290 return signal_connect_data(&this, cast(char*)"key-focus-in",
2291 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2293 // The ::key-focus-out signal is emitted when @actor loses key focus.
2294 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_key_focus_out
;
2295 ulong signal_connect(string name
:"key-focus-out", CB
:signal_key_focus_out
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2296 return signal_connect_data(&this, cast(char*)"key-focus-out",
2297 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2300 // The ::key-press-event signal is emitted each time a keyboard button
2301 // is pressed while @actor has key focus (see clutter_stage_set_key_focus()).
2303 // or %FALSE to continue the emission.
2304 // RETURNS: %TRUE if the event has been handled by the actor,
2305 // <event>: a #ClutterKeyEvent
2306 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_key_press_event
;
2307 ulong signal_connect(string name
:"key-press-event", CB
:signal_key_press_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2308 return signal_connect_data(&this, cast(char*)"key-press-event",
2309 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2312 // The ::key-release-event signal is emitted each time a keyboard button
2313 // is released while @actor has key focus (see
2314 // clutter_stage_set_key_focus()).
2316 // or %FALSE to continue the emission.
2317 // RETURNS: %TRUE if the event has been handled by the actor,
2318 // <event>: a #ClutterKeyEvent
2319 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_key_release_event
;
2320 ulong signal_connect(string name
:"key-release-event", CB
:signal_key_release_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2321 return signal_connect_data(&this, cast(char*)"key-release-event",
2322 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2325 // The ::leave-event signal is emitted when the pointer leaves the @actor.
2327 // or %FALSE to continue the emission.
2328 // RETURNS: %TRUE if the event has been handled by the actor,
2329 // <event>: a #ClutterCrossingEvent
2330 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_leave_event
;
2331 ulong signal_connect(string name
:"leave-event", CB
:signal_leave_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2332 return signal_connect_data(&this, cast(char*)"leave-event",
2333 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2336 // The ::motion-event signal is emitted each time the mouse pointer is
2337 // moved over @actor.
2339 // or %FALSE to continue the emission.
2340 // RETURNS: %TRUE if the event has been handled by the actor,
2341 // <event>: a #ClutterMotionEvent
2342 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_motion_event
;
2343 ulong signal_connect(string name
:"motion-event", CB
:signal_motion_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2344 return signal_connect_data(&this, cast(char*)"motion-event",
2345 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2348 // The ::paint signal is emitted each time an actor is being painted.
2350 // Subclasses of #ClutterActor should override the class signal handler
2351 // and paint themselves in that function.
2353 // It is possible to connect a handler to the ::paint signal in order
2354 // to set up some custom aspect of a paint.
2355 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_paint
;
2356 ulong signal_connect(string name
:"paint", CB
:signal_paint
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2357 return signal_connect_data(&this, cast(char*)"paint",
2358 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2361 // This signal is emitted when the parent of the actor changes.
2362 // <old_parent>: the previous parent of the actor, or %NULL
2363 extern (C
) alias static void function (Actor
* this_
, Actor
* old_parent
, void* user_data
=null) signal_parent_set
;
2364 ulong signal_connect(string name
:"parent-set", CB
:signal_parent_set
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2365 return signal_connect_data(&this, cast(char*)"parent-set",
2366 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2369 // The ::pick signal is emitted each time an actor is being painted
2370 // in "pick mode". The pick mode is used to identify the actor during
2371 // the event handling phase, or by clutter_stage_get_actor_at_pos().
2372 // The actor should paint its shape using the passed @pick_color.
2374 // Subclasses of #ClutterActor should override the class signal handler
2375 // and paint themselves in that function.
2377 // It is possible to connect a handler to the ::pick signal in order
2378 // to set up some custom aspect of a paint in pick mode.
2379 // <color>: the #ClutterColor to be used when picking
2380 extern (C
) alias static void function (Actor
* this_
, Color
* color
, void* user_data
=null) signal_pick
;
2381 ulong signal_connect(string name
:"pick", CB
:signal_pick
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2382 return signal_connect_data(&this, cast(char*)"pick",
2383 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2386 // The ::queue_redraw signal is emitted when clutter_actor_queue_redraw()
2387 // is called on @origin.
2389 // The default implementation for #ClutterActor chains up to the
2390 // parent actor and queues a redraw on the parent, thus "bubbling"
2391 // the redraw queue up through the actor graph. The default
2392 // implementation for #ClutterStage queues a clutter_redraw() in a
2393 // main loop idle handler.
2395 // Note that the @origin actor may be the stage, or a container; it
2396 // does not have to be a leaf node in the actor graph.
2398 // Toolkits embedding a #ClutterStage which require a redraw and
2399 // relayout cycle can stop the emission of this signal using the
2400 // GSignal API, redraw the UI and then call clutter_redraw()
2401 // themselves, like:
2405 // on_redraw_complete (void)
2407 // /* execute the Clutter drawing pipeline */
2408 // clutter_redraw ();
2412 // on_stage_queue_redraw (ClutterStage *stage)
2414 // /* this prevents the default handler to run */
2415 // g_signal_stop_emission_by_name (stage, "queue-redraw");
2417 // /* queue a redraw with the host toolkit and call
2418 // * a function when the redraw has been completed
2420 // queue_a_redraw (G_CALLBACK (on_redraw_complete));
2424 // <note><para>This signal is emitted before the Clutter paint
2425 // pipeline is executed. If you want to know when the pipeline has
2426 // been completed you should connect to the ::paint signal on the
2427 // Stage with g_signal_connect_after().</para></note>
2428 // <origin>: the actor which initiated the redraw request
2429 extern (C
) alias static void function (Actor
* this_
, Actor
* origin
, void* user_data
=null) signal_queue_redraw
;
2430 ulong signal_connect(string name
:"queue-redraw", CB
:signal_queue_redraw
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2431 return signal_connect_data(&this, cast(char*)"queue-redraw",
2432 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2435 // The ::queue_layout signal is emitted when clutter_actor_queue_relayout()
2436 // is called on an actor.
2438 // The default implementation for #ClutterActor chains up to the
2439 // parent actor and queues a relayout on the parent, thus "bubbling"
2440 // the relayout queue up through the actor graph.
2442 // The main purpose of this signal is to allow relayout to be propagated
2443 // properly in the procense of #ClutterClone actors. Applications will
2444 // not normally need to connect to this signal.
2445 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_queue_relayout
;
2446 ulong signal_connect(string name
:"queue-relayout", CB
:signal_queue_relayout
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2447 return signal_connect_data(&this, cast(char*)"queue-relayout",
2448 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2451 // The ::realize signal is emitted each time an actor is being
2453 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_realize
;
2454 ulong signal_connect(string name
:"realize", CB
:signal_realize
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2455 return signal_connect_data(&this, cast(char*)"realize",
2456 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2459 // The ::scroll-event signal is emitted each time the mouse is
2460 // scrolled on @actor
2462 // or %FALSE to continue the emission.
2463 // RETURNS: %TRUE if the event has been handled by the actor,
2464 // <event>: a #ClutterScrollEvent
2465 extern (C
) alias static c_int
function (Actor
* this_
, Event
* event
, void* user_data
=null) signal_scroll_event
;
2466 ulong signal_connect(string name
:"scroll-event", CB
:signal_scroll_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2467 return signal_connect_data(&this, cast(char*)"scroll-event",
2468 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2471 // The ::show signal is emitted when an actor is visible and
2472 // rendered on the stage.
2473 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_show
;
2474 ulong signal_connect(string name
:"show", CB
:signal_show
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2475 return signal_connect_data(&this, cast(char*)"show",
2476 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2479 // The ::unrealize signal is emitted each time an actor is being
2481 extern (C
) alias static void function (Actor
* this_
, void* user_data
=null) signal_unrealize
;
2482 ulong signal_connect(string name
:"unrealize", CB
:signal_unrealize
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
2483 return signal_connect_data(&this, cast(char*)"unrealize",
2484 cast(GObject2
.Callback
)cb
, data
, null, cf
);
2489 // Bounding box of an actor. The coordinates of the top left and right bottom
2490 // corners of an actor. The coordinates of the two points are expressed in
2491 // pixels with sub-pixel precision
2493 float x1
, y1
, x2
, y2
;
2496 // Allocates a new #ClutterActorBox using the passed coordinates
2497 // for the top left and bottom right points
2499 // clutter_actor_box_free() to free the resources
2500 // RETURNS: the newly allocated #ClutterActorBox. Use
2501 // <x_1>: X coordinate of the top left point
2502 // <y_1>: Y coordinate of the top left point
2503 // <x_2>: X coordinate of the bottom right point
2504 // <y_2>: Y coordinate of the bottom right point
2505 static ActorBox
* /*new*/ new_(float x_1
, float y_1
, float x_2
, float y_2
) {
2506 return clutter_actor_box_new(x_1
, y_1
, x_2
, y_2
);
2508 // Clamps the components of @box to the nearest integer
2509 void clamp_to_pixel() {
2510 clutter_actor_box_clamp_to_pixel(&this);
2513 // Checks whether a point with @x, @y coordinates is contained
2515 // RETURNS: %TRUE if the point is contained by the #ClutterActorBox
2516 // <x>: X coordinate of the point
2517 // <y>: Y coordinate of the point
2518 int contains(float x
, float y
) {
2519 return clutter_actor_box_contains(&this, x
, y
);
2524 // clutter_actor_box_free() to free the allocated resources
2525 // RETURNS: a newly allocated copy of #ClutterActorBox. Use
2526 ActorBox
* /*new*/ copy() {
2527 return clutter_actor_box_copy(&this);
2530 // Checks @box_a and @box_b for equality
2531 // RETURNS: %TRUE if the passed #ClutterActorBox are equal
2532 // <box_b>: a #ClutterActorBox
2533 int equal(ActorBox
* box_b
) {
2534 return clutter_actor_box_equal(&this, box_b
);
2537 // Frees a #ClutterActorBox allocated using clutter_actor_box_new()
2538 // or clutter_actor_box_copy()
2540 clutter_actor_box_free(&this);
2543 // Calculates the bounding box represented by the four vertices; for details
2544 // of the vertex array see clutter_actor_get_abs_allocation_vertices().
2545 // <verts>: array of four #ClutterVertex
2546 void from_vertices(Vertex verts
) {
2547 clutter_actor_box_from_vertices(&this, verts
);
2550 // Retrieves the area of @box
2551 // RETURNS: the area of a #ClutterActorBox, in pixels
2553 return clutter_actor_box_get_area(&this);
2556 // Retrieves the height of the @box
2557 // RETURNS: the height of the box
2558 float get_height() {
2559 return clutter_actor_box_get_height(&this);
2562 // Retrieves the origin of @box
2563 // <x>: return location for the X coordinate, or %NULL
2564 // <y>: return location for the Y coordinate, or %NULL
2565 void get_origin(/*out*/ float* x
=null, /*out*/ float* y
=null) {
2566 clutter_actor_box_get_origin(&this, x
, y
);
2569 // Retrieves the size of @box
2570 // <width>: return location for the width, or %NULL
2571 // <height>: return location for the height, or %NULL
2572 void get_size(/*out*/ float* width
=null, /*out*/ float* height
=null) {
2573 clutter_actor_box_get_size(&this, width
, height
);
2576 // Retrieves the width of the @box
2577 // RETURNS: the width of the box
2579 return clutter_actor_box_get_width(&this);
2582 // Retrieves the X coordinate of the origin of @box
2583 // RETURNS: the X coordinate of the origin
2585 return clutter_actor_box_get_x(&this);
2588 // Retrieves the Y coordinate of the origin of @box
2589 // RETURNS: the Y coordinate of the origin
2591 return clutter_actor_box_get_y(&this);
2594 // Interpolates between @initial and @final #ClutterActorBox<!-- -->es
2596 // <final>: the final #ClutterActorBox
2597 // <progress>: the interpolation progress
2598 // <result>: return location for the interpolation
2599 void interpolate(ActorBox
* final_
, double progress
, /*out*/ ActorBox
* result
) {
2600 clutter_actor_box_interpolate(&this, final_
, progress
, result
);
2603 // Changes the origin of @box, maintaining the size of the #ClutterActorBox.
2604 // <x>: the X coordinate of the new origin
2605 // <y>: the Y coordinate of the new origin
2606 void set_origin(float x
, float y
) {
2607 clutter_actor_box_set_origin(&this, x
, y
);
2610 // Sets the size of @box, maintaining the origin of the #ClutterActorBox.
2611 // <width>: the new width
2612 // <height>: the new height
2613 void set_size(float width
, float height
) {
2614 clutter_actor_box_set_size(&this, width
, height
);
2617 // Unions the two boxes @a and @b and stores the result in @result.
2618 // <b>: the second #ClutterActorBox
2619 // <result>: the #ClutterActorBox representing a union of @a and @b
2620 void union_(ActorBox
* b
, /*out*/ ActorBox
* result
) {
2621 clutter_actor_box_union(&this, b
, result
);
2625 // Base class for actors.
2627 private GObject2
.InitiallyUnownedClass parent_class
;
2628 extern (C
) void function (Actor
* self
) show
;
2629 extern (C
) void function (Actor
* self
) show_all
;
2630 extern (C
) void function (Actor
* self
) hide
;
2631 extern (C
) void function (Actor
* self
) hide_all
;
2632 extern (C
) void function (Actor
* self
) realize
;
2633 extern (C
) void function (Actor
* self
) unrealize
;
2634 extern (C
) void function (Actor
* self
) map
;
2635 extern (C
) void function (Actor
* self
) unmap
;
2636 extern (C
) void function (Actor
* self
) paint
;
2637 extern (C
) void function (Actor
* actor
, Actor
* old_parent
) parent_set
;
2638 extern (C
) void function (Actor
* self
) destroy
;
2639 extern (C
) void function (Actor
* actor
, Color
* color
) pick
;
2640 extern (C
) void function (Actor
* actor
, Actor
* leaf_that_queued
) queue_redraw
;
2642 // <for_height>: available height when computing the preferred width, or a negative value to indicate that no height is defined
2643 // <min_width_p>: return location for minimum width, or %NULL
2644 // <natural_width_p>: return location for the natural width, or %NULL
2645 extern (C
) void function (Actor
* self
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* natural_width_p
=null) get_preferred_width
;
2647 // <for_width>: available width to assume in computing desired height, or a negative value to indicate that no width is defined
2648 // <min_height_p>: return location for minimum height, or %NULL
2649 // <natural_height_p>: return location for natural height, or %NULL
2650 extern (C
) void function (Actor
* self
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* natural_height_p
=null) get_preferred_height
;
2652 // <box>: new allocation of the actor, in parent-relative coordinates
2653 // <flags>: flags that control the allocation
2654 extern (C
) void function (Actor
* self
, ActorBox
* box
, AllocationFlags flags
) allocate
;
2655 extern (C
) void function (Actor
* actor
, Cogl
.Matrix
* matrix
) apply_transform
;
2656 extern (C
) int function (Actor
* actor
, Event
* event
) event
;
2657 extern (C
) int function (Actor
* actor
, ButtonEvent
* event
) button_press_event
;
2658 extern (C
) int function (Actor
* actor
, ButtonEvent
* event
) button_release_event
;
2659 extern (C
) int function (Actor
* actor
, ScrollEvent
* event
) scroll_event
;
2660 extern (C
) int function (Actor
* actor
, KeyEvent
* event
) key_press_event
;
2661 extern (C
) int function (Actor
* actor
, KeyEvent
* event
) key_release_event
;
2662 extern (C
) int function (Actor
* actor
, MotionEvent
* event
) motion_event
;
2663 extern (C
) int function (Actor
* actor
, CrossingEvent
* event
) enter_event
;
2664 extern (C
) int function (Actor
* actor
, CrossingEvent
* event
) leave_event
;
2665 extern (C
) int function (Actor
* actor
, Event
* event
) captured_event
;
2666 extern (C
) void function (Actor
* actor
) key_focus_in
;
2667 extern (C
) void function (Actor
* actor
) key_focus_out
;
2668 extern (C
) void function (Actor
* self
) queue_relayout
;
2669 // RETURNS: the #AtkObject associated with @actor
2670 extern (C
) Atk
.Object
* function (Actor
* self
) get_accessible
;
2671 extern (C
) int function (Actor
* actor
, PaintVolume
* volume
) get_paint_volume
;
2672 // RETURNS: %TRUE if the actor may have overlapping primitives, and
2673 extern (C
) int function (Actor
* self
) has_overlaps
;
2674 private void*[28] _padding_dummy
;
2677 // Flags used to signal the state of an actor.
2686 // The <structname>ClutterActorMeta</structname> structure contains only
2687 // private data and should be accessed using the provided API
2688 struct ActorMeta
/* : GObject.InitiallyUnowned */ /* Version 1.4 */ {
2689 alias parent_instance
this;
2690 alias parent_instance super_
;
2691 alias parent_instance initiallyunowned
;
2692 GObject2
.InitiallyUnowned parent_instance
;
2693 private ActorMetaPrivate
* priv
;
2696 // Retrieves a pointer to the #ClutterActor that owns @meta
2697 // RETURNS: a pointer to a #ClutterActor or %NULL
2698 Actor
* get_actor() {
2699 return clutter_actor_meta_get_actor(&this);
2702 // Retrieves whether @meta is enabled
2703 // RETURNS: %TRUE if the #ClutterActorMeta instance is enabled
2705 return clutter_actor_meta_get_enabled(&this);
2708 // Retrieves the name set using clutter_actor_meta_set_name()
2710 // instance, or %NULL if none was set. The returned string is owned
2711 // by the #ClutterActorMeta instance and it should not be modified
2713 // RETURNS: the name of the #ClutterActorMeta
2715 return clutter_actor_meta_get_name(&this);
2718 // Sets whether @meta should be enabled or not
2719 // <is_enabled>: whether @meta is enabled
2720 void set_enabled(int is_enabled
) {
2721 clutter_actor_meta_set_enabled(&this, is_enabled
);
2724 // Sets the name of @meta
2726 // The name can be used to identify the #ClutterActorMeta instance
2727 // <name>: the name of @meta
2728 void set_name(char* name
) {
2729 clutter_actor_meta_set_name(&this, name
);
2734 // The <structname>ClutterActorMetaClass</structname> structure contains
2735 // only private data
2736 struct ActorMetaClass
/* Version 1.4 */ {
2737 private GObject2
.InitiallyUnownedClass parent_class
;
2738 extern (C
) void function (ActorMeta
* meta
, Actor
* actor
) set_actor
;
2739 extern (C
) void function () _clutter_meta1
;
2740 extern (C
) void function () _clutter_meta2
;
2741 extern (C
) void function () _clutter_meta3
;
2742 extern (C
) void function () _clutter_meta4
;
2743 extern (C
) void function () _clutter_meta5
;
2744 extern (C
) void function () _clutter_meta6
;
2745 extern (C
) void function () _clutter_meta7
;
2748 struct ActorMetaPrivate
{
2751 struct ActorPrivate
{
2754 enum int AddFavorite
= 269025081;
2755 enum int Adiaeresis
= 196;
2756 enum int Agrave
= 192;
2757 enum int Ahook
= 16785058;
2759 // Specifies the axis on which #ClutterAlignConstraint should maintain
2761 enum AlignAxis
/* Version 1.4 */ {
2766 // <structname>ClutterAlignConstraint</structname> is an opaque structure
2767 // whose members cannot be directly accesses
2768 struct AlignConstraint
/* : Constraint */ /* Version 1.4 */ {
2769 alias method_parent
this;
2770 alias method_parent super_
;
2771 alias method_parent constraint
;
2772 Constraint method_parent
;
2775 // Creates a new constraint, aligning a #ClutterActor's position with
2776 // regards of the size of the actor to @source, with the given
2777 // alignment @factor
2778 // RETURNS: the newly created #ClutterAlignConstraint
2779 // <source>: the #ClutterActor to use as the source of the alignment, or %NULL
2780 // <axis>: the axis to be used to compute the alignment
2781 // <factor>: the alignment factor, between 0.0 and 1.0
2782 static AlignConstraint
* new_(Actor
* source
, AlignAxis axis
, float factor
) {
2783 return clutter_align_constraint_new(source
, axis
, factor
);
2786 // Retrieves the value set using clutter_align_constraint_set_align_axis()
2787 // RETURNS: the alignment axis
2788 AlignAxis
get_align_axis() {
2789 return clutter_align_constraint_get_align_axis(&this);
2792 // Retrieves the factor set using clutter_align_constraint_set_factor()
2793 // RETURNS: the alignment factor
2794 float get_factor() {
2795 return clutter_align_constraint_get_factor(&this);
2798 // Retrieves the source of the alignment
2801 // RETURNS: the #ClutterActor used as the source
2802 Actor
* get_source() {
2803 return clutter_align_constraint_get_source(&this);
2806 // Sets the axis to which the alignment refers to
2807 // <axis>: the axis to which the alignment refers to
2808 void set_align_axis(AlignAxis axis
) {
2809 clutter_align_constraint_set_align_axis(&this, axis
);
2812 // Sets the alignment factor of the constraint
2814 // The factor depends on the #ClutterAlignConstraint:align-axis property
2815 // and it is a value between 0.0 (meaning left, when
2816 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
2817 // meaning top, when #ClutterAlignConstraint:align-axis is set to
2818 // %CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when
2819 // #ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
2820 // meaning bottom, when #ClutterAlignConstraint:align-axis is set to
2821 // %CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
2823 // <factor>: the alignment factor, between 0.0 and 1.0
2824 void set_factor(float factor
) {
2825 clutter_align_constraint_set_factor(&this, factor
);
2828 // Sets the source of the alignment constraint
2829 // <source>: a #ClutterActor, or %NULL to unset the source
2830 void set_source(Actor
* source
=null) {
2831 clutter_align_constraint_set_source(&this, source
);
2835 struct AlignConstraintClass
{
2839 // Flags passed to the #ClutterActor::allocate() virtual function and
2840 // to the clutter_actor_allocate() function
2841 enum AllocationFlags
/* Version 1.0 */ {
2842 ALLOCATION_NONE
= 0,
2843 ABSOLUTE_ORIGIN_CHANGED
= 2
2846 // #ClutterAlpha combines a #ClutterTimeline and a function.
2847 // The contents of the #ClutterAlpha structure are private and should
2848 // only be accessed using the provided API.
2849 struct Alpha
/* : GObject.InitiallyUnowned */ /* Version 0.2 */ {
2851 alias parent super_
;
2852 alias parent initiallyunowned
;
2853 GObject2
.InitiallyUnowned parent
;
2854 private AlphaPrivate
* priv
;
2857 // Creates a new #ClutterAlpha instance. You must set a function
2858 // to compute the alpha value using clutter_alpha_set_func() and
2859 // bind a #ClutterTimeline object to the #ClutterAlpha instance
2860 // using clutter_alpha_set_timeline().
2862 // You should use the newly created #ClutterAlpha instance inside
2863 // a #ClutterBehaviour object.
2864 // RETURNS: the newly created empty #ClutterAlpha instance.
2865 static Alpha
* new_() {
2866 return clutter_alpha_new();
2869 // Creates a new #ClutterAlpha instance and sets the timeline
2870 // and animation mode.
2872 // See also clutter_alpha_set_timeline() and clutter_alpha_set_mode().
2873 // RETURNS: the newly created #ClutterAlpha
2874 // <timeline>: #ClutterTimeline timeline
2875 // <mode>: animation mode
2876 static Alpha
* new_full(Timeline
* timeline
, c_ulong mode
) {
2877 return clutter_alpha_new_full(timeline
, mode
);
2880 // Creates a new #ClutterAlpha instances and sets the timeline
2881 // and the alpha function.
2883 // This function will not register @func as a global alpha function.
2885 // See also clutter_alpha_set_timeline() and clutter_alpha_set_func().
2886 // RETURNS: the newly created #ClutterAlpha
2887 // <timeline>: a #ClutterTimeline
2888 // <func>: a #ClutterAlphaFunc
2889 // <data>: data to pass to the function, or %NULL
2890 // <destroy>: function to call when removing the alpha function, or %NULL
2891 static Alpha
* new_with_func(Timeline
* timeline
, AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
) {
2892 return clutter_alpha_new_with_func(timeline
, func
, data
, destroy
);
2895 // #GClosure variant of clutter_alpha_register_func().
2897 // Registers a global alpha function and returns its logical id
2898 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
2900 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
2901 // RETURNS: the logical id of the alpha function
2902 // <closure>: a #GClosure
2903 static c_ulong
register_closure(GObject2
.Closure
* closure
) {
2904 return clutter_alpha_register_closure(closure
);
2907 // Unintrospectable function: register_func() / clutter_alpha_register_func()
2908 // Registers a global alpha function and returns its logical id
2909 // to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
2911 // The logical id is always greater than %CLUTTER_ANIMATION_LAST.
2912 // RETURNS: the logical id of the alpha function
2913 // <func>: a #ClutterAlphaFunc
2914 // <data>: user data to pass to @func, or %NULL
2915 static c_ulong
register_func(AlphaFunc func
, void* data
) {
2916 return clutter_alpha_register_func(func
, data
);
2919 // Query the current alpha value.
2920 // RETURNS: The current alpha value for the alpha
2921 double get_alpha() {
2922 return clutter_alpha_get_alpha(&this);
2925 // Retrieves the #ClutterAnimationMode used by @alpha.
2926 // RETURNS: the animation mode
2927 c_ulong
get_mode() {
2928 return clutter_alpha_get_mode(&this);
2931 // Gets the #ClutterTimeline bound to @alpha.
2932 // RETURNS: a #ClutterTimeline instance
2933 Timeline
* get_timeline() {
2934 return clutter_alpha_get_timeline(&this);
2937 // Sets the #GClosure used to compute the alpha value at each
2938 // frame of the #ClutterTimeline bound to @alpha.
2939 // <closure>: A #GClosure
2940 void set_closure(GObject2
.Closure
* closure
) {
2941 clutter_alpha_set_closure(&this, closure
);
2944 // Sets the #ClutterAlphaFunc function used to compute
2945 // the alpha value at each frame of the #ClutterTimeline
2948 // This function will not register @func as a global alpha function.
2949 // <func>: A #ClutterAlphaFunc
2950 // <data>: user data to be passed to the alpha function, or %NULL
2951 // <destroy>: notify function used when disposing the alpha function
2952 void set_func(AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
) {
2953 clutter_alpha_set_func(&this, func
, data
, destroy
);
2956 // Sets the progress function of @alpha using the symbolic value
2957 // of @mode, as taken by the #ClutterAnimationMode enumeration or
2958 // using the value returned by clutter_alpha_register_func().
2959 // <mode>: a #ClutterAnimationMode
2960 void set_mode(c_ulong mode
) {
2961 clutter_alpha_set_mode(&this, mode
);
2964 // Binds @alpha to @timeline.
2965 // <timeline>: A #ClutterTimeline
2966 void set_timeline(Timeline
* timeline
) {
2967 clutter_alpha_set_timeline(&this, timeline
);
2971 // Base class for #ClutterAlpha
2972 struct AlphaClass
/* Version 0.2 */ {
2973 private GObject2
.InitiallyUnownedClass parent_class
;
2974 extern (C
) void function () _clutter_alpha_1
;
2975 extern (C
) void function () _clutter_alpha_2
;
2976 extern (C
) void function () _clutter_alpha_3
;
2977 extern (C
) void function () _clutter_alpha_4
;
2978 extern (C
) void function () _clutter_alpha_5
;
2982 // A function returning a value depending on the position of
2983 // the #ClutterTimeline bound to @alpha.
2984 // RETURNS: a floating point value
2985 // <alpha>: a #ClutterAlpha
2986 // <user_data>: user data passed to the function
2987 extern (C
) alias double function (Alpha
* alpha
, void* user_data
) AlphaFunc
;
2989 struct AlphaPrivate
{
2992 enum int Alt_L
= 65513;
2993 enum int Alt_R
= 65514;
2994 enum int Amacron
= 960;
2996 // #ClutterAnimatable is an opaque structure whose members cannot be directly
2998 struct Animatable
/* Version 1.0 */ {
3000 // Calls the animate_property() virtual function for @animatable.
3002 // The @initial_value and @final_value #GValue<!-- -->s must contain
3003 // the same type; @value must have been initialized to the same
3004 // type of @initial_value and @final_value.
3006 // All implementation of the #ClutterAnimatable interface must
3007 // implement this function.
3009 // be applied to the #ClutterAnimatable, and %FALSE otherwise
3013 // RETURNS: %TRUE if the value has been validated and can
3014 // <animation>: a #ClutterAnimation
3015 // <property_name>: the name of the animated property
3016 // <initial_value>: the initial value of the animation interval
3017 // <final_value>: the final value of the animation interval
3018 // <progress>: the progress factor
3019 // <value>: return location for the animation value
3020 int animate_property(Animation
* animation
, char* property_name
, GObject2
.Value
* initial_value
, GObject2
.Value
* final_value
, double progress
, GObject2
.Value
* value
) {
3021 return clutter_animatable_animate_property(&this, animation
, property_name
, initial_value
, final_value
, progress
, value
);
3024 // Finds the #GParamSpec for @property_name
3027 // RETURNS: The #GParamSpec for the given property
3028 // <property_name>: the name of the animatable property to find
3029 GObject2
.ParamSpec
* find_property(char* property_name
) {
3030 return clutter_animatable_find_property(&this, property_name
);
3033 // Retrieves the current state of @property_name and sets @value with it
3034 // <property_name>: the name of the animatable property to retrieve
3035 // <value>: a #GValue initialized to the type of the property to retrieve
3036 void get_initial_state(char* property_name
, GObject2
.Value
* value
) {
3037 clutter_animatable_get_initial_state(&this, property_name
, value
);
3040 // Asks a #ClutterAnimatable implementation to interpolate a
3041 // a named property between the initial and final values of
3042 // a #ClutterInterval, using @progress as the interpolation
3043 // value, and store the result inside @value.
3045 // This function should be used for every property animation
3046 // involving #ClutterAnimatable<!-- -->s.
3048 // This function replaces clutter_animatable_animate_property().
3050 // and %FALSE otherwise
3051 // RETURNS: %TRUE if the interpolation was successful,
3052 // <property_name>: the name of the property to interpolate
3053 // <interval>: a #ClutterInterval with the animation range
3054 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
3055 // <value>: return location for an initialized #GValue using the same type of the @interval
3056 int interpolate_value(char* property_name
, Interval
* interval
, double progress
, /*out*/ GObject2
.Value
* value
) {
3057 return clutter_animatable_interpolate_value(&this, property_name
, interval
, progress
, value
);
3060 // Sets the current state of @property_name to @value
3061 // <property_name>: the name of the animatable property to set
3062 // <value>: the value of the animatable property to set
3063 void set_final_state(char* property_name
, GObject2
.Value
* value
) {
3064 clutter_animatable_set_final_state(&this, property_name
, value
);
3069 // Base interface for #GObject<!-- -->s that can be animated by a
3070 // a #ClutterAnimation.
3071 struct AnimatableIface
/* Version 1.0 */ {
3072 private GObject2
.TypeInterface parent_iface
;
3074 // RETURNS: %TRUE if the value has been validated and can
3075 // <animation>: a #ClutterAnimation
3076 // <property_name>: the name of the animated property
3077 // <initial_value>: the initial value of the animation interval
3078 // <final_value>: the final value of the animation interval
3079 // <progress>: the progress factor
3080 // <value>: return location for the animation value
3081 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
;
3083 // RETURNS: The #GParamSpec for the given property
3084 // <property_name>: the name of the animatable property to find
3085 extern (C
) GObject2
.ParamSpec
* function (Animatable
* animatable
, char* property_name
) find_property
;
3087 // <property_name>: the name of the animatable property to retrieve
3088 // <value>: a #GValue initialized to the type of the property to retrieve
3089 extern (C
) void function (Animatable
* animatable
, char* property_name
, GObject2
.Value
* value
) get_initial_state
;
3091 // <property_name>: the name of the animatable property to set
3092 // <value>: the value of the animatable property to set
3093 extern (C
) void function (Animatable
* animatable
, char* property_name
, GObject2
.Value
* value
) set_final_state
;
3095 // RETURNS: %TRUE if the interpolation was successful,
3096 // <property_name>: the name of the property to interpolate
3097 // <interval>: a #ClutterInterval with the animation range
3098 // <progress>: the progress to use to interpolate between the initial and final values of the @interval
3099 // <value>: return location for an initialized #GValue using the same type of the @interval
3100 extern (C
) int function (Animatable
* animatable
, char* property_name
, Interval
* interval
, double progress
, /*out*/ GObject2
.Value
* value
) interpolate_value
;
3104 // The #ClutterAnimation structure contains only private data and should
3105 // be accessed using the provided functions.
3106 struct Animation
/* : GObject.Object */ /* Version 1.0 */ {
3107 alias parent_instance
this;
3108 alias parent_instance super_
;
3109 alias parent_instance object
;
3110 GObject2
.Object parent_instance
;
3111 private AnimationPrivate
* priv
;
3114 // Creates a new #ClutterAnimation instance. You should set the
3115 // #GObject to be animated using clutter_animation_set_object(),
3116 // set the duration with clutter_animation_set_duration() and the
3117 // easing mode using clutter_animation_set_mode().
3119 // Use clutter_animation_bind() or clutter_animation_bind_interval()
3120 // to define the properties to be animated. The interval and the
3121 // animated properties can be updated at runtime.
3123 // The clutter_actor_animate() and relative family of functions provide
3124 // an easy way to animate a #ClutterActor and automatically manage the
3125 // lifetime of a #ClutterAnimation instance, so you should consider using
3126 // those functions instead of manually creating an animation.
3128 // to release the associated resources
3129 // RETURNS: the newly created #ClutterAnimation. Use g_object_unref()
3130 static Animation
* /*new*/ new_() {
3131 return clutter_animation_new();
3134 // Adds a single property with name @property_name to the
3135 // animation @animation. For more information about animations,
3136 // see clutter_actor_animate().
3138 // This method returns the animation primarily to make chained
3139 // calls convenient in language bindings.
3140 // RETURNS: The animation itself.
3141 // <property_name>: the property to control
3142 // <final>: The final value of the property
3143 Animation
* bind(char* property_name
, GObject2
.Value
* final_
) {
3144 return clutter_animation_bind(&this, property_name
, final_
);
3147 // Binds @interval to the @property_name of the #GObject
3148 // attached to @animation. The #ClutterAnimation will take
3149 // ownership of the passed #ClutterInterval. For more information
3150 // about animations, see clutter_actor_animate().
3152 // If you need to update the interval instance use
3153 // clutter_animation_update_interval() instead.
3154 // RETURNS: The animation itself.
3155 // <property_name>: the property to control
3156 // <interval>: a #ClutterInterval
3157 Animation
* bind_interval(char* property_name
, Interval
* interval
) {
3158 return clutter_animation_bind_interval(&this, property_name
, interval
);
3161 // Emits the ::completed signal on @animation
3163 // When using this function with a #ClutterAnimation created
3164 // by the clutter_actor_animate() family of functions, @animation
3165 // will be unreferenced and it will not be valid anymore,
3166 // unless g_object_ref() was called before calling this function
3167 // or unless a reference was taken inside a handler for the
3168 // #ClutterAnimation::completed signal
3170 clutter_animation_completed(&this);
3173 // Retrieves the #ClutterAlpha used by @animation.
3174 // RETURNS: the alpha object used by the animation
3175 Alpha
* get_alpha() {
3176 return clutter_animation_get_alpha(&this);
3179 // Retrieves the duration of @animation, in milliseconds.
3180 // RETURNS: the duration of the animation
3181 uint get_duration() {
3182 return clutter_animation_get_duration(&this);
3185 // Retrieves the #ClutterInterval associated to @property_name
3186 // inside @animation.
3188 // property with the same name was found. The returned interval is
3189 // owned by the #ClutterAnimation and should not be unreferenced
3190 // RETURNS: a #ClutterInterval or %NULL if no
3191 // <property_name>: name of the property
3192 Interval
* get_interval(char* property_name
) {
3193 return clutter_animation_get_interval(&this, property_name
);
3196 // Retrieves whether @animation is looping.
3197 // RETURNS: %TRUE if the animation is looping
3199 return clutter_animation_get_loop(&this);
3202 // Retrieves the animation mode of @animation, as set by
3203 // clutter_animation_set_mode().
3204 // RETURNS: the mode for the animation
3205 c_ulong
get_mode() {
3206 return clutter_animation_get_mode(&this);
3209 // Retrieves the #GObject attached to @animation.
3210 // RETURNS: a #GObject
3211 GObject2
.Object
* get_object() {
3212 return clutter_animation_get_object(&this);
3215 // Retrieves the #ClutterTimeline used by @animation
3216 // RETURNS: the timeline used by the animation
3217 Timeline
* get_timeline() {
3218 return clutter_animation_get_timeline(&this);
3221 // Checks whether @animation is controlling @property_name.
3223 // #ClutterAnimation, %FALSE otherwise
3224 // RETURNS: %TRUE if the property is animated by the
3225 // <property_name>: name of the property
3226 int has_property(char* property_name
) {
3227 return clutter_animation_has_property(&this, property_name
);
3230 // Sets @alpha as the #ClutterAlpha used by @animation.
3232 // If @alpha is not %NULL, the #ClutterAnimation will take ownership
3233 // of the #ClutterAlpha instance.
3234 // <alpha>: a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha
3235 void set_alpha(Alpha
* alpha
) {
3236 clutter_animation_set_alpha(&this, alpha
);
3239 // Sets the duration of @animation in milliseconds.
3241 // This function will set #ClutterAnimation:alpha and
3242 // #ClutterAnimation:timeline if needed.
3243 // <msecs>: the duration in milliseconds
3244 void set_duration(uint msecs
) {
3245 clutter_animation_set_duration(&this, msecs
);
3248 // Sets whether @animation should loop over itself once finished.
3250 // A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
3251 // signal when finished.
3253 // This function will set #ClutterAnimation:alpha and
3254 // #ClutterAnimation:timeline if needed.
3255 // <loop>: %TRUE if the animation should loop
3256 void set_loop(int loop) {
3257 clutter_animation_set_loop(&this, loop);
3260 // Sets the animation @mode of @animation. The animation @mode is
3261 // a logical id, either coming from the #ClutterAnimationMode enumeration
3262 // or the return value of clutter_alpha_register_func().
3264 // This function will also set #ClutterAnimation:alpha if needed.
3265 // <mode>: an animation mode logical id
3266 void set_mode(c_ulong mode
) {
3267 clutter_animation_set_mode(&this, mode
);
3270 // Attaches @animation to @object. The #ClutterAnimation will take a
3271 // reference on @object.
3272 // <object>: a #GObject
3273 void set_object(GObject2
.Object
* object
) {
3274 clutter_animation_set_object(&this, object
);
3277 // Sets the #ClutterTimeline used by @animation.
3278 // <timeline>: a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline
3279 void set_timeline(Timeline
* timeline
) {
3280 clutter_animation_set_timeline(&this, timeline
);
3283 // Removes @property_name from the list of animated properties.
3284 // <property_name>: name of the property
3285 void unbind_property(char* property_name
) {
3286 clutter_animation_unbind_property(&this, property_name
);
3289 // Updates the @final value of the interval for @property_name
3290 // RETURNS: The animation itself.
3291 // <property_name>: name of the property
3292 // <final>: The final value of the property
3293 Animation
* update(char* property_name
, GObject2
.Value
* final_
) {
3294 return clutter_animation_update(&this, property_name
, final_
);
3297 // Changes the @interval for @property_name. The #ClutterAnimation
3298 // will take ownership of the passed #ClutterInterval.
3299 // <property_name>: name of the property
3300 // <interval>: a #ClutterInterval
3301 void update_interval(char* property_name
, Interval
* interval
) {
3302 clutter_animation_update_interval(&this, property_name
, interval
);
3305 // The ::completed signal is emitted once the animation has
3308 // The @animation instance is guaranteed to be valid for the entire
3309 // duration of the signal emission chain.
3310 extern (C
) alias static void function (Animation
* this_
, void* user_data
=null) signal_completed
;
3312 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3313 return super_
.signal_connect
!name(cb
, data
, cf
);
3316 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3317 return signal_connect_data(&this, cast(char*)"completed",
3318 cast(GObject2
.Callback
)cb
, data
, null, cf
);
3321 // The ::started signal is emitted once the animation has been
3323 extern (C
) alias static void function (Animation
* this_
, void* user_data
=null) signal_started
;
3324 ulong signal_connect(string name
:"started", CB
:signal_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3325 return signal_connect_data(&this, cast(char*)"started",
3326 cast(GObject2
.Callback
)cb
, data
, null, cf
);
3331 // The #ClutterAnimationClass structure contains only private data and
3332 // should be accessed using the provided functions.
3333 struct AnimationClass
/* Version 1.0 */ {
3334 private GObject2
.ObjectClass parent_class
;
3335 extern (C
) void function (Animation
* animation
) started
;
3336 extern (C
) void function (Animation
* animation
) completed
;
3337 extern (C
) void function () _clutter_reserved1
;
3338 extern (C
) void function () _clutter_reserved2
;
3339 extern (C
) void function () _clutter_reserved3
;
3340 extern (C
) void function () _clutter_reserved4
;
3341 extern (C
) void function () _clutter_reserved5
;
3342 extern (C
) void function () _clutter_reserved6
;
3343 extern (C
) void function () _clutter_reserved7
;
3344 extern (C
) void function () _clutter_reserved8
;
3348 // The animation modes used by #ClutterAlpha and #ClutterAnimation. This
3349 // enumeration can be expanded in later versions of Clutter. See the
3350 // #ClutterAlpha documentation for a graph of all the animation modes.
3352 // Every global alpha function registered using clutter_alpha_register_func()
3353 // or clutter_alpha_register_closure() will have a logical id greater than
3354 // %CLUTTER_ANIMATION_LAST.
3355 enum AnimationMode
/* Version 1.0 */ {
3360 EASE_IN_OUT_QUAD
= 4,
3363 EASE_IN_OUT_CUBIC
= 7,
3366 EASE_IN_OUT_QUART
= 10,
3368 EASE_OUT_QUINT
= 12,
3369 EASE_IN_OUT_QUINT
= 13,
3372 EASE_IN_OUT_SINE
= 16,
3375 EASE_IN_OUT_EXPO
= 19,
3378 EASE_IN_OUT_CIRC
= 22,
3379 EASE_IN_ELASTIC
= 23,
3380 EASE_OUT_ELASTIC
= 24,
3381 EASE_IN_OUT_ELASTIC
= 25,
3384 EASE_IN_OUT_BACK
= 28,
3385 EASE_IN_BOUNCE
= 29,
3386 EASE_OUT_BOUNCE
= 30,
3387 EASE_IN_OUT_BOUNCE
= 31,
3390 struct AnimationPrivate
{
3394 // The #ClutterAnimator structure contains only private data and
3395 // should be accessed using the provided API
3396 struct Animator
/* : GObject.Object */ /* Version 1.2 */ {
3397 alias parent_instance
this;
3398 alias parent_instance super_
;
3399 alias parent_instance object
;
3400 GObject2
.Object parent_instance
;
3401 private AnimatorPrivate
* priv
;
3404 // Creates a new #ClutterAnimator instance
3405 // RETURNS: a new #ClutterAnimator.
3406 static Animator
* /*new*/ new_() {
3407 return clutter_animator_new();
3410 // Compute the value for a managed property at a given progress.
3412 // If the property is an ease-in property, the current value of the property
3413 // on the object will be used as the starting point for computation.
3415 // an error occurs or the progress is before any of the keys) %FALSE is
3416 // returned and the #GValue is left untouched
3417 // RETURNS: %TRUE if the computation yields has a value, otherwise (when
3418 // <object>: a #GObject
3419 // <property_name>: the name of the property on object to check
3420 // <progress>: a value between 0.0 and 1.0
3421 // <value>: an initialized value to store the computed result
3422 int compute_value(GObject2
.Object
* object
, char* property_name
, double progress
, GObject2
.Value
* value
) {
3423 return clutter_animator_compute_value(&this, object
, property_name
, progress
, value
);
3426 // Retrieves the current duration of an animator
3427 // RETURNS: the duration of the animation, in milliseconds
3428 uint get_duration() {
3429 return clutter_animator_get_duration(&this);
3432 // Returns a list of pointers to opaque structures with accessor functions
3433 // that describe the keys added to an animator.
3435 // list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned
3436 // by the #ClutterAnimator, but you should free the returned list when done,
3437 // using g_list_free()
3439 // <object>: a #GObject to search for, or %NULL for all objects
3440 // <property_name>: a specific property name to query for, or %NULL for all properties
3441 // <progress>: a specific progress to search for, or a negative value for all progresses
3442 GLib2
.List
* /*new container*/ get_keys(GObject2
.Object
* object
, char* property_name
, double progress
) {
3443 return clutter_animator_get_keys(&this, object
, property_name
, progress
);
3446 // Get the timeline hooked up for driving the #ClutterAnimator
3447 // RETURNS: the #ClutterTimeline that drives the animator
3448 Timeline
* get_timeline() {
3449 return clutter_animator_get_timeline(&this);
3452 // Checks if a property value is to be eased into the animation.
3453 // RETURNS: %TRUE if the property is eased in
3454 // <object>: a #GObject
3455 // <property_name>: the name of a property on object
3456 int property_get_ease_in(GObject2
.Object
* object
, char* property_name
) {
3457 return clutter_animator_property_get_ease_in(&this, object
, property_name
);
3460 // Get the interpolation used by animator for a property on a particular
3462 // RETURNS: a ClutterInterpolation value.
3463 // <object>: a #GObject
3464 // <property_name>: the name of a property on object
3465 Interpolation
property_get_interpolation(GObject2
.Object
* object
, char* property_name
) {
3466 return clutter_animator_property_get_interpolation(&this, object
, property_name
);
3469 // Sets whether a property value is to be eased into the animation.
3470 // <object>: a #GObject
3471 // <property_name>: the name of a property on object
3472 // <ease_in>: we are going to be easing in this property
3473 void property_set_ease_in(GObject2
.Object
* object
, char* property_name
, int ease_in
) {
3474 clutter_animator_property_set_ease_in(&this, object
, property_name
, ease_in
);
3477 // Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes
3478 // the values to linearly change between the values, and
3479 // %CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between
3481 // <object>: a #GObject
3482 // <property_name>: the name of a property on object
3483 // <interpolation>: the #ClutterInterpolation to use
3484 void property_set_interpolation(GObject2
.Object
* object
, char* property_name
, Interpolation interpolation
) {
3485 clutter_animator_property_set_interpolation(&this, object
, property_name
, interpolation
);
3488 // Removes all keys matching the conditions specificed in the arguments.
3489 // <object>: a #GObject to search for, or %NULL for all
3490 // <property_name>: a specific property name to query for, or %NULL for all
3491 // <progress>: a specific progress to search for or a negative value for all
3492 void remove_key(GObject2
.Object
* object
, char* property_name
, double progress
) {
3493 clutter_animator_remove_key(&this, object
, property_name
, progress
);
3496 // Unintrospectable method: set() / clutter_animator_set()
3497 // Adds multiple keys to a #ClutterAnimator, specifying the value a given
3498 // property should have at a given progress of the animation. The mode
3499 // specified is the mode used when going to this key from the previous key of
3500 // the @property_name
3502 // If a given (object, property, progress) tuple already exist the mode and
3503 // value will be replaced with the new values.
3504 // <first_object>: a #GObject
3505 // <first_property_name>: the property to specify a key for
3506 // <first_mode>: the id of the alpha function to use
3507 // <first_progress>: at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1
3508 /+ Not available -- variadic methods unsupported - use the C function directly.
3509 alias clutter_animator_set set; // Variadic
3512 // Runs the timeline of the #ClutterAnimator with a duration in msecs
3514 // <duration>: milliseconds a run of the animator should last.
3515 void set_duration(uint duration
) {
3516 clutter_animator_set_duration(&this, duration
);
3519 // Sets a single key in the #ClutterAnimator for the @property_name of
3520 // @object at @progress.
3522 // See also: clutter_animator_set()
3523 // RETURNS: The animator instance
3524 // <object>: a #GObject
3525 // <property_name>: the property to specify a key for
3526 // <mode>: the id of the alpha function to use
3527 // <progress>: the normalized range at which stage of the animation this value applies
3528 // <value>: the value property_name should have at progress.
3529 Animator
* set_key(GObject2
.Object
* object
, char* property_name
, uint mode
, double progress
, GObject2
.Value
* value
) {
3530 return clutter_animator_set_key(&this, object
, property_name
, mode
, progress
, value
);
3533 // Sets an external timeline that will be used for driving the animation
3534 // <timeline>: a #ClutterTimeline
3535 void set_timeline(Timeline
* timeline
) {
3536 clutter_animator_set_timeline(&this, timeline
);
3539 // Start the ClutterAnimator, this is a thin wrapper that rewinds
3540 // and starts the animators current timeline.
3542 // the animator. The returned timeline is owned by the #ClutterAnimator
3543 // and it should not be unreferenced
3544 // RETURNS: the #ClutterTimeline that drives
3546 return clutter_animator_start(&this);
3550 // The #ClutterAnimatorClass structure contains only private data
3551 struct AnimatorClass
/* Version 1.2 */ {
3552 private GObject2
.ObjectClass parent_class
;
3553 private void*[16] _padding_dummy
;
3556 // A key frame inside a #ClutterAnimator
3557 struct AnimatorKey
/* Version 1.2 */ {
3559 // Retrieves the mode of a #ClutterAnimator key, for the first key of a
3560 // property for an object this represents the whether the animation is
3561 // open ended and or curved for the remainding keys for the property it
3562 // represents the easing mode.
3563 // RETURNS: the mode of a #ClutterAnimatorKey
3564 c_ulong
get_mode() {
3565 return clutter_animator_key_get_mode(&this);
3568 // Retrieves the object a key applies to.
3569 // RETURNS: the object an animator_key exist for.
3570 GObject2
.Object
* get_object() {
3571 return clutter_animator_key_get_object(&this);
3574 // Retrieves the progress of an clutter_animator_key
3575 // RETURNS: the progress defined for a #ClutterAnimator key.
3576 double get_progress() {
3577 return clutter_animator_key_get_progress(&this);
3580 // Retrieves the name of the property a key applies to.
3581 // RETURNS: the name of the property an animator_key exist for.
3582 char* get_property_name() {
3583 return clutter_animator_key_get_property_name(&this);
3586 // Retrieves the #GType of the property a key applies to
3588 // You can use this type to initialize the #GValue to pass to
3589 // clutter_animator_key_get_value()
3590 // RETURNS: the #GType of the property
3591 Type
get_property_type() {
3592 return clutter_animator_key_get_property_type(&this);
3595 // Retrieves a copy of the value for a #ClutterAnimatorKey.
3597 // The passed in #GValue needs to be already initialized for the value
3598 // type of the key or to a type that allow transformation from the value
3601 // Use g_value_unset() when done.
3604 // RETURNS: %TRUE if the passed #GValue was successfully set, and
3605 // <value>: a #GValue initialized with the correct type for the animator key
3606 int get_value(GObject2
.Value
* value
) {
3607 return clutter_animator_key_get_value(&this, value
);
3611 struct AnimatorPrivate
{
3614 // Common members for a #ClutterEvent
3615 struct AnyEvent
/* Version 0.2 */ {
3623 enum int Aogonek
= 417;
3624 enum int ApplicationLeft
= 269025104;
3625 enum int ApplicationRight
= 269025105;
3626 enum int Arabic_0
= 16778848;
3627 enum int Arabic_1
= 16778849;
3628 enum int Arabic_2
= 16778850;
3629 enum int Arabic_3
= 16778851;
3630 enum int Arabic_4
= 16778852;
3631 enum int Arabic_5
= 16778853;
3632 enum int Arabic_6
= 16778854;
3633 enum int Arabic_7
= 16778855;
3634 enum int Arabic_8
= 16778856;
3635 enum int Arabic_9
= 16778857;
3636 enum int Arabic_ain
= 1497;
3637 enum int Arabic_alef
= 1479;
3638 enum int Arabic_alefmaksura
= 1513;
3639 enum int Arabic_beh
= 1480;
3640 enum int Arabic_comma
= 1452;
3641 enum int Arabic_dad
= 1494;
3642 enum int Arabic_dal
= 1487;
3643 enum int Arabic_damma
= 1519;
3644 enum int Arabic_dammatan
= 1516;
3645 enum int Arabic_ddal
= 16778888;
3646 enum int Arabic_farsi_yeh
= 16778956;
3647 enum int Arabic_fatha
= 1518;
3648 enum int Arabic_fathatan
= 1515;
3649 enum int Arabic_feh
= 1505;
3650 enum int Arabic_fullstop
= 16778964;
3651 enum int Arabic_gaf
= 16778927;
3652 enum int Arabic_ghain
= 1498;
3653 enum int Arabic_ha
= 1511;
3654 enum int Arabic_hah
= 1485;
3655 enum int Arabic_hamza
= 1473;
3656 enum int Arabic_hamza_above
= 16778836;
3657 enum int Arabic_hamza_below
= 16778837;
3658 enum int Arabic_hamzaonalef
= 1475;
3659 enum int Arabic_hamzaonwaw
= 1476;
3660 enum int Arabic_hamzaonyeh
= 1478;
3661 enum int Arabic_hamzaunderalef
= 1477;
3662 enum int Arabic_heh
= 1511;
3663 enum int Arabic_heh_doachashmee
= 16778942;
3664 enum int Arabic_heh_goal
= 16778945;
3665 enum int Arabic_jeem
= 1484;
3666 enum int Arabic_jeh
= 16778904;
3667 enum int Arabic_kaf
= 1507;
3668 enum int Arabic_kasra
= 1520;
3669 enum int Arabic_kasratan
= 1517;
3670 enum int Arabic_keheh
= 16778921;
3671 enum int Arabic_khah
= 1486;
3672 enum int Arabic_lam
= 1508;
3673 enum int Arabic_madda_above
= 16778835;
3674 enum int Arabic_maddaonalef
= 1474;
3675 enum int Arabic_meem
= 1509;
3676 enum int Arabic_noon
= 1510;
3677 enum int Arabic_noon_ghunna
= 16778938;
3678 enum int Arabic_peh
= 16778878;
3679 enum int Arabic_percent
= 16778858;
3680 enum int Arabic_qaf
= 1506;
3681 enum int Arabic_question_mark
= 1471;
3682 enum int Arabic_ra
= 1489;
3683 enum int Arabic_rreh
= 16778897;
3684 enum int Arabic_sad
= 1493;
3685 enum int Arabic_seen
= 1491;
3686 enum int Arabic_semicolon
= 1467;
3687 enum int Arabic_shadda
= 1521;
3688 enum int Arabic_sheen
= 1492;
3689 enum int Arabic_sukun
= 1522;
3690 enum int Arabic_superscript_alef
= 16778864;
3691 enum int Arabic_switch
= 65406;
3692 enum int Arabic_tah
= 1495;
3693 enum int Arabic_tatweel
= 1504;
3694 enum int Arabic_tcheh
= 16778886;
3695 enum int Arabic_teh
= 1482;
3696 enum int Arabic_tehmarbuta
= 1481;
3697 enum int Arabic_thal
= 1488;
3698 enum int Arabic_theh
= 1483;
3699 enum int Arabic_tteh
= 16778873;
3700 enum int Arabic_veh
= 16778916;
3701 enum int Arabic_waw
= 1512;
3702 enum int Arabic_yeh
= 1514;
3703 enum int Arabic_yeh_baree
= 16778962;
3704 enum int Arabic_zah
= 1496;
3705 enum int Arabic_zain
= 1490;
3706 enum int Aring
= 197;
3707 enum int Armenian_AT
= 16778552;
3708 enum int Armenian_AYB
= 16778545;
3709 enum int Armenian_BEN
= 16778546;
3710 enum int Armenian_CHA
= 16778569;
3711 enum int Armenian_DA
= 16778548;
3712 enum int Armenian_DZA
= 16778561;
3713 enum int Armenian_E
= 16778551;
3714 enum int Armenian_FE
= 16778582;
3715 enum int Armenian_GHAT
= 16778562;
3716 enum int Armenian_GIM
= 16778547;
3717 enum int Armenian_HI
= 16778565;
3718 enum int Armenian_HO
= 16778560;
3719 enum int Armenian_INI
= 16778555;
3720 enum int Armenian_JE
= 16778571;
3721 enum int Armenian_KE
= 16778580;
3722 enum int Armenian_KEN
= 16778559;
3723 enum int Armenian_KHE
= 16778557;
3724 enum int Armenian_LYUN
= 16778556;
3725 enum int Armenian_MEN
= 16778564;
3726 enum int Armenian_NU
= 16778566;
3727 enum int Armenian_O
= 16778581;
3728 enum int Armenian_PE
= 16778570;
3729 enum int Armenian_PYUR
= 16778579;
3730 enum int Armenian_RA
= 16778572;
3731 enum int Armenian_RE
= 16778576;
3732 enum int Armenian_SE
= 16778573;
3733 enum int Armenian_SHA
= 16778567;
3734 enum int Armenian_TCHE
= 16778563;
3735 enum int Armenian_TO
= 16778553;
3736 enum int Armenian_TSA
= 16778558;
3737 enum int Armenian_TSO
= 16778577;
3738 enum int Armenian_TYUN
= 16778575;
3739 enum int Armenian_VEV
= 16778574;
3740 enum int Armenian_VO
= 16778568;
3741 enum int Armenian_VYUN
= 16778578;
3742 enum int Armenian_YECH
= 16778549;
3743 enum int Armenian_ZA
= 16778550;
3744 enum int Armenian_ZHE
= 16778554;
3745 enum int Armenian_accent
= 16778587;
3746 enum int Armenian_amanak
= 16778588;
3747 enum int Armenian_apostrophe
= 16778586;
3748 enum int Armenian_at
= 16778600;
3749 enum int Armenian_ayb
= 16778593;
3750 enum int Armenian_ben
= 16778594;
3751 enum int Armenian_but
= 16778589;
3752 enum int Armenian_cha
= 16778617;
3753 enum int Armenian_da
= 16778596;
3754 enum int Armenian_dza
= 16778609;
3755 enum int Armenian_e
= 16778599;
3756 enum int Armenian_exclam
= 16778588;
3757 enum int Armenian_fe
= 16778630;
3758 enum int Armenian_full_stop
= 16778633;
3759 enum int Armenian_ghat
= 16778610;
3760 enum int Armenian_gim
= 16778595;
3761 enum int Armenian_hi
= 16778613;
3762 enum int Armenian_ho
= 16778608;
3763 enum int Armenian_hyphen
= 16778634;
3764 enum int Armenian_ini
= 16778603;
3765 enum int Armenian_je
= 16778619;
3766 enum int Armenian_ke
= 16778628;
3767 enum int Armenian_ken
= 16778607;
3768 enum int Armenian_khe
= 16778605;
3769 enum int Armenian_ligature_ew
= 16778631;
3770 enum int Armenian_lyun
= 16778604;
3771 enum int Armenian_men
= 16778612;
3772 enum int Armenian_nu
= 16778614;
3773 enum int Armenian_o
= 16778629;
3774 enum int Armenian_paruyk
= 16778590;
3775 enum int Armenian_pe
= 16778618;
3776 enum int Armenian_pyur
= 16778627;
3777 enum int Armenian_question
= 16778590;
3778 enum int Armenian_ra
= 16778620;
3779 enum int Armenian_re
= 16778624;
3780 enum int Armenian_se
= 16778621;
3781 enum int Armenian_separation_mark
= 16778589;
3782 enum int Armenian_sha
= 16778615;
3783 enum int Armenian_shesht
= 16778587;
3784 enum int Armenian_tche
= 16778611;
3785 enum int Armenian_to
= 16778601;
3786 enum int Armenian_tsa
= 16778606;
3787 enum int Armenian_tso
= 16778625;
3788 enum int Armenian_tyun
= 16778623;
3789 enum int Armenian_verjaket
= 16778633;
3790 enum int Armenian_vev
= 16778622;
3791 enum int Armenian_vo
= 16778616;
3792 enum int Armenian_vyun
= 16778626;
3793 enum int Armenian_yech
= 16778597;
3794 enum int Armenian_yentamna
= 16778634;
3795 enum int Armenian_za
= 16778598;
3796 enum int Armenian_zhe
= 16778602;
3797 enum int Atilde
= 195;
3798 enum int AudibleBell_Enable
= 65146;
3799 enum int AudioCycleTrack
= 269025179;
3800 enum int AudioForward
= 269025175;
3801 enum int AudioLowerVolume
= 269025041;
3802 enum int AudioMedia
= 269025074;
3803 enum int AudioMute
= 269025042;
3804 enum int AudioNext
= 269025047;
3805 enum int AudioPause
= 269025073;
3806 enum int AudioPlay
= 269025044;
3807 enum int AudioPrev
= 269025046;
3808 enum int AudioRaiseVolume
= 269025043;
3809 enum int AudioRandomPlay
= 269025177;
3810 enum int AudioRecord
= 269025052;
3811 enum int AudioRepeat
= 269025176;
3812 enum int AudioRewind
= 269025086;
3813 enum int AudioStop
= 269025045;
3814 enum int Away
= 269025165;
3816 enum int Babovedot
= 16784898;
3817 enum int Back
= 269025062;
3818 enum int BackForward
= 269025087;
3819 enum int BackSpace
= 65288;
3821 // <structname>ClutterBackend</structname> is an opaque structure whose
3822 // members cannot be directly accessed.
3823 struct Backend
/* : GObject.Object */ /* Version 0.4 */ {
3824 alias method_parent
this;
3825 alias method_parent super_
;
3826 alias method_parent object
;
3827 GObject2
.Object method_parent
;
3830 // Retrieves the distance used to verify a double click event
3831 // RETURNS: a distance, in pixels.
3832 uint get_double_click_distance() {
3833 return clutter_backend_get_double_click_distance(&this);
3836 // Gets the maximum time between two button press events, as set
3837 // by clutter_backend_set_double_click_time().
3838 // RETURNS: a time in milliseconds
3839 uint get_double_click_time() {
3840 return clutter_backend_get_double_click_time(&this);
3843 // Retrieves the default font name as set by
3844 // clutter_backend_set_font_name().
3846 // owned by the #ClutterBackend and should never be modified or freed
3847 // RETURNS: the font name for the backend. The returned string is
3848 char* get_font_name() {
3849 return clutter_backend_get_font_name(&this);
3852 // Retrieves the font options for @backend.
3854 // The returned #cairo_font_options_t is owned by the backend and should
3855 // not be modified or freed
3856 // RETURNS: the font options of the #ClutterBackend.
3857 cairo
.FontOptions
* get_font_options() {
3858 return clutter_backend_get_font_options(&this);
3861 // Gets the resolution for font handling on the screen.
3863 // The resolution is a scale factor between points specified in a
3864 // #PangoFontDescription and cairo units. The default value is 96.0,
3865 // meaning that a 10 point font will be 13 units
3866 // high (10 * 96. / 72. = 13.3).
3868 // Clutter will set the resolution using the current backend when
3869 // initializing; the resolution is also stored in the
3870 // #ClutterSettings:font-dpi property.
3873 // RETURNS: the current resolution, or -1 if no resolution
3874 double get_resolution() {
3875 return clutter_backend_get_resolution(&this);
3878 // Sets the maximum distance used to verify a double click event.
3879 // <distance>: a distance, in pixels
3880 void set_double_click_distance(uint distance
) {
3881 clutter_backend_set_double_click_distance(&this, distance
);
3884 // Sets the maximum time between two button press events, used to
3885 // verify whether it's a double click event or not.
3886 // <msec>: milliseconds between two button press events
3887 void set_double_click_time(uint msec
) {
3888 clutter_backend_set_double_click_time(&this, msec
);
3891 // Sets the default font to be used by Clutter. The @font_name string
3892 // must either be %NULL, which means that the font name from the
3893 // default #ClutterBackend will be used; or be something that can
3894 // be parsed by the pango_font_description_from_string() function.
3895 // <font_name>: the name of the font
3896 void set_font_name(char* font_name
) {
3897 clutter_backend_set_font_name(&this, font_name
);
3900 // Sets the new font options for @backend. The #ClutterBackend will
3901 // copy the #cairo_font_options_t.
3903 // If @options is %NULL, the first following call to
3904 // clutter_backend_get_font_options() will return the default font
3905 // options for @backend.
3907 // This function is intended for actors creating a Pango layout
3908 // using the PangoCairo API.
3909 // <options>: Cairo font options for the backend, or %NULL
3910 void set_font_options(cairo
.FontOptions
* options
) {
3911 clutter_backend_set_font_options(&this, options
);
3914 // Sets the resolution for font handling on the screen. This is a
3915 // scale factor between points specified in a #PangoFontDescription
3916 // and cairo units. The default value is 96, meaning that a 10 point
3917 // font will be 13 units high. (10 * 96. / 72. = 13.3).
3919 // Applications should never need to call this function.
3920 // <dpi>: the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional).
3921 void set_resolution(double dpi
) {
3922 clutter_backend_set_resolution(&this, dpi
);
3925 // The ::font-changed signal is emitted each time the font options
3926 // have been changed through #ClutterSettings.
3927 extern (C
) alias static void function (Backend
* this_
, void* user_data
=null) signal_font_changed
;
3929 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3930 return super_
.signal_connect
!name(cb
, data
, cf
);
3933 ulong signal_connect(string name
:"font-changed", CB
:signal_font_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3934 return signal_connect_data(&this, cast(char*)"font-changed",
3935 cast(GObject2
.Callback
)cb
, data
, null, cf
);
3938 // The ::resolution-changed signal is emitted each time the font
3939 // resolutions has been changed through #ClutterSettings.
3940 extern (C
) alias static void function (Backend
* this_
, void* user_data
=null) signal_resolution_changed
;
3941 ulong signal_connect(string name
:"resolution-changed", CB
:signal_resolution_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3942 return signal_connect_data(&this, cast(char*)"resolution-changed",
3943 cast(GObject2
.Callback
)cb
, data
, null, cf
);
3946 // The ::settings-changed signal is emitted each time the #ClutterSettings
3947 // properties have been changed.
3948 extern (C
) alias static void function (Backend
* this_
, void* user_data
=null) signal_settings_changed
;
3949 ulong signal_connect(string name
:"settings-changed", CB
:signal_settings_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
3950 return signal_connect_data(&this, cast(char*)"settings-changed",
3951 cast(GObject2
.Callback
)cb
, data
, null, cf
);
3955 struct BackendClass
{
3958 enum int Battery
= 269025171;
3959 enum int Begin
= 65368;
3961 // #ClutterBehaviour-struct contains only private data and should
3962 // be accessed with the functions below.
3963 struct Behaviour
/* : GObject.Object */ /* Version 0.2 */ {
3965 alias parent super_
;
3966 alias parent object
;
3967 GObject2
.Object parent
;
3968 private BehaviourPrivate
* priv
;
3971 // Calls @func for every actor driven by @behave.
3972 // <func>: a function called for each actor
3973 // <data>: optional data to be passed to the function, or %NULL
3974 void actors_foreach(BehaviourForeachFunc func
, void* data
) {
3975 clutter_behaviour_actors_foreach(&this, func
, data
);
3978 // Applies @behave to @actor. This function adds a reference on
3980 // <actor>: a #ClutterActor
3981 void apply(Actor
* actor
) {
3982 clutter_behaviour_apply(&this, actor
);
3985 // Retrieves all the actors to which @behave applies. It is not recommended
3986 // for derived classes to use this in there alpha notify method but use
3987 // #clutter_behaviour_actors_foreach as it avoids alot of needless allocations.
3989 // actors. You should free the returned list with g_slist_free() when
3990 // finished using it.
3991 // RETURNS: a list of
3992 GLib2
.SList
* /*new container*/ get_actors() {
3993 return clutter_behaviour_get_actors(&this);
3996 // Retrieves the #ClutterAlpha object bound to @behave.
3998 // object has been bound to this behaviour.
3999 // RETURNS: a #ClutterAlpha object, or %NULL if no alpha
4000 Alpha
* get_alpha() {
4001 return clutter_behaviour_get_alpha(&this);
4004 // Gets the number of actors this behaviour is applied too.
4005 // RETURNS: The number of applied actors
4006 int get_n_actors() {
4007 return clutter_behaviour_get_n_actors(&this);
4010 // Gets an actor the behaviour was applied to referenced by index num.
4011 // RETURNS: A Clutter actor or NULL if @index_ is invalid.
4012 // <index_>: the index of an actor this behaviour is applied too.
4013 Actor
* get_nth_actor(int index_
) {
4014 return clutter_behaviour_get_nth_actor(&this, index_
);
4017 // Check if @behave applied to @actor.
4018 // RETURNS: TRUE if actor has behaviour. FALSE otherwise.
4019 // <actor>: a #ClutterActor
4020 int is_applied(Actor
* actor
) {
4021 return clutter_behaviour_is_applied(&this, actor
);
4024 // Removes @actor from the list of #ClutterActor<!-- -->s to which
4025 // @behave applies. This function removes a reference on the actor.
4026 // <actor>: a #ClutterActor
4027 void remove(Actor
* actor
) {
4028 clutter_behaviour_remove(&this, actor
);
4030 // Removes every actor from the list that @behave holds.
4032 clutter_behaviour_remove_all(&this);
4035 // Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object
4036 // is what makes a behaviour work: for each tick of the timeline
4037 // used by #ClutterAlpha a new value of the alpha parameter is
4038 // computed by the alpha function; the value should be used by
4039 // the #ClutterBehaviour to update one or more properties of the
4040 // actors to which the behaviour applies.
4042 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4043 // of the #ClutterAlpha instance.
4044 // <alpha>: a #ClutterAlpha or %NULL to unset a previously set alpha
4045 void set_alpha(Alpha
* alpha
) {
4046 clutter_behaviour_set_alpha(&this, alpha
);
4049 // The ::apply signal is emitted each time the behaviour is applied
4051 // <actor>: the actor the behaviour was applied to.
4052 extern (C
) alias static void function (Behaviour
* this_
, Actor
* actor
, void* user_data
=null) signal_applied
;
4054 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4055 return super_
.signal_connect
!name(cb
, data
, cf
);
4058 ulong signal_connect(string name
:"applied", CB
:signal_applied
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4059 return signal_connect_data(&this, cast(char*)"applied",
4060 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4063 // The ::removed signal is emitted each time a behaviour is not applied
4064 // to an actor anymore.
4065 // <actor>: the removed actor
4066 extern (C
) alias static void function (Behaviour
* this_
, Actor
* actor
, void* user_data
=null) signal_removed
;
4067 ulong signal_connect(string name
:"removed", CB
:signal_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4068 return signal_connect_data(&this, cast(char*)"removed",
4069 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4073 // Base class for behaviours.
4074 struct BehaviourClass
/* Version 0.2 */ {
4075 private GObject2
.ObjectClass parent_class
;
4076 extern (C
) void function (Behaviour
* behave
, double alpha_value
) alpha_notify
;
4077 extern (C
) void function (Behaviour
* behave
, Actor
* actor
) applied
;
4078 extern (C
) void function (Behaviour
* behave
, Actor
* actor
) removed
;
4079 extern (C
) void function () _clutter_behaviour1
;
4080 extern (C
) void function () _clutter_behaviour2
;
4081 extern (C
) void function () _clutter_behaviour3
;
4082 extern (C
) void function () _clutter_behaviour4
;
4083 extern (C
) void function () _clutter_behaviour5
;
4084 extern (C
) void function () _clutter_behaviour6
;
4088 // The #ClutterBehaviourDepth structure contains only private data
4089 // and should be accessed using the provided API
4093 struct BehaviourDepth
/* : Behaviour */ /* Version 0.2 */ {
4094 alias parent_instance
this;
4095 alias parent_instance super_
;
4096 alias parent_instance behaviour
;
4097 Behaviour parent_instance
;
4098 private BehaviourDepthPrivate
* priv
;
4101 // Creates a new #ClutterBehaviourDepth which can be used to control
4102 // the ClutterActor:depth property of a set of #ClutterActor<!-- -->s.
4104 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4105 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4106 // it can be set later with clutter_behaviour_set_alpha().
4107 // RETURNS: the newly created behaviour
4108 // <alpha>: a #ClutterAlpha instance, or %NULL
4109 // <depth_start>: initial value of the depth
4110 // <depth_end>: final value of the depth
4111 static BehaviourDepth
* /*new*/ new_(Alpha
* alpha
, int depth_start
, int depth_end
) {
4112 return clutter_behaviour_depth_new(alpha
, depth_start
, depth_end
);
4115 // Gets the boundaries of the @behaviour
4116 // <depth_start>: return location for the initial depth value, or %NULL
4117 // <depth_end>: return location for the final depth value, or %NULL
4118 void get_bounds(/*out*/ int* depth_start
, /*out*/ int* depth_end
) {
4119 clutter_behaviour_depth_get_bounds(&this, depth_start
, depth_end
);
4122 // Sets the boundaries of the @behaviour.
4123 // <depth_start>: initial value of the depth
4124 // <depth_end>: final value of the depth
4125 void set_bounds(int depth_start
, int depth_end
) {
4126 clutter_behaviour_depth_set_bounds(&this, depth_start
, depth_end
);
4130 // The #ClutterBehaviourDepthClass structure contains only private data
4131 struct BehaviourDepthClass
/* Version 0.2 */ {
4132 private BehaviourClass parent_class
;
4135 struct BehaviourDepthPrivate
{
4139 // The #ClutterBehaviourEllipse struct contains only private data
4140 // and should be accessed using the provided API
4141 struct BehaviourEllipse
/* : Behaviour */ /* Version 0.4 */ {
4142 alias parent_instance
this;
4143 alias parent_instance super_
;
4144 alias parent_instance behaviour
;
4145 Behaviour parent_instance
;
4146 private BehaviourEllipsePrivate
* priv
;
4149 // Creates a behaviour that drives actors along an elliptical path with
4150 // given center, width and height; the movement starts at @start
4151 // degrees (with 0 corresponding to 12 o'clock) and ends at @end
4152 // degrees. Angles greated than 360 degrees get clamped to the canonical
4153 // interval <0, 360); if @start is equal to @end, the behaviour will
4154 // rotate by exacly 360 degrees.
4156 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4157 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4158 // it can be set later with clutter_behaviour_set_alpha().
4159 // RETURNS: the newly created #ClutterBehaviourEllipse
4160 // <alpha>: a #ClutterAlpha instance, or %NULL
4161 // <x>: x coordinace of the center
4162 // <y>: y coordiance of the center
4163 // <width>: width of the ellipse
4164 // <height>: height of the ellipse
4165 // <direction>: #ClutterRotateDirection of rotation
4166 // <start>: angle in degrees at which movement starts, between 0 and 360
4167 // <end>: angle in degrees at which movement ends, between 0 and 360
4168 static BehaviourEllipse
* /*new*/ new_(Alpha
* alpha
, int x
, int y
, int width
, int height
, RotateDirection direction
, double start
, double end
) {
4169 return clutter_behaviour_ellipse_new(alpha
, x
, y
, width
, height
, direction
, start
, end
);
4172 // Gets the at which movements ends.
4173 // RETURNS: angle in degrees
4174 double get_angle_end() {
4175 return clutter_behaviour_ellipse_get_angle_end(&this);
4178 // Gets the angle at which movements starts.
4179 // RETURNS: angle in degrees
4180 double get_angle_start() {
4181 return clutter_behaviour_ellipse_get_angle_start(&this);
4184 // Gets the tilt of the ellipse around the center in the given axis.
4185 // RETURNS: angle in degrees.
4186 // <axis>: a #ClutterRotateAxis
4187 double get_angle_tilt(RotateAxis axis
) {
4188 return clutter_behaviour_ellipse_get_angle_tilt(&this, axis
);
4191 // Gets the center of the elliptical path path.
4192 // <x>: return location for the X coordinate of the center, or %NULL
4193 // <y>: return location for the Y coordinate of the center, or %NULL
4194 void get_center(/*out*/ int* x
, /*out*/ int* y
) {
4195 clutter_behaviour_ellipse_get_center(&this, x
, y
);
4198 // Retrieves the #ClutterRotateDirection used by the ellipse behaviour.
4199 // RETURNS: the rotation direction
4200 RotateDirection
get_direction() {
4201 return clutter_behaviour_ellipse_get_direction(&this);
4204 // Gets the height of the elliptical path.
4205 // RETURNS: the height of the path
4207 return clutter_behaviour_ellipse_get_height(&this);
4210 // Gets the tilt of the ellipse around the center in Y axis.
4211 // <angle_tilt_x>: return location for tilt angle on the X axis, or %NULL.
4212 // <angle_tilt_y>: return location for tilt angle on the Y axis, or %NULL.
4213 // <angle_tilt_z>: return location for tilt angle on the Z axis, or %NULL.
4214 void get_tilt(/*out*/ double* angle_tilt_x
, /*out*/ double* angle_tilt_y
, /*out*/ double* angle_tilt_z
) {
4215 clutter_behaviour_ellipse_get_tilt(&this, angle_tilt_x
, angle_tilt_y
, angle_tilt_z
);
4218 // Gets the width of the elliptical path.
4219 // RETURNS: the width of the path
4221 return clutter_behaviour_ellipse_get_width(&this);
4224 // Sets the angle at which movement ends; angles >= 360 degress get clamped
4225 // to the canonical interval <0, 360).
4226 // <angle_end>: angle at which movement ends in degrees, between 0 and 360.
4227 void set_angle_end(double angle_end
) {
4228 clutter_behaviour_ellipse_set_angle_end(&this, angle_end
);
4231 // Sets the angle at which movement starts; angles >= 360 degress get clamped
4232 // to the canonical interval <0, 360).
4233 // <angle_start>: angle at which movement starts in degrees, between 0 and 360.
4234 void set_angle_start(double angle_start
) {
4235 clutter_behaviour_ellipse_set_angle_start(&this, angle_start
);
4238 // Sets the angle at which the ellipse should be tilted around it's center.
4239 // <axis>: a #ClutterRotateAxis
4240 // <angle_tilt>: tilt of the elipse around the center in the given axis in degrees.
4241 void set_angle_tilt(RotateAxis axis
, double angle_tilt
) {
4242 clutter_behaviour_ellipse_set_angle_tilt(&this, axis
, angle_tilt
);
4245 // Sets the center of the elliptical path to the point represented by knot.
4246 // <x>: x coordinace of centre
4247 // <y>: y coordinace of centre
4248 void set_center(int x
, int y
) {
4249 clutter_behaviour_ellipse_set_center(&this, x
, y
);
4252 // Sets the rotation direction used by the ellipse behaviour.
4253 // <direction>: the rotation direction
4254 void set_direction(RotateDirection direction
) {
4255 clutter_behaviour_ellipse_set_direction(&this, direction
);
4258 // Sets the height of the elliptical path.
4259 // <height>: height of the ellipse
4260 void set_height(int height
) {
4261 clutter_behaviour_ellipse_set_height(&this, height
);
4264 // Sets the angles at which the ellipse should be tilted around it's center.
4265 // <angle_tilt_x>: tilt of the elipse around the center in X axis in degrees.
4266 // <angle_tilt_y>: tilt of the elipse around the center in Y axis in degrees.
4267 // <angle_tilt_z>: tilt of the elipse around the center in Z axis in degrees.
4268 void set_tilt(double angle_tilt_x
, double angle_tilt_y
, double angle_tilt_z
) {
4269 clutter_behaviour_ellipse_set_tilt(&this, angle_tilt_x
, angle_tilt_y
, angle_tilt_z
);
4272 // Sets the width of the elliptical path.
4273 // <width>: width of the ellipse
4274 void set_width(int width
) {
4275 clutter_behaviour_ellipse_set_width(&this, width
);
4279 // The #ClutterBehaviourEllipseClass struct contains only private data
4280 struct BehaviourEllipseClass
/* Version 0.4 */ {
4281 private BehaviourClass parent_class
;
4284 struct BehaviourEllipsePrivate
{
4288 // This function is passed to clutter_behaviour_actors_foreach() and
4289 // will be called for each actor driven by @behaviour.
4290 // <behaviour>: the #ClutterBehaviour
4291 // <actor>: an actor driven by @behaviour
4292 // <data>: optional data passed to the function
4293 extern (C
) alias void function (Behaviour
* behaviour
, Actor
* actor
, void* data
) BehaviourForeachFunc
;
4296 // The #ClutterBehaviourOpacity structure contains only private data and
4297 // should be accessed using the provided API
4301 struct BehaviourOpacity
/* : Behaviour */ /* Version 0.2 */ {
4303 alias parent super_
;
4304 alias parent behaviour
;
4306 private BehaviourOpacityPrivate
* priv
;
4309 // Creates a new #ClutterBehaviourOpacity object, driven by @alpha
4310 // which controls the opacity property of every actor, making it
4311 // change in the interval between @opacity_start and @opacity_end.
4313 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4314 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4315 // it can be set later with clutter_behaviour_set_alpha().
4316 // RETURNS: the newly created #ClutterBehaviourOpacity
4317 // <alpha>: a #ClutterAlpha instance, or %NULL
4318 // <opacity_start>: minimum level of opacity
4319 // <opacity_end>: maximum level of opacity
4320 static BehaviourOpacity
* /*new*/ new_(Alpha
* alpha
, ubyte opacity_start
, ubyte opacity_end
) {
4321 return clutter_behaviour_opacity_new(alpha
, opacity_start
, opacity_end
);
4324 // Gets the initial and final levels of the opacity applied by @behaviour
4325 // on each actor it controls.
4326 // <opacity_start>: return location for the minimum level of opacity, or %NULL
4327 // <opacity_end>: return location for the maximum level of opacity, or %NULL
4328 void get_bounds(/*out*/ ubyte* opacity_start
, /*out*/ ubyte* opacity_end
) {
4329 clutter_behaviour_opacity_get_bounds(&this, opacity_start
, opacity_end
);
4332 // Sets the initial and final levels of the opacity applied by @behaviour
4333 // on each actor it controls.
4334 // <opacity_start>: minimum level of opacity
4335 // <opacity_end>: maximum level of opacity
4336 void set_bounds(ubyte opacity_start
, ubyte opacity_end
) {
4337 clutter_behaviour_opacity_set_bounds(&this, opacity_start
, opacity_end
);
4341 // The #ClutterBehaviourOpacityClass structure contains only private data
4342 struct BehaviourOpacityClass
/* Version 0.2 */ {
4343 private BehaviourClass parent_class
;
4346 struct BehaviourOpacityPrivate
{
4350 // The #ClutterBehaviourPath structure contains only private data
4351 // and should be accessed using the provided API
4355 struct BehaviourPath
/* : Behaviour */ /* Version 0.2 */ {
4357 alias parent super_
;
4358 alias parent behaviour
;
4360 private BehaviourPathPrivate
* priv
;
4363 // Creates a new path behaviour. You can use this behaviour to drive
4364 // actors along the nodes of a path, described by @path.
4366 // This will claim the floating reference on the #ClutterPath so you
4367 // do not need to unref if it.
4369 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4370 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4371 // it can be set later with clutter_behaviour_set_alpha().
4372 // RETURNS: a #ClutterBehaviour
4373 // <alpha>: a #ClutterAlpha instance, or %NULL
4374 // <path>: a #ClutterPath or %NULL for an empty path
4375 static BehaviourPath
* /*new*/ new_(Alpha
* alpha
, Path
* path
) {
4376 return clutter_behaviour_path_new(alpha
, path
);
4379 // Creates a new path behaviour using the path described by @desc. See
4380 // clutter_path_add_string() for a description of the format.
4382 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4383 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4384 // it can be set later with clutter_behaviour_set_alpha().
4385 // RETURNS: a #ClutterBehaviour
4386 // <alpha>: a #ClutterAlpha instance, or %NULL
4387 // <desc>: a string description of the path
4388 static BehaviourPath
* /*new*/ new_with_description(Alpha
* alpha
, char* desc
) {
4389 return clutter_behaviour_path_new_with_description(alpha
, desc
);
4392 // Creates a new path behaviour that will make the actors visit all of
4393 // the given knots in order with straight lines in between.
4395 // A path will be created where the first knot is used in a
4396 // %CLUTTER_PATH_MOVE_TO and the subsequent knots are used in
4397 // %CLUTTER_PATH_LINE_TO<!-- -->s.
4399 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4400 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4401 // it can be set later with clutter_behaviour_set_alpha().
4402 // RETURNS: a #ClutterBehaviour
4403 // <alpha>: a #ClutterAlpha instance, or %NULL
4404 // <knots>: an array of #ClutterKnot<!-- -->s
4405 // <n_knots>: number of entries in @knots
4406 static BehaviourPath
* /*new*/ new_with_knots(Alpha
* alpha
, Knot
* knots
, uint n_knots
) {
4407 return clutter_behaviour_path_new_with_knots(alpha
, knots
, n_knots
);
4410 // Get the current path of the behaviour
4411 // RETURNS: the path
4413 return clutter_behaviour_path_get_path(&this);
4416 // Change the path that the actors will follow. This will take the
4417 // floating reference on the #ClutterPath so you do not need to unref
4419 // <path>: the new path to follow
4420 void set_path(Path
* path
) {
4421 clutter_behaviour_path_set_path(&this, path
);
4424 // This signal is emitted each time a node defined inside the path
4426 // <knot_num>: the index of the #ClutterKnot reached
4427 extern (C
) alias static void function (BehaviourPath
* this_
, c_uint knot_num
, void* user_data
=null) signal_knot_reached
;
4429 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4430 return super_
.signal_connect
!name(cb
, data
, cf
);
4433 ulong signal_connect(string name
:"knot-reached", CB
:signal_knot_reached
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
4434 return signal_connect_data(&this, cast(char*)"knot-reached",
4435 cast(GObject2
.Callback
)cb
, data
, null, cf
);
4439 // The #ClutterBehaviourPathClass struct contains only private data
4440 struct BehaviourPathClass
/* Version 0.2 */ {
4441 private BehaviourClass parent_class
;
4442 extern (C
) void function (BehaviourPath
* pathb
, uint knot_num
) knot_reached
;
4443 extern (C
) void function () _clutter_path_1
;
4444 extern (C
) void function () _clutter_path_2
;
4445 extern (C
) void function () _clutter_path_3
;
4446 extern (C
) void function () _clutter_path_4
;
4449 struct BehaviourPathPrivate
{
4452 struct BehaviourPrivate
{
4456 // The #ClutterBehaviourRotate struct contains only private data and
4457 // should be accessed using the provided API
4458 struct BehaviourRotate
/* : Behaviour */ /* Version 0.4 */ {
4459 alias parent_instance
this;
4460 alias parent_instance super_
;
4461 alias parent_instance behaviour
;
4462 Behaviour parent_instance
;
4463 private BehaviourRotatePrivate
* priv
;
4466 // Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors
4467 // bound to it on @axis, following @direction, between @angle_start and
4468 // @angle_end. Angles >= 360 degrees will be clamped to the canonical interval
4469 // <0, 360), if angle_start == angle_end, the behaviour will carry out a
4470 // single rotation of 360 degrees.
4472 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4473 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4474 // it can be set later with clutter_behaviour_set_alpha().
4475 // RETURNS: the newly created #ClutterBehaviourRotate.
4476 // <alpha>: a #ClutterAlpha instance, or %NULL
4477 // <axis>: the rotation axis
4478 // <direction>: the rotation direction
4479 // <angle_start>: the starting angle in degrees, between 0 and 360.
4480 // <angle_end>: the final angle in degrees, between 0 and 360.
4481 static BehaviourRotate
* /*new*/ new_(Alpha
* alpha
, RotateAxis axis
, RotateDirection direction
, double angle_start
, double angle_end
) {
4482 return clutter_behaviour_rotate_new(alpha
, axis
, direction
, angle_start
, angle_end
);
4485 // Retrieves the #ClutterRotateAxis used by the rotate behaviour.
4486 // RETURNS: the rotation axis
4487 RotateAxis
get_axis() {
4488 return clutter_behaviour_rotate_get_axis(&this);
4491 // Retrieves the rotation boundaries of the rotate behaviour.
4492 // <angle_start>: return value for the initial angle
4493 // <angle_end>: return value for the final angle
4494 void get_bounds(/*out*/ double* angle_start
, /*out*/ double* angle_end
) {
4495 clutter_behaviour_rotate_get_bounds(&this, angle_start
, angle_end
);
4498 // Retrieves the center of rotation set using
4499 // clutter_behaviour_rotate_set_center().
4500 // <x>: return location for the X center of rotation
4501 // <y>: return location for the Y center of rotation
4502 // <z>: return location for the Z center of rotation
4503 void get_center(/*out*/ int* x
, /*out*/ int* y
, /*out*/ int* z
) {
4504 clutter_behaviour_rotate_get_center(&this, x
, y
, z
);
4507 // Retrieves the #ClutterRotateDirection used by the rotate behaviour.
4508 // RETURNS: the rotation direction
4509 RotateDirection
get_direction() {
4510 return clutter_behaviour_rotate_get_direction(&this);
4513 // Sets the axis used by the rotate behaviour.
4514 // <axis>: a #ClutterRotateAxis
4515 void set_axis(RotateAxis axis
) {
4516 clutter_behaviour_rotate_set_axis(&this, axis
);
4519 // Sets the initial and final angles of a rotation behaviour; angles >= 360
4520 // degrees get clamped to the canonical interval <0, 360).
4521 // <angle_start>: initial angle in degrees, between 0 and 360.
4522 // <angle_end>: final angle in degrees, between 0 and 360.
4523 void set_bounds(double angle_start
, double angle_end
) {
4524 clutter_behaviour_rotate_set_bounds(&this, angle_start
, angle_end
);
4527 // Sets the center of rotation. The coordinates are relative to the plane
4528 // normal to the rotation axis set with clutter_behaviour_rotate_set_axis().
4529 // <x>: X axis center of rotation
4530 // <y>: Y axis center of rotation
4531 // <z>: Z axis center of rotation
4532 void set_center(int x
, int y
, int z
) {
4533 clutter_behaviour_rotate_set_center(&this, x
, y
, z
);
4536 // Sets the rotation direction used by the rotate behaviour.
4537 // <direction>: the rotation direction
4538 void set_direction(RotateDirection direction
) {
4539 clutter_behaviour_rotate_set_direction(&this, direction
);
4543 // The #ClutterBehaviourRotateClass struct contains only private data
4544 struct BehaviourRotateClass
/* Version 0.4 */ {
4545 private BehaviourClass parent_class
;
4548 struct BehaviourRotatePrivate
{
4552 // The #ClutterBehaviourScale struct contains only private data and
4553 // should be accessed using the provided API
4556 // and #ClutterActor:scale-y instead.
4557 struct BehaviourScale
/* : Behaviour */ /* Version 0.2 */ {
4558 alias parent_instance
this;
4559 alias parent_instance super_
;
4560 alias parent_instance behaviour
;
4561 Behaviour parent_instance
;
4562 private BehaviourScalePrivate
* priv
;
4565 // Creates a new #ClutterBehaviourScale instance.
4567 // If @alpha is not %NULL, the #ClutterBehaviour will take ownership
4568 // of the #ClutterAlpha instance. In the case when @alpha is %NULL,
4569 // it can be set later with clutter_behaviour_set_alpha().
4570 // RETURNS: the newly created #ClutterBehaviourScale
4571 // <alpha>: a #ClutterAlpha instance, or %NULL
4572 // <x_scale_start>: initial scale factor on the X axis
4573 // <y_scale_start>: initial scale factor on the Y axis
4574 // <x_scale_end>: final scale factor on the X axis
4575 // <y_scale_end>: final scale factor on the Y axis
4576 static BehaviourScale
* /*new*/ new_(Alpha
* alpha
, double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
) {
4577 return clutter_behaviour_scale_new(alpha
, x_scale_start
, y_scale_start
, x_scale_end
, y_scale_end
);
4580 // Retrieves the bounds used by scale behaviour.
4581 // <x_scale_start>: return location for the initial scale factor on the X axis, or %NULL
4582 // <y_scale_start>: return location for the initial scale factor on the Y axis, or %NULL
4583 // <x_scale_end>: return location for the final scale factor on the X axis, or %NULL
4584 // <y_scale_end>: return location for the final scale factor on the Y axis, or %NULL
4585 void get_bounds(/*out*/ double* x_scale_start
, /*out*/ double* y_scale_start
, /*out*/ double* x_scale_end
, /*out*/ double* y_scale_end
) {
4586 clutter_behaviour_scale_get_bounds(&this, x_scale_start
, y_scale_start
, x_scale_end
, y_scale_end
);
4589 // Sets the bounds used by scale behaviour.
4590 // <x_scale_start>: initial scale factor on the X axis
4591 // <y_scale_start>: initial scale factor on the Y axis
4592 // <x_scale_end>: final scale factor on the X axis
4593 // <y_scale_end>: final scale factor on the Y axis
4594 void set_bounds(double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
) {
4595 clutter_behaviour_scale_set_bounds(&this, x_scale_start
, y_scale_start
, x_scale_end
, y_scale_end
);
4599 // The #ClutterBehaviourScaleClass struct contains only private data
4600 struct BehaviourScaleClass
/* Version 0.2 */ {
4601 private BehaviourClass parent_class
;
4604 struct BehaviourScalePrivate
{
4607 // The alignment policies available on each axis for #ClutterBinLayout
4608 enum BinAlignment
/* Version 1.2 */ {
4616 // The #ClutterBinLayout structure contains only private data
4617 // and should be accessed using the provided API
4618 struct BinLayout
/* : LayoutManager */ /* Version 1.2 */ {
4619 alias parent_instance
this;
4620 alias parent_instance super_
;
4621 alias parent_instance layoutmanager
;
4622 LayoutManager parent_instance
;
4623 private BinLayoutPrivate
* priv
;
4626 // Creates a new #ClutterBinLayout layout manager
4627 // RETURNS: the newly created layout manager
4628 // <x_align>: the default alignment policy to be used on the horizontal axis
4629 // <y_align>: the default alignment policy to be used on the vertical axis
4630 static BinLayout
* new_(BinAlignment x_align
, BinAlignment y_align
) {
4631 return clutter_bin_layout_new(x_align
, y_align
);
4634 // Adds a #ClutterActor to the container using @self and
4635 // sets the alignment policies for it
4637 // This function is equivalent to clutter_container_add_actor()
4638 // and clutter_layout_manager_child_set_property() but it does not
4639 // require a pointer to the #ClutterContainer associated to the
4640 // #ClutterBinLayout
4641 // <child>: a #ClutterActor
4642 // <x_align>: horizontal alignment policy for @child
4643 // <y_align>: vertical alignment policy for @child
4644 void add(Actor
* child
, BinAlignment x_align
, BinAlignment y_align
) {
4645 clutter_bin_layout_add(&this, child
, x_align
, y_align
);
4648 // Retrieves the horizontal and vertical alignment policies for
4651 // If @child is %NULL the default alignment policies will be returned
4653 // <child>: a child of @container
4654 // <x_align>: return location for the horizontal alignment policy
4655 // <y_align>: return location for the vertical alignment policy
4656 void get_alignment(Actor
* child
=null, /*out*/ BinAlignment
* x_align
=null, /*out*/ BinAlignment
* y_align
=null) {
4657 clutter_bin_layout_get_alignment(&this, child
, x_align
, y_align
);
4660 // Sets the horizontal and vertical alignment policies to be applied
4661 // to a @child of @self
4663 // If @child is %NULL then the @x_align and @y_align values will
4664 // be set as the default alignment policies
4665 // <child>: a child of @container
4666 // <x_align>: the horizontal alignment policy to be used for the @child inside @container
4667 // <y_align>: the vertical aligment policy to be used on the @child inside @container
4668 void set_alignment(Actor
* child
, BinAlignment x_align
, BinAlignment y_align
) {
4669 clutter_bin_layout_set_alignment(&this, child
, x_align
, y_align
);
4674 // The #ClutterBinLayoutClass structure contains only private
4675 // data and should be accessed using the provided API
4676 struct BinLayoutClass
/* Version 1.2 */ {
4677 private LayoutManagerClass parent_class
;
4680 struct BinLayoutPrivate
{
4684 // <structname>ClutterBindConstraint</structname> is an opaque structure
4685 // whose members cannot be directly accessed
4686 struct BindConstraint
/* : Constraint */ /* Version 1.4 */ {
4687 alias method_parent
this;
4688 alias method_parent super_
;
4689 alias method_parent constraint
;
4690 Constraint method_parent
;
4693 // Creates a new constraint, binding a #ClutterActor's position to
4694 // the given @coordinate of the position of @source
4695 // RETURNS: the newly created #ClutterBindConstraint
4696 // <source>: the #ClutterActor to use as the source of the binding, or %NULL
4697 // <coordinate>: the coordinate to bind
4698 // <offset>: the offset to apply to the binding, in pixels
4699 static BindConstraint
* new_(Actor
* source
, BindCoordinate coordinate
, float offset
) {
4700 return clutter_bind_constraint_new(source
, coordinate
, offset
);
4703 // Retrieves the bound coordinate of the constraint
4704 // RETURNS: the bound coordinate
4705 BindCoordinate
get_coordinate() {
4706 return clutter_bind_constraint_get_coordinate(&this);
4709 // Retrieves the offset set using clutter_bind_constraint_set_offset()
4710 // RETURNS: the offset, in pixels
4711 float get_offset() {
4712 return clutter_bind_constraint_get_offset(&this);
4715 // Retrieves the #ClutterActor set using clutter_bind_constraint_set_source()
4716 // RETURNS: a pointer to the source actor
4717 Actor
* get_source() {
4718 return clutter_bind_constraint_get_source(&this);
4721 // Sets the coordinate to bind in the constraint
4722 // <coordinate>: the coordinate to bind
4723 void set_coordinate(BindCoordinate coordinate
) {
4724 clutter_bind_constraint_set_coordinate(&this, coordinate
);
4727 // Sets the offset to be applied to the constraint
4728 // <offset>: the offset to apply, in pixels
4729 void set_offset(float offset
) {
4730 clutter_bind_constraint_set_offset(&this, offset
);
4733 // Sets the source #ClutterActor for the constraint
4734 // <source>: a #ClutterActor, or %NULL to unset the source
4735 void set_source(Actor
* source
=null) {
4736 clutter_bind_constraint_set_source(&this, source
);
4740 struct BindConstraintClass
{
4743 // Specifies which property should be used in a binding
4744 enum BindCoordinate
/* Version 1.4 */ {
4753 // The prototype for the callback function registered with
4754 // clutter_binding_pool_install_action() and invoked by
4755 // clutter_binding_pool_activate().
4757 // binding has been handled, and return %FALSE otherwise
4758 // RETURNS: the function should return %TRUE if the key
4759 // <gobject>: a #GObject
4760 // <action_name>: the name of the action
4761 // <key_val>: the key symbol
4762 // <modifiers>: bitmask of the modifier flags
4763 extern (C
) alias int function (GObject2
.Object
* gobject
, char* action_name
, uint key_val
, ModifierType modifiers
) BindingActionFunc
;
4766 // Container of key bindings. The #ClutterBindingPool struct is
4768 struct BindingPool
/* : GObject.Object */ /* Version 1.0 */ {
4769 alias method_parent
this;
4770 alias method_parent super_
;
4771 alias method_parent object
;
4772 GObject2
.Object method_parent
;
4775 // Creates a new #ClutterBindingPool that can be used to store
4776 // key bindings for an actor. The @name must be a unique identifier
4777 // for the binding pool, so that clutter_binding_pool_find() will
4778 // be able to return the correct binding pool.
4780 // name. Use g_object_unref() when done.
4781 // RETURNS: the newly created binding pool with the given
4782 // <name>: the name of the binding pool
4783 static BindingPool
* /*new*/ new_(char* name
) {
4784 return clutter_binding_pool_new(name
);
4787 // Finds the #ClutterBindingPool with @name.
4788 // RETURNS: a pointer to the #ClutterBindingPool, or %NULL
4789 // <name>: the name of the binding pool to find
4790 static BindingPool
* find(char* name
) {
4791 return clutter_binding_pool_find(name
);
4794 // Retrieves the #ClutterBindingPool for the given #GObject class
4795 // and, eventually, creates it. This function is a wrapper around
4796 // clutter_binding_pool_new() and uses the class type name as the
4797 // unique name for the binding pool.
4799 // Calling this function multiple times will return the same
4800 // #ClutterBindingPool.
4802 // A binding pool for a class can also be retrieved using
4803 // clutter_binding_pool_find() with the class type name:
4806 // pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
4809 // The returned #ClutterBindingPool is owned by Clutter and should not
4810 // be freed directly
4811 // RETURNS: the binding pool for the given class.
4812 // <klass>: a #GObjectClass pointer
4813 static BindingPool
* get_for_class(void* klass
) {
4814 return clutter_binding_pool_get_for_class(klass
);
4817 // Activates the callback associated to the action that is
4818 // bound to the @key_val and @modifiers pair.
4820 // The callback has the following signature:
4823 // void (* callback) (GObject *gobject,
4824 // const gchar *action_name,
4826 // ClutterModifierType modifiers,
4827 // gpointer user_data);
4830 // Where the #GObject instance is @gobject and the user data
4831 // is the one passed when installing the action with
4832 // clutter_binding_pool_install_action().
4834 // If the action bound to the @key_val, @modifiers pair has been
4835 // blocked using clutter_binding_pool_block_action(), the callback
4836 // will not be invoked, and this function will return %FALSE.
4837 // RETURNS: %TRUE if an action was found and was activated
4838 // <key_val>: the key symbol
4839 // <modifiers>: bitmask for the modifiers
4840 // <gobject>: a #GObject
4841 int activate(uint key_val
, ModifierType modifiers
, GObject2
.Object
* gobject
) {
4842 return clutter_binding_pool_activate(&this, key_val
, modifiers
, gobject
);
4845 // Blocks all the actions with name @action_name inside @pool.
4846 // <action_name>: an action name
4847 void block_action(char* action_name
) {
4848 clutter_binding_pool_block_action(&this, action_name
);
4851 // Retrieves the name of the action matching the given key symbol
4852 // and modifiers bitmask.
4854 // returned string is owned by the binding pool and should never
4855 // be modified or freed
4856 // RETURNS: the name of the action, if found, or %NULL. The
4857 // <key_val>: a key symbol
4858 // <modifiers>: a bitmask for the modifiers
4859 char* find_action(uint key_val
, ModifierType modifiers
) {
4860 return clutter_binding_pool_find_action(&this, key_val
, modifiers
);
4863 // Installs a new action inside a #ClutterBindingPool. The action
4864 // is bound to @key_val and @modifiers.
4866 // The same action name can be used for multiple @key_val, @modifiers
4869 // When an action has been activated using clutter_binding_pool_activate()
4870 // the passed @callback will be invoked (with @data).
4872 // Actions can be blocked with clutter_binding_pool_block_action()
4873 // and then unblocked using clutter_binding_pool_unblock_action().
4874 // <action_name>: the name of the action
4875 // <key_val>: key symbol
4876 // <modifiers>: bitmask of modifiers
4877 // <callback>: function to be called when the action is activated
4878 // <data>: data to be passed to @callback
4879 // <notify>: function to be called when the action is removed from the pool
4880 void install_action(char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
) {
4881 clutter_binding_pool_install_action(&this, action_name
, key_val
, modifiers
, callback
, data
, notify
);
4884 // A #GClosure variant of clutter_binding_pool_install_action().
4886 // Installs a new action inside a #ClutterBindingPool. The action
4887 // is bound to @key_val and @modifiers.
4889 // The same action name can be used for multiple @key_val, @modifiers
4892 // When an action has been activated using clutter_binding_pool_activate()
4893 // the passed @closure will be invoked.
4895 // Actions can be blocked with clutter_binding_pool_block_action()
4896 // and then unblocked using clutter_binding_pool_unblock_action().
4897 // <action_name>: the name of the action
4898 // <key_val>: key symbol
4899 // <modifiers>: bitmask of modifiers
4900 // <closure>: a #GClosure
4901 void install_closure(char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
) {
4902 clutter_binding_pool_install_closure(&this, action_name
, key_val
, modifiers
, closure
);
4905 // Allows overriding the action for @key_val and @modifiers inside a
4906 // #ClutterBindingPool. See clutter_binding_pool_install_action().
4908 // When an action has been activated using clutter_binding_pool_activate()
4909 // the passed @callback will be invoked (with @data).
4911 // Actions can be blocked with clutter_binding_pool_block_action()
4912 // and then unblocked using clutter_binding_pool_unblock_action().
4913 // <key_val>: key symbol
4914 // <modifiers>: bitmask of modifiers
4915 // <callback>: function to be called when the action is activated
4916 // <data>: data to be passed to @callback
4917 // <notify>: function to be called when the action is removed from the pool
4918 void override_action(uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
) {
4919 clutter_binding_pool_override_action(&this, key_val
, modifiers
, callback
, data
, notify
);
4922 // A #GClosure variant of clutter_binding_pool_override_action().
4924 // Allows overriding the action for @key_val and @modifiers inside a
4925 // #ClutterBindingPool. See clutter_binding_pool_install_closure().
4927 // When an action has been activated using clutter_binding_pool_activate()
4928 // the passed @callback will be invoked (with @data).
4930 // Actions can be blocked with clutter_binding_pool_block_action()
4931 // and then unblocked using clutter_binding_pool_unblock_action().
4932 // <key_val>: key symbol
4933 // <modifiers>: bitmask of modifiers
4934 // <closure>: a #GClosure
4935 void override_closure(uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
) {
4936 clutter_binding_pool_override_closure(&this, key_val
, modifiers
, closure
);
4939 // Removes the action matching the given @key_val, @modifiers pair,
4941 // <key_val>: a key symbol
4942 // <modifiers>: a bitmask for the modifiers
4943 void remove_action(uint key_val
, ModifierType modifiers
) {
4944 clutter_binding_pool_remove_action(&this, key_val
, modifiers
);
4947 // Unblockes all the actions with name @action_name inside @pool.
4949 // Unblocking an action does not cause the callback bound to it to
4950 // be invoked in case clutter_binding_pool_activate() was called on
4951 // an action previously blocked with clutter_binding_pool_block_action().
4952 // <action_name>: an action name
4953 void unblock_action(char* action_name
) {
4954 clutter_binding_pool_unblock_action(&this, action_name
);
4958 struct BindingPoolClass
{
4961 enum int Blue
= 269025190;
4962 enum int Bluetooth
= 269025172;
4964 // <structname>ClutterBlurEffect</structname> is an opaque structure
4965 // whose members cannot be accessed directly
4966 struct BlurEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
4967 alias method_parent
this;
4968 alias method_parent super_
;
4969 alias method_parent offscreeneffect
;
4970 OffscreenEffect method_parent
;
4973 // Creates a new #ClutterBlurEffect to be used with
4974 // clutter_actor_add_effect()
4975 // RETURNS: the newly created #ClutterBlurEffect or %NULL
4976 static BlurEffect
* new_() {
4977 return clutter_blur_effect_new();
4981 struct BlurEffectClass
{
4984 enum int Book
= 269025106;
4985 enum int BounceKeys_Enable
= 65140;
4987 // The #ClutterBox structure contains only private data and should
4988 // be accessed using the provided API
4989 struct Box
/* : Actor */ /* Version 1.2 */ {
4990 alias parent_instance
this;
4991 alias parent_instance super_
;
4992 alias parent_instance actor
;
4993 Actor parent_instance
;
4994 private BoxPrivate
* priv
;
4997 // Creates a new #ClutterBox. The children of the box will be layed
4998 // out by the passed @manager
4999 // RETURNS: the newly created #ClutterBox actor
5000 // <manager>: a #ClutterLayoutManager
5001 static Box
* new_(LayoutManager
* manager
) {
5002 return clutter_box_new(manager
);
5005 // Retrieves the background color of @box
5007 // If the #ClutterBox:color-set property is set to %FALSE the
5008 // returned #ClutterColor is undefined
5009 // <color>: return location for a #ClutterColor
5010 void get_color(/*out*/ Color
* color
) {
5011 clutter_box_get_color(&this, color
);
5014 // Retrieves the #ClutterLayoutManager instance used by @box
5016 // #ClutterLayoutManager is owned by the #ClutterBox and it should not
5018 // RETURNS: a #ClutterLayoutManager. The returned
5019 LayoutManager
* get_layout_manager() {
5020 return clutter_box_get_layout_manager(&this);
5023 // Unintrospectable method: pack() / clutter_box_pack()
5024 // Adds @actor to @box and sets layout properties at the same time,
5025 // if the #ClutterLayoutManager used by @box has them
5027 // This function is a wrapper around clutter_container_add_actor()
5028 // and clutter_layout_manager_child_set()
5030 // Language bindings should use the vector-based clutter_box_packv()
5032 // <actor>: a #ClutterActor
5033 // <first_property>: the name of the first property to set, or %NULL
5034 /+ Not available -- variadic methods unsupported - use the C function directly.
5035 alias clutter_box_pack pack; // Variadic
5038 // Unintrospectable method: pack_after() / clutter_box_pack_after()
5039 // Adds @actor to @box, placing it after @sibling, and sets layout
5040 // properties at the same time, if the #ClutterLayoutManager used by
5041 // @box supports them
5043 // If @sibling is %NULL then @actor is placed at the end of the
5044 // list of children, to be allocated and painted after every other child
5046 // This function is a wrapper around clutter_container_add_actor(),
5047 // clutter_container_raise_child() and clutter_layout_manager_child_set()
5048 // <actor>: a #ClutterActor
5049 // <sibling>: a #ClutterActor or %NULL
5050 // <first_property>: the name of the first property to set, or %NULL
5051 /+ Not available -- variadic methods unsupported - use the C function directly.
5052 alias clutter_box_pack_after pack_after; // Variadic
5055 // Unintrospectable method: pack_at() / clutter_box_pack_at()
5056 // Adds @actor to @box, placing it at @position, and sets layout
5057 // properties at the same time, if the #ClutterLayoutManager used by
5058 // @box supports them
5060 // If @position is a negative number, or is larger than the number of
5061 // children of @box, the new child is added at the end of the list of
5063 // <actor>: a #ClutterActor
5064 // <position>: the position to insert the @actor at
5065 // <first_property>: the name of the first property to set, or %NULL
5066 /+ Not available -- variadic methods unsupported - use the C function directly.
5067 alias clutter_box_pack_at pack_at; // Variadic
5070 // Unintrospectable method: pack_before() / clutter_box_pack_before()
5071 // Adds @actor to @box, placing it before @sibling, and sets layout
5072 // properties at the same time, if the #ClutterLayoutManager used by
5073 // @box supports them
5075 // If @sibling is %NULL then @actor is placed at the beginning of the
5076 // list of children, to be allocated and painted below every other child
5078 // This function is a wrapper around clutter_container_add_actor(),
5079 // clutter_container_lower_child() and clutter_layout_manager_child_set()
5080 // <actor>: a #ClutterActor
5081 // <sibling>: a #ClutterActor or %NULL
5082 // <first_property>: the name of the first property to set, or %NULL
5083 /+ Not available -- variadic methods unsupported - use the C function directly.
5084 alias clutter_box_pack_before pack_before; // Variadic
5087 // Vector-based variant of clutter_box_pack(), intended for language
5089 // <actor>: a #ClutterActor
5090 // <n_properties>: the number of properties to set
5091 // <properties>: a vector containing the property names to set
5092 // <values>: a vector containing the property values to set
5093 void packv(Actor
* actor
, uint n_properties
, char* properties
, GObject2
.Value
* values
) {
5094 clutter_box_packv(&this, actor
, n_properties
, properties
, values
);
5097 // Sets (or unsets) the background color for @box
5098 // <color>: the background color, or %NULL to unset
5099 void set_color(Color
* color
=null) {
5100 clutter_box_set_color(&this, color
);
5103 // Sets the #ClutterLayoutManager for @box
5105 // A #ClutterLayoutManager is a delegate object that controls the
5106 // layout of the children of @box
5107 // <manager>: a #ClutterLayoutManager
5108 void set_layout_manager(LayoutManager
* manager
) {
5109 clutter_box_set_layout_manager(&this, manager
);
5113 // The alignment policies available on each axis of the #ClutterBoxLayout
5114 enum BoxAlignment
/* Version 1.2 */ {
5119 // The #ClutterBoxClass structure contains only private data
5120 struct BoxClass
/* Version 1.2 */ {
5121 private ActorClass parent_class
;
5122 extern (C
) void function () clutter_padding_1
;
5123 extern (C
) void function () clutter_padding_2
;
5124 extern (C
) void function () clutter_padding_3
;
5125 extern (C
) void function () clutter_padding_4
;
5126 extern (C
) void function () clutter_padding_5
;
5127 extern (C
) void function () clutter_padding_6
;
5131 // The #ClutterBoxLayout structure contains only private data
5132 // and should be accessed using the provided API
5133 struct BoxLayout
/* : LayoutManager */ /* Version 1.2 */ {
5134 alias parent_instance
this;
5135 alias parent_instance super_
;
5136 alias parent_instance layoutmanager
;
5137 LayoutManager parent_instance
;
5138 private BoxLayoutPrivate
* priv
;
5141 // Creates a new #ClutterBoxLayout layout manager
5142 // RETURNS: the newly created #ClutterBoxLayout
5143 static BoxLayout
* new_() {
5144 return clutter_box_layout_new();
5147 // Retrieves the horizontal and vertical alignment policies for @actor
5148 // as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment()
5149 // <actor>: a #ClutterActor child of @layout
5150 // <x_align>: return location for the horizontal alignment policy
5151 // <y_align>: return location for the vertical alignment policy
5152 void get_alignment(Actor
* actor
, /*out*/ BoxAlignment
* x_align
, /*out*/ BoxAlignment
* y_align
) {
5153 clutter_box_layout_get_alignment(&this, actor
, x_align
, y_align
);
5156 // Retrieves the duration set using clutter_box_layout_set_easing_duration()
5157 // RETURNS: the duration of the animations, in milliseconds
5158 uint get_easing_duration() {
5159 return clutter_box_layout_get_easing_duration(&this);
5162 // Retrieves the easing mode set using clutter_box_layout_set_easing_mode()
5163 // RETURNS: an easing mode
5164 c_ulong
get_easing_mode() {
5165 return clutter_box_layout_get_easing_mode(&this);
5168 // Retrieves whether @actor should expand inside @layout
5169 // RETURNS: %TRUE if the #ClutterActor should expand, %FALSE otherwise
5170 // <actor>: a #ClutterActor child of @layout
5171 int get_expand(Actor
* actor
) {
5172 return clutter_box_layout_get_expand(&this, actor
);
5175 // Retrieves the horizontal and vertical fill policies for @actor
5176 // as set using clutter_box_layout_pack() or clutter_box_layout_set_fill()
5177 // <actor>: a #ClutterActor child of @layout
5178 // <x_fill>: return location for the horizontal fill policy
5179 // <y_fill>: return location for the vertical fill policy
5180 void get_fill(Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
) {
5181 clutter_box_layout_get_fill(&this, actor
, x_fill
, y_fill
);
5184 // Retrieves if the children sizes are allocated homogeneously.
5186 // homogeneously, and %FALSE otherwise
5187 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
5188 int get_homogeneous() {
5189 return clutter_box_layout_get_homogeneous(&this);
5192 // Retrieves the value set using clutter_box_layout_set_pack_start()
5194 // at the beginning of the layout, and %FALSE otherwise
5195 // RETURNS: %TRUE if the #ClutterBoxLayout should pack children
5196 int get_pack_start() {
5197 return clutter_box_layout_get_pack_start(&this);
5200 // Retrieves the spacing set using clutter_box_layout_set_spacing()
5201 // RETURNS: the spacing between children of the #ClutterBoxLayout
5202 uint get_spacing() {
5203 return clutter_box_layout_get_spacing(&this);
5206 // Retrieves whether @layout should animate changes in the layout properties
5208 // Since clutter_box_layout_set_use_animations()
5209 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
5210 int get_use_animations() {
5211 return clutter_box_layout_get_use_animations(&this);
5214 // Retrieves the orientation of the @layout as set using the
5215 // clutter_box_layout_set_vertical() function
5217 // vertically, and %FALSE otherwise
5218 // RETURNS: %TRUE if the #ClutterBoxLayout is arranging its children
5219 int get_vertical() {
5220 return clutter_box_layout_get_vertical(&this);
5223 // Packs @actor inside the #ClutterContainer associated to @layout
5224 // and sets the layout properties
5225 // <actor>: a #ClutterActor
5226 // <expand>: whether the @actor should expand
5227 // <x_fill>: whether the @actor should fill horizontally
5228 // <y_fill>: whether the @actor should fill vertically
5229 // <x_align>: the horizontal alignment policy for @actor
5230 // <y_align>: the vertical alignment policy for @actor
5231 void pack(Actor
* actor
, int expand
, int x_fill
, int y_fill
, BoxAlignment x_align
, BoxAlignment y_align
) {
5232 clutter_box_layout_pack(&this, actor
, expand
, x_fill
, y_fill
, x_align
, y_align
);
5235 // Sets the horizontal and vertical alignment policies for @actor
5237 // <actor>: a #ClutterActor child of @layout
5238 // <x_align>: Horizontal alignment policy for @actor
5239 // <y_align>: Vertical alignment policy for @actor
5240 void set_alignment(Actor
* actor
, BoxAlignment x_align
, BoxAlignment y_align
) {
5241 clutter_box_layout_set_alignment(&this, actor
, x_align
, y_align
);
5244 // Sets the duration of the animations used by @layout when animating changes
5245 // in the layout properties
5247 // Use clutter_box_layout_set_use_animations() to enable and disable the
5249 // <msecs>: the duration of the animations, in milliseconds
5250 void set_easing_duration(uint msecs
) {
5251 clutter_box_layout_set_easing_duration(&this, msecs
);
5254 // Sets the easing mode to be used by @layout when animating changes in layout
5257 // Use clutter_box_layout_set_use_animations() to enable and disable the
5259 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
5260 void set_easing_mode(c_ulong mode
) {
5261 clutter_box_layout_set_easing_mode(&this, mode
);
5264 // Sets whether @actor should expand inside @layout
5265 // <actor>: a #ClutterActor child of @layout
5266 // <expand>: whether @actor should expand
5267 void set_expand(Actor
* actor
, int expand
) {
5268 clutter_box_layout_set_expand(&this, actor
, expand
);
5271 // Sets the horizontal and vertical fill policies for @actor
5273 // <actor>: a #ClutterActor child of @layout
5274 // <x_fill>: whether @actor should fill horizontally the allocated space
5275 // <y_fill>: whether @actor should fill vertically the allocated space
5276 void set_fill(Actor
* actor
, int x_fill
, int y_fill
) {
5277 clutter_box_layout_set_fill(&this, actor
, x_fill
, y_fill
);
5280 // Sets whether the size of @layout children should be
5282 // <homogeneous>: %TRUE if the layout should be homogeneous
5283 void set_homogeneous(int homogeneous
) {
5284 clutter_box_layout_set_homogeneous(&this, homogeneous
);
5287 // Sets whether children of @layout should be layed out by appending
5288 // them or by prepending them
5289 // <pack_start>: %TRUE if the @layout should pack children at the beginning of the layout
5290 void set_pack_start(int pack_start
) {
5291 clutter_box_layout_set_pack_start(&this, pack_start
);
5294 // Sets the spacing between children of @layout
5295 // <spacing>: the spacing between children of the layout, in pixels
5296 void set_spacing(uint spacing
) {
5297 clutter_box_layout_set_spacing(&this, spacing
);
5300 // Sets whether @layout should animate changes in the layout properties
5302 // The duration of the animations is controlled by
5303 // clutter_box_layout_set_easing_duration(); the easing mode to be used
5304 // by the animations is controlled by clutter_box_layout_set_easing_mode()
5305 // <animate>: %TRUE if the @layout should use animations
5306 void set_use_animations(int animate
) {
5307 clutter_box_layout_set_use_animations(&this, animate
);
5310 // Sets whether @layout should arrange its children vertically alongside
5311 // the Y axis, instead of horizontally alongside the X axis
5312 // <vertical>: %TRUE if the layout should be vertical
5313 void set_vertical(int vertical
) {
5314 clutter_box_layout_set_vertical(&this, vertical
);
5319 // The #ClutterBoxLayoutClass structure contains only private
5320 // data and should be accessed using the provided API
5321 struct BoxLayoutClass
/* Version 1.2 */ {
5322 private LayoutManagerClass parent_class
;
5325 struct BoxLayoutPrivate
{
5331 enum int Break
= 65387;
5332 enum int BrightnessAdjust
= 269025083;
5336 // The event coordinates are relative to the stage that received the
5337 // event, and can be transformed into actor-relative coordinates by
5338 // using clutter_actor_transform_stage_point().
5339 struct ButtonEvent
/* Version 0.2 */ {
5346 ModifierType modifier_state
;
5350 InputDevice
* device
;
5353 enum int Byelorussian_SHORTU
= 1726;
5354 enum int Byelorussian_shortu
= 1710;
5356 enum int CD
= 269025107;
5357 enum COGL
= "undefined";
5358 enum int CURRENT_TIME
= 0;
5359 enum int Cabovedot
= 709;
5360 enum int Cacute
= 454;
5361 // The #ClutterCairoTexture struct contains only private data.
5362 struct CairoTexture
/* : Texture */ /* Version 1.0 */ {
5363 alias parent_instance
this;
5364 alias parent_instance super_
;
5365 alias parent_instance texture
;
5366 Texture parent_instance
;
5367 private CairoTexturePrivate
* priv
;
5370 // Creates a new #ClutterCairoTexture actor, with a surface of @width by
5372 // RETURNS: the newly created #ClutterCairoTexture actor
5373 // <width>: the width of the surface
5374 // <height>: the height of the surface
5375 static CairoTexture
* new_(uint width
, uint height
) {
5376 return clutter_cairo_texture_new(width
, height
);
5379 // Clears @self's internal drawing surface, so that the next upload
5380 // will replace the previous contents of the #ClutterCairoTexture
5381 // rather than adding to it.
5383 // Calling this function from within a #ClutterCairoTexture::draw
5384 // signal handler will clear the invalidated area.
5386 clutter_cairo_texture_clear(&this);
5389 // Creates a new Cairo context for the @cairo texture. It is
5390 // similar to using clutter_cairo_texture_create_region() with @x_offset
5391 // and @y_offset of 0, @width equal to the @cairo texture surface width
5392 // and @height equal to the @cairo texture surface height.
5394 // <warning><para>Do not call this function within the paint virtual
5395 // function or from a callback to the #ClutterActor::paint
5396 // signal.</para></warning>
5398 // to upload the contents of the context when done drawing
5401 // the clutter_cairo_texture_invalidate() function to obtain a
5402 // Cairo context for 2D drawing.
5403 // RETURNS: a newly created Cairo context. Use cairo_destroy()
5404 cairo
.Context
* /*new*/ create() {
5405 return clutter_cairo_texture_create(&this);
5408 // Creates a new Cairo context that will updat the region defined
5409 // by @x_offset, @y_offset, @width and @height.
5411 // <warning><para>Do not call this function within the paint virtual
5412 // function or from a callback to the #ClutterActor::paint
5413 // signal.</para></warning>
5415 // to upload the contents of the context when done drawing
5418 // clutter_cairo_texture_invalidate_rectangle() to obtain a
5419 // clipped Cairo context for 2D drawing.
5420 // RETURNS: a newly created Cairo context. Use cairo_destroy()
5421 // <x_offset>: offset of the region on the X axis
5422 // <y_offset>: offset of the region on the Y axis
5423 // <width>: width of the region, or -1 for the full surface width
5424 // <height>: height of the region, or -1 for the full surface height
5425 cairo
.Context
* /*new*/ create_region(int x_offset
, int y_offset
, int width
, int height
) {
5426 return clutter_cairo_texture_create_region(&this, x_offset
, y_offset
, width
, height
);
5429 // Retrieves the value set using clutter_cairo_texture_set_auto_resize().
5431 // allocation, and %FALSE otherwise
5432 // RETURNS: %TRUE if the #ClutterCairoTexture should track the
5433 int get_auto_resize() {
5434 return clutter_cairo_texture_get_auto_resize(&this);
5437 // Retrieves the surface width and height for @self.
5438 // <width>: return location for the surface width, or %NULL
5439 // <height>: return location for the surface height, or %NULL
5440 void get_surface_size(/*out*/ uint* width
, /*out*/ uint* height
) {
5441 clutter_cairo_texture_get_surface_size(&this, width
, height
);
5444 // Invalidates the whole surface of a #ClutterCairoTexture.
5446 // This function will cause the #ClutterCairoTexture::draw signal
5449 // See also: clutter_cairo_texture_invalidate_rectangle()
5451 clutter_cairo_texture_invalidate(&this);
5454 // Invalidates a rectangular region of a #ClutterCairoTexture.
5456 // The invalidation will cause the #ClutterCairoTexture::draw signal
5459 // See also: clutter_cairo_texture_invalidate()
5460 // <rect>: a rectangle with the area to invalida, or %NULL to perform an unbounded invalidation
5461 void invalidate_rectangle(cairo
.RectangleInt
* rect
=null) {
5462 clutter_cairo_texture_invalidate_rectangle(&this, rect
);
5465 // Sets whether the #ClutterCairoTexture should ensure that the
5466 // backing Cairo surface used matches the allocation assigned to
5467 // the actor. If the allocation changes, the contents of the
5468 // #ClutterCairoTexture will also be invalidated automatically.
5469 // <value>: %TRUE if the #ClutterCairoTexture should bind the surface size to the allocation
5470 void set_auto_resize(int value
) {
5471 clutter_cairo_texture_set_auto_resize(&this, value
);
5474 // Resizes the Cairo surface used by @self to @width and @height.
5476 // This function will not invalidate the contents of the Cairo
5477 // texture: you will have to explicitly call either
5478 // clutter_cairo_texture_invalidate_rectangle() or
5479 // clutter_cairo_texture_invalidate().
5480 // <width>: the new width of the surface
5481 // <height>: the new height of the surface
5482 void set_surface_size(uint width
, uint height
) {
5483 clutter_cairo_texture_set_surface_size(&this, width
, height
);
5486 // The ::create-surface signal is emitted when a #ClutterCairoTexture
5487 // news its surface (re)created, which happens either when the Cairo
5488 // context is created with clutter_cairo_texture_create() or
5489 // clutter_cairo_texture_create_region(), or when the surface is resized
5490 // through clutter_cairo_texture_set_surface_size().
5492 // The first signal handler that returns a non-%NULL, valid surface will
5493 // stop any further signal emission, and the returned surface will be
5495 // RETURNS: the newly created #cairo_surface_t for the texture
5496 // <width>: the width of the surface to create
5497 // <height>: the height of the surface to create
5498 extern (C
) alias static cairo
.Surface
* /*new*/ function (CairoTexture
* this_
, c_uint width
, c_uint height
, void* user_data
=null) signal_create_surface
;
5500 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5501 return super_
.signal_connect
!name(cb
, data
, cf
);
5504 ulong signal_connect(string name
:"create-surface", CB
:signal_create_surface
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5505 return signal_connect_data(&this, cast(char*)"create-surface",
5506 cast(GObject2
.Callback
)cb
, data
, null, cf
);
5509 // The ::draw signal is emitted each time a #ClutterCairoTexture has
5510 // been invalidated.
5512 // The passed Cairo context passed will be clipped to the invalidated
5515 // It is safe to connect multiple callbacks to this signals; the state
5516 // of the Cairo context passed to each callback is automatically saved
5517 // and restored, so it's not necessary to call cairo_save() and
5521 // RETURNS: %TRUE if the signal emission should stop, and %FALSE
5522 // <cr>: the Cairo context to use to draw
5523 extern (C
) alias static c_int
function (CairoTexture
* this_
, cairo
.Context
* cr
, void* user_data
=null) signal_draw
;
5524 ulong signal_connect(string name
:"draw", CB
:signal_draw
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5525 return signal_connect_data(&this, cast(char*)"draw",
5526 cast(GObject2
.Callback
)cb
, data
, null, cf
);
5530 // The #ClutterCairoTextureClass struct contains only private data.
5531 struct CairoTextureClass
/* Version 1.0 */ {
5532 private TextureClass parent_class
;
5533 extern (C
) cairo
.Surface
* /*new*/ function (CairoTexture
* texture
, uint width
, uint height
) create_surface
;
5534 extern (C
) int function (CairoTexture
* texture
, cairo
.Context
* cr
) draw
;
5535 extern (C
) void function () _clutter_cairo_3
;
5536 extern (C
) void function () _clutter_cairo_4
;
5539 struct CairoTexturePrivate
{
5542 enum int Calculator
= 269025053;
5543 enum int Calendar
= 269025056;
5546 // <actor>: a #ClutterActor
5547 // <data>: user data
5548 extern (C
) alias void function (Actor
* actor
, void* data
) Callback
;
5550 enum int Cancel
= 65385;
5551 enum int Caps_Lock
= 65509;
5552 enum int Ccaron
= 456;
5553 enum int Ccedilla
= 199;
5554 enum int Ccircumflex
= 710;
5556 // Base interface for container specific state for child actors. A child
5557 // data is meant to be used when you need to keep track of information
5558 // about each individual child added to a container.
5560 // In order to use it you should create your own subclass of
5561 // #ClutterChildMeta and set the #ClutterContainerIface child_meta_type
5562 // interface member to your subclass type, like:
5566 // my_container_iface_init (ClutterContainerIface *iface)
5568 // /* set the rest of the #ClutterContainer vtable */
5570 // container_iface->child_meta_type = MY_TYPE_CHILD_META;
5574 // This will automatically create a #ClutterChildMeta of type
5575 // MY_TYPE_CHILD_META for every actor that is added to the container.
5577 // The child data for an actor can be retrieved using the
5578 // clutter_container_get_child_meta() function.
5580 // The properties of the data and your subclass can be manipulated with
5581 // clutter_container_child_set() and clutter_container_child_get() which
5582 // act like g_object_set() and g_object_get().
5584 // You can provide hooks for your own storage as well as control the
5585 // instantiation by overriding the #ClutterContainerIface virtual functions
5586 // <function>create_child_meta</function>,
5587 // <function>destroy_child_meta</function>,
5588 // and <function>get_child_meta</function>.
5589 struct ChildMeta
/* : GObject.Object */ /* Version 0.8 */ {
5590 alias parent_instance
this;
5591 alias parent_instance super_
;
5592 alias parent_instance object
;
5593 GObject2
.Object parent_instance
;
5594 Container
* container
;
5598 // Retrieves the actor wrapped by @data
5599 // RETURNS: a #ClutterActor
5600 Actor
* get_actor() {
5601 return clutter_child_meta_get_actor(&this);
5604 // Retrieves the container using @data
5605 // RETURNS: a #ClutterContainer
5606 Container
* get_container() {
5607 return clutter_child_meta_get_container(&this);
5611 // The #ClutterChildMetaClass contains only private data
5612 struct ChildMetaClass
/* Version 0.8 */ {
5613 private GObject2
.ObjectClass parent_class
;
5616 enum int Clear
= 65291;
5617 enum int ClearGrab
= 269024801;
5619 // The <structname>ClutterClickAction</structname> structure contains
5620 // only private data and should be accessed using the provided API
5621 struct ClickAction
/* : Action */ /* Version 1.4 */ {
5622 alias parent_instance
this;
5623 alias parent_instance super_
;
5624 alias parent_instance action
;
5625 Action parent_instance
;
5626 private ClickActionPrivate
* priv
;
5629 // Creates a new #ClutterClickAction instance
5630 // RETURNS: the newly created #ClutterClickAction
5631 static ClickAction
* new_() {
5632 return clutter_click_action_new();
5635 // Retrieves the button that was pressed.
5636 // RETURNS: the button value
5638 return clutter_click_action_get_button(&this);
5641 // Retrieves the screen coordinates of the button press.
5642 // <press_x>: return location for the X coordinate, or %NULL
5643 // <press_y>: return location for the Y coordinate, or %NULL
5644 void get_coords(/*out*/ float* press_x
, /*out*/ float* press_y
) {
5645 clutter_click_action_get_coords(&this, press_x
, press_y
);
5648 // Retrieves the modifier state of the click action.
5649 // RETURNS: the modifier state parameter, or 0
5650 ModifierType
get_state() {
5651 return clutter_click_action_get_state(&this);
5654 // Emulates a release of the pointer button, which ungrabs the pointer
5655 // and unsets the #ClutterClickAction:pressed state.
5657 // This function will also cancel the long press gesture if one was
5660 // This function is useful to break a grab, for instance after a certain
5661 // amount of time has passed.
5663 clutter_click_action_release(&this);
5666 // The ::clicked signal is emitted when the #ClutterActor to which
5667 // a #ClutterClickAction has been applied should respond to a
5668 // pointer button press and release events
5669 // <actor>: the #ClutterActor attached to the @action
5670 extern (C
) alias static void function (ClickAction
* this_
, Actor
* actor
, void* user_data
=null) signal_clicked
;
5672 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5673 return super_
.signal_connect
!name(cb
, data
, cf
);
5676 ulong signal_connect(string name
:"clicked", CB
:signal_clicked
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5677 return signal_connect_data(&this, cast(char*)"clicked",
5678 cast(GObject2
.Callback
)cb
, data
, null, cf
);
5681 // The ::long-press signal is emitted during the long press gesture
5684 // This signal can be emitted multiple times with different states.
5686 // The %CLUTTER_LONG_PRESS_QUERY state will be emitted on button presses,
5687 // and its return value will determine whether the long press handling
5688 // should be initiated. If the signal handlers will return %TRUE, the
5689 // %CLUTTER_LONG_PRESS_QUERY state will be followed either by a signal
5690 // emission with the %CLUTTER_LONG_PRESS_ACTIVATE state if the long press
5691 // constraints were respected, or by a signal emission with the
5692 // %CLUTTER_LONG_PRESS_CANCEL state if the long press was cancelled.
5694 // It is possible to forcibly cancel a long press detection using
5695 // clutter_click_action_release().
5697 // returned value of the handler; other states will ignore it
5698 // RETURNS: Only the %CLUTTER_LONG_PRESS_QUERY state uses the
5699 // <actor>: the #ClutterActor attached to the @action
5700 // <state>: the long press state
5701 extern (C
) alias static c_int
function (ClickAction
* this_
, Actor
* actor
, LongPressState
* state
, void* user_data
=null) signal_long_press
;
5702 ulong signal_connect(string name
:"long-press", CB
:signal_long_press
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
5703 return signal_connect_data(&this, cast(char*)"long-press",
5704 cast(GObject2
.Callback
)cb
, data
, null, cf
);
5709 // The <structname>ClutterClickActionClass</structname> structure
5710 // contains only private data
5711 struct ClickActionClass
/* Version 1.4 */ {
5712 private ActionClass parent_class
;
5713 extern (C
) void function (ClickAction
* action
, Actor
* actor
) clicked
;
5714 extern (C
) int function (ClickAction
* action
, Actor
* actor
, LongPressState state
) long_press
;
5715 extern (C
) void function () _clutter_click_action1
;
5716 extern (C
) void function () _clutter_click_action2
;
5717 extern (C
) void function () _clutter_click_action3
;
5718 extern (C
) void function () _clutter_click_action4
;
5719 extern (C
) void function () _clutter_click_action5
;
5720 extern (C
) void function () _clutter_click_action6
;
5721 extern (C
) void function () _clutter_click_action7
;
5724 struct ClickActionPrivate
{
5728 // The #ClutterClone structure contains only private data
5729 // and should be accessed using the provided API
5730 struct Clone
/* : Actor */ /* Version 1.0 */ {
5731 alias parent_instance
this;
5732 alias parent_instance super_
;
5733 alias parent_instance actor
;
5734 Actor parent_instance
;
5735 private ClonePrivate
* priv
;
5738 // Creates a new #ClutterActor which clones @source/
5739 // RETURNS: the newly created #ClutterClone
5740 // <source>: a #ClutterActor, or %NULL
5741 static Clone
* new_(Actor
* source
) {
5742 return clutter_clone_new(source
);
5745 // Retrieves the source #ClutterActor being cloned by @clone
5746 // RETURNS: the actor source for the clone
5747 Actor
* get_source() {
5748 return clutter_clone_get_source(&this);
5751 // Sets @source as the source actor to be cloned by @clone.
5752 // <source>: a #ClutterActor, or %NULL
5753 void set_source(Actor
* source
) {
5754 clutter_clone_set_source(&this, source
);
5758 // The #ClutterCloneClass structure contains only private data
5759 struct CloneClass
/* Version 1.0 */ {
5760 private ActorClass parent_class
;
5761 extern (C
) void function () _clutter_actor_clone1
;
5762 extern (C
) void function () _clutter_actor_clone2
;
5763 extern (C
) void function () _clutter_actor_clone3
;
5764 extern (C
) void function () _clutter_actor_clone4
;
5767 struct ClonePrivate
{
5770 enum int Close
= 269025110;
5771 enum int Codeinput
= 65335;
5772 enum int ColonSign
= 16785569;
5773 // Color representation.
5775 ubyte red
, green
, blue
, alpha
;
5778 // Creates a new #ClutterColor with the given values.
5780 // Use clutter_color_free() when done
5781 // RETURNS: the newly allocated color.
5782 // <red>: red component of the color, between 0 and 255
5783 // <green>: green component of the color, between 0 and 255
5784 // <blue>: blue component of the color, between 0 and 255
5785 // <alpha>: alpha component of the color, between 0 and 255
5786 static Color
* /*new*/ new_(ubyte red
, ubyte green
, ubyte blue
, ubyte alpha
) {
5787 return clutter_color_new(red
, green
, blue
, alpha
);
5790 // Adds @a to @b and saves the resulting color inside @result.
5792 // The alpha channel of @result is set as as the maximum value
5793 // between the alpha channels of @a and @b.
5794 // <b>: a #ClutterColor
5795 // <result>: return location for the result
5796 void add(Color
* b
, /*out*/ Color
* result
) {
5797 clutter_color_add(&this, b
, result
);
5800 // Makes a copy of the color structure. The result must be
5801 // freed using clutter_color_free().
5802 // RETURNS: an allocated copy of @color.
5803 Color
* /*new*/ copy() {
5804 return clutter_color_copy(&this);
5807 // Darkens @color by a fixed amount, and saves the changed color
5809 // <result>: return location for the darker color
5810 void darken(/*out*/ Color
* result
) {
5811 clutter_color_darken(&this, result
);
5813 // Frees a color structure created with clutter_color_copy().
5815 clutter_color_free(&this);
5818 // Converts a color expressed in HLS (hue, luminance and saturation)
5819 // values into a #ClutterColor.
5820 // <hue>: hue value, in the 0 .. 360 range
5821 // <luminance>: luminance value, in the 0 .. 1 range
5822 // <saturation>: saturation value, in the 0 .. 1 range
5823 void from_hls(float hue
, float luminance
, float saturation
) {
5824 clutter_color_from_hls(&this, hue
, luminance
, saturation
);
5827 // Converts @pixel from the packed representation of a four 8 bit channel
5828 // color to a #ClutterColor.
5829 // <pixel>: a 32 bit packed integer containing a color
5830 void from_pixel(uint pixel
) {
5831 clutter_color_from_pixel(&this, pixel
);
5834 // Parses a string definition of a color, filling the
5835 // <structfield>red</structfield>, <structfield>green</structfield>,
5836 // <structfield>blue</structfield> and <structfield>alpha</structfield>
5837 // channels of @color.
5839 // The @color is not allocated.
5841 // The format of @str can be either one of:
5845 // <para>a standard name (as taken from the X11 rgb.txt file)</para>
5848 // <para>an hexadecimal value in the form: <literal>#rgb</literal>,
5849 // <literal>#rrggbb</literal>, <literal>#rgba</literal> or
5850 // <literal>#rrggbbaa</literal></para>
5853 // <para>a RGB color in the form: <literal>rgb(r, g, b)</literal></para>
5856 // <para>a RGB color in the form: <literal>rgba(r, g, b, a)</literal></para>
5859 // <para>a HSL color in the form: <literal>hsl(h, s, l)</literal></para>
5862 // <para>a HSL color in the form: <literal>hsla(h, s, l, a)</literal></para>
5866 // where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color
5867 // intensities and the opacity. The 'h', 's' and 'l' are (respectively) the
5868 // hue, saturation and luminance values.
5870 // In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either
5871 // integers between 0 and 255, or percentage values in the range between 0%
5872 // and 100%; the percentages require the '%' character. The 'a' value, if
5873 // specified, can only be a floating point value between 0.0 and 1.0.
5875 // In the hls() and hlsa() formats, the 'h' value (hue) it's an angle between
5876 // 0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are
5877 // a floating point value between 0.0 and 1.0. The 'a' value, if specified,
5878 // can only be a floating point value between 0.0 and 1.0.
5880 // Whitespace inside the definitions is ignored; no leading whitespace
5883 // If the alpha component is not specified then it is assumed to be set to
5885 // RETURNS: %TRUE if parsing succeeded, and %FALSE otherwise
5886 // <str>: a string specifiying a color
5887 int from_string(char* str) {
5888 return clutter_color_from_string(&this, str);
5891 // Interpolates between @initial and @final #ClutterColor<!-- -->s
5893 // <final>: the final #ClutterColor
5894 // <progress>: the interpolation progress
5895 // <result>: return location for the interpolation
5896 void interpolate(Color
* final_
, double progress
, /*out*/ Color
* result
) {
5897 clutter_color_interpolate(&this, final_
, progress
, result
);
5900 // Lightens @color by a fixed amount, and saves the changed color
5902 // <result>: return location for the lighter color
5903 void lighten(/*out*/ Color
* result
) {
5904 clutter_color_lighten(&this, result
);
5907 // Shades @color by @factor and saves the modified color into @result.
5908 // <factor>: the shade factor to apply
5909 // <result>: return location for the shaded color
5910 void shade(double factor
, /*out*/ Color
* result
) {
5911 clutter_color_shade(&this, factor
, result
);
5914 // Subtracts @b from @a and saves the resulting color inside @result.
5916 // This function assumes that the components of @a are greater than the
5917 // components of @b; the result is, otherwise, undefined.
5919 // The alpha channel of @result is set as the minimum value
5920 // between the alpha channels of @a and @b.
5921 // <b>: a #ClutterColor
5922 // <result>: return location for the result
5923 void subtract(Color
* b
, /*out*/ Color
* result
) {
5924 clutter_color_subtract(&this, b
, result
);
5927 // Converts @color to the HLS format.
5929 // The @hue value is in the 0 .. 360 range. The @luminance and
5930 // @saturation values are in the 0 .. 1 range.
5931 // <hue>: return location for the hue value or %NULL
5932 // <luminance>: return location for the luminance value or %NULL
5933 // <saturation>: return location for the saturation value or %NULL
5934 void to_hls(/*out*/ float* hue
, /*out*/ float* luminance
, /*out*/ float* saturation
) {
5935 clutter_color_to_hls(&this, hue
, luminance
, saturation
);
5938 // Converts @color into a packed 32 bit integer, containing
5939 // all the four 8 bit channels used by #ClutterColor.
5940 // RETURNS: a packed color
5942 return clutter_color_to_pixel(&this);
5945 // Returns a textual specification of @color in the hexadecimal form
5946 // <literal>#rrggbbaa</literal>, where <literal>r</literal>,
5947 // <literal>g</literal>, <literal>b</literal> and <literal>a</literal> are
5948 // hexadecimal digits representing the red, green, blue and alpha components
5950 // RETURNS: a newly-allocated text string
5951 char* /*new*/ to_string() {
5952 return clutter_color_to_string(&this);
5955 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
5957 // This function can be passed to g_hash_table_new() as the @key_equal_func
5958 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
5959 // RETURNS: %TRUE if the two colors are the same.
5960 // <v1>: a #ClutterColor
5961 // <v2>: a #ClutterColor
5962 static int equal(const(void)* v1
, const(void)* v2
) {
5963 return clutter_color_equal(v1
, v2
);
5966 // Retrieves a static color for the given @color name
5968 // Static colors are created by Clutter and are guaranteed to always be
5969 // available and valid
5971 // is owned by Clutter and it should never be modified or freed
5972 // RETURNS: a pointer to a static color; the returned pointer
5973 // <color>: the named global color
5974 static Color
* get_static(StaticColor color
) {
5975 return clutter_color_get_static(color
);
5978 // Converts a #ClutterColor to a hash value.
5980 // This function can be passed to g_hash_table_new() as the @hash_func
5981 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
5982 // RETURNS: a hash value corresponding to the color
5983 // <v>: a #ClutterColor
5984 static uint hash(const(void)* v
) {
5985 return clutter_color_hash(v
);
5990 // <structname>ClutterColorizeEffect</structname> is an opaque structure
5991 // whose members cannot be directly accessed
5992 struct ColorizeEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
5993 alias method_parent
this;
5994 alias method_parent super_
;
5995 alias method_parent offscreeneffect
;
5996 OffscreenEffect method_parent
;
5999 // Creates a new #ClutterColorizeEffect to be used with
6000 // clutter_actor_add_effect()
6001 // RETURNS: the newly created #ClutterColorizeEffect or %NULL
6002 // <tint>: the color to be used
6003 static ColorizeEffect
* new_(Color
* tint
) {
6004 return clutter_colorize_effect_new(tint
);
6007 // Retrieves the tint used by @effect
6008 // <tint>: return location for the color used
6009 void get_tint(/*out*/ Color
* tint
) {
6010 clutter_colorize_effect_get_tint(&this, tint
);
6013 // Sets the tint to be used when colorizing
6014 // <tint>: the color to be used
6015 void set_tint(Color
* tint
) {
6016 clutter_colorize_effect_set_tint(&this, tint
);
6020 struct ColorizeEffectClass
{
6023 enum int Community
= 269025085;
6025 // The <structname>ClutterConstraint</structname> structure contains only
6026 // private data and should be accessed using the provided API
6027 struct Constraint
/* : ActorMeta */ /* Version 1.4 */ {
6028 alias parent_instance
this;
6029 alias parent_instance super_
;
6030 alias parent_instance actormeta
;
6031 ActorMeta parent_instance
;
6035 // The <structname>ClutterConstraintClass</structname> structure contains
6036 // only private data
6037 struct ConstraintClass
/* Version 1.4 */ {
6038 private ActorMetaClass parent_class
;
6039 extern (C
) void function (Constraint
* constraint
, Actor
* actor
, ActorBox
* allocation
) update_allocation
;
6040 extern (C
) void function () _clutter_constraint1
;
6041 extern (C
) void function () _clutter_constraint2
;
6042 extern (C
) void function () _clutter_constraint3
;
6043 extern (C
) void function () _clutter_constraint4
;
6044 extern (C
) void function () _clutter_constraint5
;
6045 extern (C
) void function () _clutter_constraint6
;
6046 extern (C
) void function () _clutter_constraint7
;
6047 extern (C
) void function () _clutter_constraint8
;
6051 // #ClutterContainer is an opaque structure whose members cannot be directly
6053 struct Container
/* Version 0.4 */ {
6055 // Looks up the #GParamSpec for a child property of @klass.
6057 // if no such property exist.
6058 // RETURNS: The #GParamSpec for the property or %NULL
6059 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
6060 // <property_name>: a property name.
6061 static GObject2
.ParamSpec
* class_find_child_property(GObject2
.ObjectClass
* klass
, char* property_name
) {
6062 return clutter_container_class_find_child_property(klass
, property_name
);
6065 // Returns an array of #GParamSpec for all child properties.
6067 // of #GParamSpec<!-- -->s which should be freed after use.
6068 // RETURNS: an array
6069 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
6070 // <n_properties>: return location for length of returned array.
6071 static GObject2
.ParamSpec
** /*new*/ class_list_child_properties(GObject2
.ObjectClass
* klass
, /*out*/ uint* n_properties
) {
6072 return clutter_container_class_list_child_properties(klass
, n_properties
);
6075 // Unintrospectable method: add() / clutter_container_add()
6076 // Adds a list of #ClutterActor<!-- -->s to @container. Each time and
6077 // actor is added, the "actor-added" signal is emitted. Each actor should
6078 // be parented to @container, which takes a reference on the actor. You
6079 // cannot add a #ClutterActor to more than one #ClutterContainer.
6080 // <first_actor>: the first #ClutterActor to add
6081 /+ Not available -- variadic methods unsupported - use the C function directly.
6082 alias clutter_container_add add; // Variadic
6085 // Adds a #ClutterActor to @container. This function will emit the
6086 // "actor-added" signal. The actor should be parented to
6087 // @container. You cannot add a #ClutterActor to more than one
6088 // #ClutterContainer.
6089 // <actor>: the first #ClutterActor to add
6090 void add_actor(Actor
* actor
) {
6091 clutter_container_add_actor(&this, actor
);
6094 // Unintrospectable method: add_valist() / clutter_container_add_valist()
6095 // Alternative va_list version of clutter_container_add().
6096 // <first_actor>: the first #ClutterActor to add
6097 // <var_args>: list of actors to add, followed by %NULL
6098 void add_valist(Actor
* first_actor
, va_list var_args
) {
6099 clutter_container_add_valist(&this, first_actor
, var_args
);
6102 // Unintrospectable method: child_get() / clutter_container_child_get()
6103 // Gets @container specific properties of an actor.
6105 // In general, a copy is made of the property contents and the caller is
6106 // responsible for freeing the memory in the appropriate manner for the type, for
6107 // instance by calling g_free() or g_object_unref().
6108 // <actor>: a #ClutterActor that is a child of @container.
6109 // <first_prop>: name of the first property to be set.
6110 /+ Not available -- variadic methods unsupported - use the C function directly.
6111 alias clutter_container_child_get child_get; // Variadic
6114 // Gets a container specific property of a child of @container, In general,
6115 // a copy is made of the property contents and the caller is responsible for
6116 // freeing the memory by calling g_value_unset().
6118 // Note that clutter_container_child_set_property() is really intended for
6119 // language bindings, clutter_container_child_set() is much more convenient
6120 // for C programming.
6121 // <child>: a #ClutterActor that is a child of @container.
6122 // <property>: the name of the property to set.
6123 // <value>: the value.
6124 void child_get_property(Actor
* child
, char* property
, GObject2
.Value
* value
) {
6125 clutter_container_child_get_property(&this, child
, property
, value
);
6128 // Calls the <function>child_notify()</function> virtual function of
6129 // #ClutterContainer. The default implementation will emit the
6130 // #ClutterContainer::child-notify signal.
6131 // <child>: a #ClutterActor
6132 // <pspec>: a #GParamSpec
6133 void child_notify(Actor
* child
, GObject2
.ParamSpec
* pspec
) {
6134 clutter_container_child_notify(&this, child
, pspec
);
6137 // Unintrospectable method: child_set() / clutter_container_child_set()
6138 // Sets container specific properties on the child of a container.
6139 // <actor>: a #ClutterActor that is a child of @container.
6140 // <first_prop>: name of the first property to be set.
6141 /+ Not available -- variadic methods unsupported - use the C function directly.
6142 alias clutter_container_child_set child_set; // Variadic
6145 // Sets a container-specific property on a child of @container.
6146 // <child>: a #ClutterActor that is a child of @container.
6147 // <property>: the name of the property to set.
6148 // <value>: the value.
6149 void child_set_property(Actor
* child
, char* property
, GObject2
.Value
* value
) {
6150 clutter_container_child_set_property(&this, child
, property
, value
);
6153 // Creates the #ClutterChildMeta wrapping @actor inside the
6154 // @container, if the #ClutterContainerIface::child_meta_type
6155 // class member is not set to %G_TYPE_INVALID.
6157 // This function is only useful when adding a #ClutterActor to
6158 // a #ClutterContainer implementation outside of the
6159 // #ClutterContainer::add() virtual function implementation.
6161 // Applications should not call this function.
6162 // <actor>: a #ClutterActor
6163 void create_child_meta(Actor
* actor
) {
6164 clutter_container_create_child_meta(&this, actor
);
6167 // Destroys the #ClutterChildMeta wrapping @actor inside the
6168 // @container, if any.
6170 // This function is only useful when removing a #ClutterActor to
6171 // a #ClutterContainer implementation outside of the
6172 // #ClutterContainer::add() virtual function implementation.
6174 // Applications should not call this function.
6175 // <actor>: a #ClutterActor
6176 void destroy_child_meta(Actor
* actor
) {
6177 clutter_container_destroy_child_meta(&this, actor
);
6180 // Finds a child actor of a container by its name. Search recurses
6181 // into any child container.
6183 // or %NULL if no actor with that name was found.
6184 // RETURNS: The child actor with the requested name,
6185 // <child_name>: the name of the requested child.
6186 Actor
* find_child_by_name(char* child_name
) {
6187 return clutter_container_find_child_by_name(&this, child_name
);
6190 // Calls @callback for each child of @container that was added
6191 // by the application (with clutter_container_add_actor()). Does
6192 // not iterate over "internal" children that are part of the
6193 // container's own implementation, if any.
6194 // <callback>: a function to be called for each child
6195 // <user_data>: data to be passed to the function, or %NULL
6196 void foreach_(Callback callback
, void* user_data
) {
6197 clutter_container_foreach(&this, callback
, user_data
);
6200 // Calls @callback for each child of @container, including "internal"
6201 // children built in to the container itself that were never added
6202 // by the application.
6203 // <callback>: a function to be called for each child
6204 // <user_data>: data to be passed to the function, or %NULL
6205 void foreach_with_internals(Callback callback
, void* user_data
) {
6206 clutter_container_foreach_with_internals(&this, callback
, user_data
);
6209 // Retrieves the #ClutterChildMeta which contains the data about the
6210 // @container specific state for @actor.
6212 // of @container or %NULL if the specifiec actor does not exist or the
6213 // container is not configured to provide #ClutterChildMeta<!-- -->s
6214 // RETURNS: the #ClutterChildMeta for the @actor child
6215 // <actor>: a #ClutterActor that is a child of @container.
6216 ChildMeta
* get_child_meta(Actor
* actor
) {
6217 return clutter_container_get_child_meta(&this, actor
);
6220 // Retrieves all the children of @container.
6222 // of #ClutterActor<!-- -->s. Use g_list_free() on the returned
6225 GLib2
.List
* /*new container*/ get_children() {
6226 return clutter_container_get_children(&this);
6229 // Lowers @actor to @sibling level, in the depth ordering.
6230 // <actor>: the actor to raise
6231 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
6232 void lower_child(Actor
* actor
, Actor
* sibling
=null) {
6233 clutter_container_lower_child(&this, actor
, sibling
);
6236 // Raises @actor to @sibling level, in the depth ordering.
6237 // <actor>: the actor to raise
6238 // <sibling>: the sibling to raise to, or %NULL to raise to the top
6239 void raise_child(Actor
* actor
, Actor
* sibling
=null) {
6240 clutter_container_raise_child(&this, actor
, sibling
);
6243 // Unintrospectable method: remove() / clutter_container_remove()
6244 // Removes a %NULL terminated list of #ClutterActor<!-- -->s from
6245 // @container. Each actor should be unparented, so if you want to keep it
6246 // around you must hold a reference to it yourself, using g_object_ref().
6247 // Each time an actor is removed, the "actor-removed" signal is
6248 // emitted by @container.
6249 // <first_actor>: first #ClutterActor to remove
6250 /+ Not available -- variadic methods unsupported - use the C function directly.
6251 alias clutter_container_remove remove; // Variadic
6254 // Removes @actor from @container. The actor should be unparented, so
6255 // if you want to keep it around you must hold a reference to it
6256 // yourself, using g_object_ref(). When the actor has been removed,
6257 // the "actor-removed" signal is emitted by @container.
6258 // <actor>: a #ClutterActor
6259 void remove_actor(Actor
* actor
) {
6260 clutter_container_remove_actor(&this, actor
);
6263 // Unintrospectable method: remove_valist() / clutter_container_remove_valist()
6264 // Alternative va_list version of clutter_container_remove().
6265 // <first_actor>: the first #ClutterActor to add
6266 // <var_args>: list of actors to remove, followed by %NULL
6267 void remove_valist(Actor
* first_actor
, va_list var_args
) {
6268 clutter_container_remove_valist(&this, first_actor
, var_args
);
6271 // Sorts a container's children using their depth. This function should not
6272 // be normally used by applications.
6273 void sort_depth_order() {
6274 clutter_container_sort_depth_order(&this);
6277 // The ::actor-added signal is emitted each time an actor
6278 // has been added to @container.
6279 // <actor>: the new child that has been added to @container
6280 extern (C
) alias static void function (Container
* this_
, Actor
* actor
, void* user_data
=null) signal_actor_added
;
6282 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6283 return super_
.signal_connect
!name(cb
, data
, cf
);
6286 ulong signal_connect(string name
:"actor-added", CB
:signal_actor_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6287 return signal_connect_data(&this, cast(char*)"actor-added",
6288 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6291 // The ::actor-removed signal is emitted each time an actor
6292 // is removed from @container.
6293 // <actor>: the child that has been removed from @container
6294 extern (C
) alias static void function (Container
* this_
, Actor
* actor
, void* user_data
=null) signal_actor_removed
;
6295 ulong signal_connect(string name
:"actor-removed", CB
:signal_actor_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6296 return signal_connect_data(&this, cast(char*)"actor-removed",
6297 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6300 // The ::child-notify signal is emitted each time a property is
6301 // being set through the clutter_container_child_set() and
6302 // clutter_container_child_set_property() calls.
6303 // <actor>: the child that has had a property set
6304 // <pspec>: the #GParamSpec of the property set
6305 extern (C
) alias static void function (Container
* this_
, Actor
* actor
, GObject2
.ParamSpec
* pspec
, void* user_data
=null) signal_child_notify
;
6306 ulong signal_connect(string name
:"child-notify", CB
:signal_child_notify
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6307 return signal_connect_data(&this, cast(char*)"child-notify",
6308 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6313 // Base interface for container actors. The @add, @remove and @foreach
6314 // virtual functions must be provided by any implementation; the other
6315 // virtual functions are optional.
6316 struct ContainerIface
/* Version 0.4 */ {
6317 private GObject2
.TypeInterface g_iface
;
6318 // <actor>: the first #ClutterActor to add
6319 extern (C
) void function (Container
* container
, Actor
* actor
) add;
6320 // <actor>: a #ClutterActor
6321 extern (C
) void function (Container
* container
, Actor
* actor
) remove
;
6323 // <callback>: a function to be called for each child
6324 // <user_data>: data to be passed to the function, or %NULL
6325 extern (C
) void function (Container
* container
, Callback callback
, void* user_data
) foreach_
;
6327 // <callback>: a function to be called for each child
6328 // <user_data>: data to be passed to the function, or %NULL
6329 extern (C
) void function (Container
* container
, Callback callback
, void* user_data
) foreach_with_internals
;
6331 // <actor>: the actor to raise
6332 // <sibling>: the sibling to raise to, or %NULL to raise to the top
6333 extern (C
) void function (Container
* container
, Actor
* actor
, Actor
* sibling
=null) raise
;
6335 // <actor>: the actor to raise
6336 // <sibling>: the sibling to lower to, or %NULL to lower to the bottom
6337 extern (C
) void function (Container
* container
, Actor
* actor
, Actor
* sibling
=null) lower
;
6338 extern (C
) void function (Container
* container
) sort_depth_order
;
6339 Type child_meta_type
;
6340 // <actor>: a #ClutterActor
6341 extern (C
) void function (Container
* container
, Actor
* actor
) create_child_meta
;
6342 // <actor>: a #ClutterActor
6343 extern (C
) void function (Container
* container
, Actor
* actor
) destroy_child_meta
;
6345 // RETURNS: the #ClutterChildMeta for the @actor child
6346 // <actor>: a #ClutterActor that is a child of @container.
6347 extern (C
) ChildMeta
* function (Container
* container
, Actor
* actor
) get_child_meta
;
6348 extern (C
) void function (Container
* container
, Actor
* actor
) actor_added
;
6349 extern (C
) void function (Container
* container
, Actor
* actor
) actor_removed
;
6351 // <child>: a #ClutterActor
6352 // <pspec>: a #GParamSpec
6353 extern (C
) void function (Container
* container
, Actor
* child
, GObject2
.ParamSpec
* pspec
) child_notify
;
6356 enum int ContrastAdjust
= 269025058;
6357 enum int Control_L
= 65507;
6358 enum int Control_R
= 65508;
6359 enum int Copy
= 269025111;
6360 // Event for the movement of the pointer across different actors
6361 struct CrossingEvent
/* Version 0.2 */ {
6368 InputDevice
* device
;
6372 enum int CruzeiroSign
= 16785570;
6373 enum int Cut
= 269025112;
6374 enum int CycleAngle
= 269025180;
6375 enum int Cyrillic_A
= 1761;
6376 enum int Cyrillic_BE
= 1762;
6377 enum int Cyrillic_CHE
= 1790;
6378 enum int Cyrillic_CHE_descender
= 16778422;
6379 enum int Cyrillic_CHE_vertstroke
= 16778424;
6380 enum int Cyrillic_DE
= 1764;
6381 enum int Cyrillic_DZHE
= 1727;
6382 enum int Cyrillic_E
= 1788;
6383 enum int Cyrillic_EF
= 1766;
6384 enum int Cyrillic_EL
= 1772;
6385 enum int Cyrillic_EM
= 1773;
6386 enum int Cyrillic_EN
= 1774;
6387 enum int Cyrillic_EN_descender
= 16778402;
6388 enum int Cyrillic_ER
= 1778;
6389 enum int Cyrillic_ES
= 1779;
6390 enum int Cyrillic_GHE
= 1767;
6391 enum int Cyrillic_GHE_bar
= 16778386;
6392 enum int Cyrillic_HA
= 1768;
6393 enum int Cyrillic_HARDSIGN
= 1791;
6394 enum int Cyrillic_HA_descender
= 16778418;
6395 enum int Cyrillic_I
= 1769;
6396 enum int Cyrillic_IE
= 1765;
6397 enum int Cyrillic_IO
= 1715;
6398 enum int Cyrillic_I_macron
= 16778466;
6399 enum int Cyrillic_JE
= 1720;
6400 enum int Cyrillic_KA
= 1771;
6401 enum int Cyrillic_KA_descender
= 16778394;
6402 enum int Cyrillic_KA_vertstroke
= 16778396;
6403 enum int Cyrillic_LJE
= 1721;
6404 enum int Cyrillic_NJE
= 1722;
6405 enum int Cyrillic_O
= 1775;
6406 enum int Cyrillic_O_bar
= 16778472;
6407 enum int Cyrillic_PE
= 1776;
6408 enum int Cyrillic_SCHWA
= 16778456;
6409 enum int Cyrillic_SHA
= 1787;
6410 enum int Cyrillic_SHCHA
= 1789;
6411 enum int Cyrillic_SHHA
= 16778426;
6412 enum int Cyrillic_SHORTI
= 1770;
6413 enum int Cyrillic_SOFTSIGN
= 1784;
6414 enum int Cyrillic_TE
= 1780;
6415 enum int Cyrillic_TSE
= 1763;
6416 enum int Cyrillic_U
= 1781;
6417 enum int Cyrillic_U_macron
= 16778478;
6418 enum int Cyrillic_U_straight
= 16778414;
6419 enum int Cyrillic_U_straight_bar
= 16778416;
6420 enum int Cyrillic_VE
= 1783;
6421 enum int Cyrillic_YA
= 1777;
6422 enum int Cyrillic_YERU
= 1785;
6423 enum int Cyrillic_YU
= 1760;
6424 enum int Cyrillic_ZE
= 1786;
6425 enum int Cyrillic_ZHE
= 1782;
6426 enum int Cyrillic_ZHE_descender
= 16778390;
6427 enum int Cyrillic_a
= 1729;
6428 enum int Cyrillic_be
= 1730;
6429 enum int Cyrillic_che
= 1758;
6430 enum int Cyrillic_che_descender
= 16778423;
6431 enum int Cyrillic_che_vertstroke
= 16778425;
6432 enum int Cyrillic_de
= 1732;
6433 enum int Cyrillic_dzhe
= 1711;
6434 enum int Cyrillic_e
= 1756;
6435 enum int Cyrillic_ef
= 1734;
6436 enum int Cyrillic_el
= 1740;
6437 enum int Cyrillic_em
= 1741;
6438 enum int Cyrillic_en
= 1742;
6439 enum int Cyrillic_en_descender
= 16778403;
6440 enum int Cyrillic_er
= 1746;
6441 enum int Cyrillic_es
= 1747;
6442 enum int Cyrillic_ghe
= 1735;
6443 enum int Cyrillic_ghe_bar
= 16778387;
6444 enum int Cyrillic_ha
= 1736;
6445 enum int Cyrillic_ha_descender
= 16778419;
6446 enum int Cyrillic_hardsign
= 1759;
6447 enum int Cyrillic_i
= 1737;
6448 enum int Cyrillic_i_macron
= 16778467;
6449 enum int Cyrillic_ie
= 1733;
6450 enum int Cyrillic_io
= 1699;
6451 enum int Cyrillic_je
= 1704;
6452 enum int Cyrillic_ka
= 1739;
6453 enum int Cyrillic_ka_descender
= 16778395;
6454 enum int Cyrillic_ka_vertstroke
= 16778397;
6455 enum int Cyrillic_lje
= 1705;
6456 enum int Cyrillic_nje
= 1706;
6457 enum int Cyrillic_o
= 1743;
6458 enum int Cyrillic_o_bar
= 16778473;
6459 enum int Cyrillic_pe
= 1744;
6460 enum int Cyrillic_schwa
= 16778457;
6461 enum int Cyrillic_sha
= 1755;
6462 enum int Cyrillic_shcha
= 1757;
6463 enum int Cyrillic_shha
= 16778427;
6464 enum int Cyrillic_shorti
= 1738;
6465 enum int Cyrillic_softsign
= 1752;
6466 enum int Cyrillic_te
= 1748;
6467 enum int Cyrillic_tse
= 1731;
6468 enum int Cyrillic_u
= 1749;
6469 enum int Cyrillic_u_macron
= 16778479;
6470 enum int Cyrillic_u_straight
= 16778415;
6471 enum int Cyrillic_u_straight_bar
= 16778417;
6472 enum int Cyrillic_ve
= 1751;
6473 enum int Cyrillic_ya
= 1745;
6474 enum int Cyrillic_yeru
= 1753;
6475 enum int Cyrillic_yu
= 1728;
6476 enum int Cyrillic_ze
= 1754;
6477 enum int Cyrillic_zhe
= 1750;
6478 enum int Cyrillic_zhe_descender
= 16778391;
6480 enum int DOS
= 269025114;
6481 enum int Dabovedot
= 16784906;
6482 enum int Dcaron
= 463;
6484 // The <structname>ClutterDeformEffect</structname> structure contains
6485 // only private data and should be accessed using the provided API
6486 struct DeformEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
6487 alias parent_instance
this;
6488 alias parent_instance super_
;
6489 alias parent_instance offscreeneffect
;
6490 OffscreenEffect parent_instance
;
6491 private DeformEffectPrivate
* priv
;
6494 // Retrieves the handle to the back face material used by @effect
6496 // The returned material is owned by the #ClutterDeformEffect and it
6497 // should not be freed directly
6498 // RETURNS: a handle for the material, or %NULL.
6499 Cogl
.Handle
get_back_material() {
6500 return clutter_deform_effect_get_back_material(&this);
6503 // Retrieves the number of horizontal and vertical tiles used to sub-divide
6504 // the actor's geometry during the effect
6505 // <x_tiles>: return location for the number of horizontal tiles, or %NULL
6506 // <y_tiles>: return location for the number of vertical tiles, or %NULL
6507 void get_n_tiles(/*out*/ uint* x_tiles
, /*out*/ uint* y_tiles
) {
6508 clutter_deform_effect_get_n_tiles(&this, x_tiles
, y_tiles
);
6511 // Invalidates the @effect<!-- -->'s vertices and, if it is associated
6512 // to an actor, it will queue a redraw
6514 clutter_deform_effect_invalidate(&this);
6517 // Sets the material that should be used when drawing the back face
6518 // of the actor during a deformation
6520 // The #ClutterDeformEffect will take a reference on the material's
6522 // <material>: a handle to a Cogl material
6523 void set_back_material(Cogl
.Handle material
=null) {
6524 clutter_deform_effect_set_back_material(&this, material
);
6527 // Sets the number of horizontal and vertical tiles to be used
6528 // when applying the effect
6530 // More tiles allow a finer grained deformation at the expenses
6532 // <x_tiles>: number of horizontal tiles
6533 // <y_tiles>: number of vertical tiles
6534 void set_n_tiles(uint x_tiles
, uint y_tiles
) {
6535 clutter_deform_effect_set_n_tiles(&this, x_tiles
, y_tiles
);
6540 // The <structname>ClutterDeformEffectClass</structname> structure contains
6541 // only private data
6542 struct DeformEffectClass
/* Version 1.4 */ {
6543 private OffscreenEffectClass parent_class
;
6544 extern (C
) void function (DeformEffect
* effect
, float width
, float height
, Cogl
.TextureVertex
* vertex
) deform_vertex
;
6545 extern (C
) void function () _clutter_deform1
;
6546 extern (C
) void function () _clutter_deform2
;
6547 extern (C
) void function () _clutter_deform3
;
6548 extern (C
) void function () _clutter_deform4
;
6549 extern (C
) void function () _clutter_deform5
;
6550 extern (C
) void function () _clutter_deform6
;
6551 extern (C
) void function () _clutter_deform7
;
6554 struct DeformEffectPrivate
{
6557 enum int Delete
= 65535;
6559 // <structname>ClutterDesaturateEffect</structname> is an opaque structure
6560 // whose members cannot be directly accessed
6561 struct DesaturateEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
6562 alias method_parent
this;
6563 alias method_parent super_
;
6564 alias method_parent offscreeneffect
;
6565 OffscreenEffect method_parent
;
6568 // Creates a new #ClutterDesaturateEffect to be used with
6569 // clutter_actor_add_effect()
6570 // RETURNS: the newly created #ClutterDesaturateEffect or %NULL
6571 // <factor>: the desaturation factor, between 0.0 and 1.0
6572 static DesaturateEffect
* new_(double factor
) {
6573 return clutter_desaturate_effect_new(factor
);
6576 // Retrieves the desaturation factor of @effect
6577 // RETURNS: the desaturation factor
6578 double get_factor() {
6579 return clutter_desaturate_effect_get_factor(&this);
6582 // Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
6583 // and 1.0 being "fully desaturate"
6584 // <factor>: the desaturation factor, between 0.0 and 1.0
6585 void set_factor(double factor
) {
6586 clutter_desaturate_effect_set_factor(&this, factor
);
6590 struct DesaturateEffectClass
{
6593 // The #ClutterDeviceManager structure contains only private data
6594 struct DeviceManager
/* : GObject.Object */ /* Version 1.2 */ {
6595 alias parent_instance
this;
6596 alias parent_instance super_
;
6597 alias parent_instance object
;
6598 GObject2
.Object parent_instance
;
6599 private DeviceManagerPrivate
* priv
;
6602 // Retrieves the device manager singleton
6604 // The returned instance is owned by Clutter and it should not be
6605 // modified or freed
6606 // RETURNS: the #ClutterDeviceManager singleton.
6607 static DeviceManager
* get_default() {
6608 return clutter_device_manager_get_default();
6611 // Retrieves the core #ClutterInputDevice of type @device_type
6613 // Core devices are devices created automatically by the default
6616 // returned device is owned by the #ClutterDeviceManager and should
6617 // not be modified or freed
6618 // RETURNS: a #ClutterInputDevice or %NULL. The
6619 // <device_type>: the type of the core device
6620 InputDevice
* get_core_device(InputDeviceType device_type
) {
6621 return clutter_device_manager_get_core_device(&this, device_type
);
6624 // Retrieves the #ClutterInputDevice with the given @device_id
6626 // returned device is owned by the #ClutterDeviceManager and should
6627 // never be modified or freed
6628 // RETURNS: a #ClutterInputDevice or %NULL. The
6629 // <device_id>: the integer id of a device
6630 InputDevice
* get_device(int device_id
) {
6631 return clutter_device_manager_get_device(&this, device_id
);
6634 // Lists all currently registered input devices
6636 // a newly allocated list of #ClutterInputDevice objects. Use
6637 // g_slist_free() to deallocate it when done
6638 GLib2
.SList
* /*new container*/ list_devices() {
6639 return clutter_device_manager_list_devices(&this);
6642 // Lists all currently registered input devices
6644 // a pointer to the internal list of #ClutterInputDevice objects. The
6645 // returned list is owned by the #ClutterDeviceManager and should never
6646 // be modified or freed
6647 GLib2
.SList
* peek_devices() {
6648 return clutter_device_manager_peek_devices(&this);
6651 // The ::device-added signal is emitted each time a device has been
6652 // added to the #ClutterDeviceManager
6653 // <device>: the newly added #ClutterInputDevice
6654 extern (C
) alias static void function (DeviceManager
* this_
, InputDevice
* device
, void* user_data
=null) signal_device_added
;
6656 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6657 return super_
.signal_connect
!name(cb
, data
, cf
);
6660 ulong signal_connect(string name
:"device-added", CB
:signal_device_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6661 return signal_connect_data(&this, cast(char*)"device-added",
6662 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6665 // The ::device-removed signal is emitted each time a device has been
6666 // removed from the #ClutterDeviceManager
6667 // <device>: the removed #ClutterInputDevice
6668 extern (C
) alias static void function (DeviceManager
* this_
, InputDevice
* device
, void* user_data
=null) signal_device_removed
;
6669 ulong signal_connect(string name
:"device-removed", CB
:signal_device_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6670 return signal_connect_data(&this, cast(char*)"device-removed",
6671 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6675 // The #ClutterDeviceManagerClass structure contains only private data
6676 struct DeviceManagerClass
/* Version 1.2 */ {
6677 private GObject2
.ObjectClass parent_class
;
6678 // Unintrospectable functionp: get_devices() / ()
6679 extern (C
) GLib2
.SList
* function (DeviceManager
* device_manager
) get_devices
;
6681 // RETURNS: a #ClutterInputDevice or %NULL. The
6682 // <device_type>: the type of the core device
6683 extern (C
) InputDevice
* function (DeviceManager
* device_manager
, InputDeviceType device_type
) get_core_device
;
6685 // RETURNS: a #ClutterInputDevice or %NULL. The
6686 // <device_id>: the integer id of a device
6687 extern (C
) InputDevice
* function (DeviceManager
* device_manager
, int device_id
) get_device
;
6688 extern (C
) void function (DeviceManager
* manager
, InputDevice
* device
) add_device
;
6689 extern (C
) void function (DeviceManager
* manager
, InputDevice
* device
) remove_device
;
6690 private void*[8] _padding
;
6693 struct DeviceManagerPrivate
{
6696 enum int Display
= 269025113;
6697 enum int Documents
= 269025115;
6698 enum int DongSign
= 16785579;
6699 enum int Down
= 65364;
6701 // The <structname>ClutterDragAction</structname> structure contains only
6702 // private data and should be accessed using the provided API
6703 struct DragAction
/* : Action */ /* Version 1.4 */ {
6704 alias parent_instance
this;
6705 alias parent_instance super_
;
6706 alias parent_instance action
;
6707 Action parent_instance
;
6708 private DragActionPrivate
* priv
;
6711 // Creates a new #ClutterDragAction instance
6712 // RETURNS: the newly created #ClutterDragAction
6713 static DragAction
* new_() {
6714 return clutter_drag_action_new();
6717 // Retrieves the axis constraint set by clutter_drag_action_set_drag_axis()
6718 // RETURNS: the axis constraint
6719 DragAxis
get_drag_axis() {
6720 return clutter_drag_action_get_drag_axis(&this);
6723 // Retrieves the drag handle set by clutter_drag_action_set_drag_handle()
6725 // handle, or %NULL if none was set
6726 // RETURNS: a #ClutterActor, used as the drag
6727 Actor
* get_drag_handle() {
6728 return clutter_drag_action_get_drag_handle(&this);
6731 // Retrieves the values set by clutter_drag_action_set_drag_threshold().
6733 // If the #ClutterDragAction:x-drag-threshold property or the
6734 // #ClutterDragAction:y-drag-threshold property have been set to -1 then
6735 // this function will return the default drag threshold value as stored
6736 // by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
6737 // <x_threshold>: return location for the horizontal drag threshold value, in pixels
6738 // <y_threshold>: return location for the vertical drag threshold value, in pixels
6739 void get_drag_threshold(/*out*/ uint* x_threshold
, /*out*/ uint* y_threshold
) {
6740 clutter_drag_action_get_drag_threshold(&this, x_threshold
, y_threshold
);
6743 // Retrieves the coordinates, in stage space, of the latest motion
6744 // event during the dragging
6745 // <motion_x>: return location for the latest motion event's X coordinate
6746 // <motion_y>: return location for the latest motion event's Y coordinate
6747 void get_motion_coords(/*out*/ float* motion_x
, /*out*/ float* motion_y
) {
6748 clutter_drag_action_get_motion_coords(&this, motion_x
, motion_y
);
6751 // Retrieves the coordinates, in stage space, of the press event
6752 // that started the dragging
6753 // <press_x>: return location for the press event's X coordinate
6754 // <press_y>: return location for the press event's Y coordinate
6755 void get_press_coords(/*out*/ float* press_x
, /*out*/ float* press_y
) {
6756 clutter_drag_action_get_press_coords(&this, press_x
, press_y
);
6759 // Restricts the dragging action to a specific axis
6760 // <axis>: the axis to constraint the dragging to
6761 void set_drag_axis(DragAxis axis
) {
6762 clutter_drag_action_set_drag_axis(&this, axis
);
6765 // Sets the actor to be used as the drag handle.
6766 // <handle>: a #ClutterActor, or %NULL to unset
6767 void set_drag_handle(Actor
* handle
=null) {
6768 clutter_drag_action_set_drag_handle(&this, handle
);
6771 // Sets the horizontal and vertical drag thresholds that must be
6772 // cleared by the pointer before @action can begin the dragging.
6774 // If @x_threshold or @y_threshold are set to -1 then the default
6775 // drag threshold stored in the #ClutterSettings:dnd-drag-threshold
6776 // property of #ClutterSettings will be used.
6777 // <x_threshold>: a distance on the horizontal axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
6778 // <y_threshold>: a distance on the vertical axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
6779 void set_drag_threshold(int x_threshold
, int y_threshold
) {
6780 clutter_drag_action_set_drag_threshold(&this, x_threshold
, y_threshold
);
6783 // The ::drag-begin signal is emitted when the #ClutterDragAction
6784 // starts the dragging
6786 // The emission of this signal can be delayed by using the
6787 // #ClutterDragAction:x-drag-threshold and
6788 // #ClutterDragAction:y-drag-threshold properties
6789 // <actor>: the #ClutterActor attached to the action
6790 // <event_x>: the X coordinate (in stage space) of the press event
6791 // <event_y>: the Y coordinate (in stage space) of the press event
6792 // <modifiers>: the modifiers of the press event
6793 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
;
6795 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6796 return super_
.signal_connect
!name(cb
, data
, cf
);
6799 ulong signal_connect(string name
:"drag-begin", CB
:signal_drag_begin
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6800 return signal_connect_data(&this, cast(char*)"drag-begin",
6801 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6804 // The ::drag-end signal is emitted at the end of the dragging,
6805 // when the pointer button's is released
6807 // This signal is emitted if and only if the #ClutterDragAction::drag-begin
6808 // signal has been emitted first
6809 // <actor>: the #ClutterActor attached to the action
6810 // <event_x>: the X coordinate (in stage space) of the release event
6811 // <event_y>: the Y coordinate (in stage space) of the release event
6812 // <modifiers>: the modifiers of the release event
6813 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
;
6814 ulong signal_connect(string name
:"drag-end", CB
:signal_drag_end
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6815 return signal_connect_data(&this, cast(char*)"drag-end",
6816 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6819 // The ::drag-motion signal is emitted for each motion event after
6820 // the #ClutterDragAction::drag-begin signal has been emitted.
6822 // The components of the distance between the press event and the
6823 // latest motion event are computed in the actor's coordinate space,
6824 // to take into account eventual transformations. If you want the
6825 // stage coordinates of the latest motion event you can use
6826 // clutter_drag_action_get_motion_coords().
6828 // The default handler of the signal will call clutter_actor_move_by()
6829 // either on @actor or, if set, of #ClutterDragAction:drag-handle using
6830 // the @delta_x and @delta_y components of the dragging motion. If you
6831 // want to override the default behaviour, you can connect to this
6832 // signal and call g_signal_stop_emission_by_name() from within your
6834 // <actor>: the #ClutterActor attached to the action
6835 // <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
6836 // <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
6837 extern (C
) alias static void function (DragAction
* this_
, Actor
* actor
, float delta_x
, float delta_y
, void* user_data
=null) signal_drag_motion
;
6838 ulong signal_connect(string name
:"drag-motion", CB
:signal_drag_motion
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6839 return signal_connect_data(&this, cast(char*)"drag-motion",
6840 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6845 // The <structname>ClutterDragActionClass</structname> structure contains
6846 // only private data
6847 struct DragActionClass
/* Version 1.4 */ {
6848 private ActionClass parent_class
;
6849 extern (C
) void function (DragAction
* action
, Actor
* actor
, float event_x
, float event_y
, ModifierType modifiers
) drag_begin
;
6850 extern (C
) void function (DragAction
* action
, Actor
* actor
, float delta_x
, float delta_y
) drag_motion
;
6851 extern (C
) void function (DragAction
* action
, Actor
* actor
, float event_x
, float event_y
, ModifierType modifiers
) drag_end
;
6852 extern (C
) void function () _clutter_drag_action1
;
6853 extern (C
) void function () _clutter_drag_action2
;
6854 extern (C
) void function () _clutter_drag_action3
;
6855 extern (C
) void function () _clutter_drag_action4
;
6856 extern (C
) void function () _clutter_drag_action5
;
6859 struct DragActionPrivate
{
6863 // The axis of the constraint that should be applied on the
6865 enum DragAxis
/* Version 1.4 */ {
6871 // The <structname>ClutterDropAction</structname> structure contains only
6872 // private data and should be accessed using the provided API.
6873 struct DropAction
/* : Action */ /* Version 1.8 */ {
6874 alias parent_instance
this;
6875 alias parent_instance super_
;
6876 alias parent_instance action
;
6877 Action parent_instance
;
6878 private DropActionPrivate
* priv
;
6881 // Creates a new #ClutterDropAction.
6883 // Use clutter_actor_add_action() to add the action to a #ClutterActor.
6884 // RETURNS: the newly created #ClutterDropAction
6885 static DropAction
* new_() {
6886 return clutter_drop_action_new();
6889 // The ::can-drop signal is emitted when the dragged actor is dropped
6890 // on @actor. The return value of the ::can-drop signal will determine
6891 // whether or not the #ClutterDropAction::drop signal is going to be
6892 // emitted on @action.
6894 // The default implementation of #ClutterDropAction returns %TRUE for
6896 // RETURNS: %TRUE if the drop is accepted, and %FALSE otherwise
6897 // <actor>: the #ClutterActor attached to the @action
6898 // <returns>: %TRUE if the drop is accepted, and %FALSE otherwise
6899 extern (C
) alias static c_int
function (DropAction
* this_
, Actor
* actor
, float returns
, float since
, void* user_data
=null) signal_can_drop
;
6901 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6902 return super_
.signal_connect
!name(cb
, data
, cf
);
6905 ulong signal_connect(string name
:"can-drop", CB
:signal_can_drop
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6906 return signal_connect_data(&this, cast(char*)"can-drop",
6907 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6910 // The ::drop signal is emitted when the dragged actor is dropped
6911 // on @actor. This signal is only emitted if at least an handler of
6912 // #ClutterDropAction::can-drop returns %TRUE.
6913 extern (C
) alias static void function (DropAction
* this_
, Actor
* object
, float p0
, float p1
, void* user_data
=null) signal_drop
;
6914 ulong signal_connect(string name
:"drop", CB
:signal_drop
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6915 return signal_connect_data(&this, cast(char*)"drop",
6916 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6919 // The ::over-in signal is emitted when the dragged actor crosses
6921 // <actor>: the #ClutterActor attached to the @action
6922 extern (C
) alias static void function (DropAction
* this_
, Actor
* actor
, void* user_data
=null) signal_over_in
;
6923 ulong signal_connect(string name
:"over-in", CB
:signal_over_in
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6924 return signal_connect_data(&this, cast(char*)"over-in",
6925 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6928 // The ::over-out signal is emitted when the dragged actor crosses
6930 // <actor>: the #ClutterActor attached to the @action
6931 extern (C
) alias static void function (DropAction
* this_
, Actor
* actor
, void* user_data
=null) signal_over_out
;
6932 ulong signal_connect(string name
:"over-out", CB
:signal_over_out
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
6933 return signal_connect_data(&this, cast(char*)"over-out",
6934 cast(GObject2
.Callback
)cb
, data
, null, cf
);
6939 // The <structname>ClutterDropActionClass</structname> structure contains
6940 // only private data.
6941 struct DropActionClass
/* Version 1.8 */ {
6942 private ActionClass parent_class
;
6943 extern (C
) int function (DropAction
* action
, Actor
* actor
, float event_x
, float event_y
) can_drop
;
6944 extern (C
) void function (DropAction
* action
, Actor
* actor
) over_in
;
6945 extern (C
) void function (DropAction
* action
, Actor
* actor
) over_out
;
6946 extern (C
) void function (DropAction
* action
, Actor
* actor
, float event_x
, float event_y
) drop
;
6947 extern (C
) void function () _clutter_drop_action1
;
6948 extern (C
) void function () _clutter_drop_action2
;
6949 extern (C
) void function () _clutter_drop_action3
;
6950 extern (C
) void function () _clutter_drop_action4
;
6951 extern (C
) void function () _clutter_drop_action5
;
6952 extern (C
) void function () _clutter_drop_action6
;
6953 extern (C
) void function () _clutter_drop_action7
;
6954 extern (C
) void function () _clutter_drop_action8
;
6957 struct DropActionPrivate
{
6960 enum int Dstroke
= 464;
6964 enum int Eabovedot
= 972;
6965 enum int Eacute
= 201;
6966 enum int Ebelowdot
= 16785080;
6967 enum int Ecaron
= 460;
6968 enum int Ecircumflex
= 202;
6969 enum int Ecircumflexacute
= 16785086;
6970 enum int Ecircumflexbelowdot
= 16785094;
6971 enum int Ecircumflexgrave
= 16785088;
6972 enum int Ecircumflexhook
= 16785090;
6973 enum int Ecircumflextilde
= 16785092;
6974 enum int EcuSign
= 16785568;
6975 enum int Ediaeresis
= 203;
6977 // The #ClutterEffect structure contains only private data and should
6978 // be accessed using the provided API
6979 struct Effect
/* : ActorMeta */ /* Version 1.4 */ {
6980 alias parent_instance
this;
6981 alias parent_instance super_
;
6982 alias parent_instance actormeta
;
6983 ActorMeta parent_instance
;
6986 // Queues a repaint of the effect. The effect can detect when the ‘paint’
6987 // method is called as a result of this function because it will not
6988 // have the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag set. In that case the
6989 // effect is free to assume that the actor has not changed its
6990 // appearance since the last time it was painted so it doesn't need to
6991 // call clutter_actor_continue_paint() if it can draw a cached
6992 // image. This is mostly intended for effects that are using a
6993 // %CoglOffscreen to redirect the actor (such as
6994 // %ClutterOffscreenEffect). In that case the effect can save a bit of
6995 // rendering time by painting the cached texture without causing the
6996 // entire actor to be painted.
6998 // This function can be used by effects that have their own animatable
6999 // parameters. For example, an effect which adds a varying degree of a
7000 // red tint to an actor by redirecting it through a CoglOffscreen
7001 // might have a property to specify the level of tint. When this value
7002 // changes, the underlying actor doesn't need to be redrawn so the
7003 // effect can call clutter_effect_queue_repaint() to make sure the
7004 // effect is repainted.
7006 // Note however that modifying the position of the parent of an actor
7007 // may change the appearance of the actor because its transformation
7008 // matrix would change. In this case a redraw wouldn't be queued on
7009 // the actor itself so the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY would still
7010 // not be set. The effect can detect this case by keeping track of the
7011 // last modelview matrix that was used to render the actor and
7012 // veryifying that it remains the same in the next paint.
7014 // Any other effects that are layered on top of the passed in effect
7015 // will still be passed the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag. If
7016 // anything queues a redraw on the actor without specifying an effect
7017 // or with an effect that is lower in the chain of effects than this
7018 // one then that will override this call. In that case this effect
7019 // will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
7021 void queue_repaint() {
7022 clutter_effect_queue_repaint(&this);
7026 // The #ClutterEffectClass structure contains only private data
7027 struct EffectClass
/* Version 1.4 */ {
7028 private ActorMetaClass parent_class
;
7029 extern (C
) int function (Effect
* effect
) pre_paint
;
7030 extern (C
) void function (Effect
* effect
) post_paint
;
7031 extern (C
) int function (Effect
* effect
, PaintVolume
* volume
) get_paint_volume
;
7032 extern (C
) void function (Effect
* effect
, EffectPaintFlags flags
) paint
;
7033 extern (C
) void function (Effect
* effect
, EffectPaintFlags flags
) pick
;
7034 extern (C
) void function () _clutter_effect4
;
7035 extern (C
) void function () _clutter_effect5
;
7036 extern (C
) void function () _clutter_effect6
;
7039 // Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.
7040 enum EffectPaintFlags
{
7043 enum int Egrave
= 200;
7044 enum int Ehook
= 16785082;
7045 enum int Eisu_Shift
= 65327;
7046 enum int Eisu_toggle
= 65328;
7047 enum int Eject
= 269025068;
7048 enum int Emacron
= 938;
7049 enum int End
= 65367;
7050 enum int Eogonek
= 458;
7051 enum int Escape
= 65307;
7053 enum int Etilde
= 16785084;
7054 enum int EuroSign
= 8364;
7055 // Generic event wrapper.
7056 union Event
/* Version 0.2 */ {
7057 private EventType type_
;
7058 private AnyEvent any
;
7059 private ButtonEvent button
;
7060 private KeyEvent key
;
7061 private MotionEvent motion
;
7062 private ScrollEvent scroll
;
7063 private StageStateEvent stage_state
;
7064 private CrossingEvent crossing
;
7067 // Creates a new #ClutterEvent of the specified type.
7068 // RETURNS: A newly allocated #ClutterEvent.
7069 // <type>: The type of event.
7070 static Event
* /*new*/ new_(EventType type
) {
7071 return clutter_event_new(type
);
7075 // RETURNS: A newly allocated #ClutterEvent
7076 Event
* /*new*/ copy() {
7077 return clutter_event_copy(&this);
7079 // Frees all resources used by @event.
7081 clutter_event_free(&this);
7084 // Retrieves the array of axes values attached to the event.
7085 // RETURNS: an array of axis values
7086 // <n_axes>: return location for the number of axes returned
7087 double* get_axes(/*out*/ uint* n_axes
) {
7088 return clutter_event_get_axes(&this, n_axes
);
7091 // Retrieves the button number of @event
7092 // RETURNS: the button number
7094 return clutter_event_get_button(&this);
7097 // Retrieves the number of clicks of @event
7098 // RETURNS: the click count
7099 uint get_click_count() {
7100 return clutter_event_get_click_count(&this);
7103 // Retrieves the coordinates of @event and puts them into @x and @y.
7104 // <x>: return location for the X coordinate, or %NULL
7105 // <y>: return location for the Y coordinate, or %NULL
7106 void get_coords(/*out*/ float* x
, /*out*/ float* y
) {
7107 clutter_event_get_coords(&this, x
, y
);
7110 // Retrieves the #ClutterInputDevice for the event.
7112 // The #ClutterInputDevice structure is completely opaque and should
7113 // be cast to the platform-specific implementation.
7115 // returned device is owned by the #ClutterEvent and it should not
7117 // RETURNS: the #ClutterInputDevice or %NULL. The
7118 InputDevice
* get_device() {
7119 return clutter_event_get_device(&this);
7122 // Retrieves the events device id if set.
7124 // no specific device set.
7125 // RETURNS: A unique identifier for the device or -1 if the event has
7126 int get_device_id() {
7127 return clutter_event_get_device_id(&this);
7130 // Retrieves the type of the device for @event
7133 // RETURNS: the #ClutterInputDeviceType for the device, if
7134 InputDeviceType
get_device_type() {
7135 return clutter_event_get_device_type(&this);
7138 // Retrieves the #ClutterEventFlags of @event
7139 // RETURNS: the event flags
7140 EventFlags
get_flags() {
7141 return clutter_event_get_flags(&this);
7144 // Retrieves the keycode of the key that caused @event
7145 // RETURNS: The keycode representing the key
7146 ushort get_key_code() {
7147 return clutter_event_get_key_code(&this);
7150 // Retrieves the key symbol of @event
7151 // RETURNS: the key symbol representing the key
7152 uint get_key_symbol() {
7153 return clutter_event_get_key_symbol(&this);
7156 // Retrieves the unicode value for the key that caused @keyev.
7157 // RETURNS: The unicode value representing the key
7158 uint get_key_unicode() {
7159 return clutter_event_get_key_unicode(&this);
7162 // Retrieves the related actor of a crossing event.
7163 // RETURNS: the related #ClutterActor, or %NULL
7164 Actor
* get_related() {
7165 return clutter_event_get_related(&this);
7168 // Retrieves the direction of the scrolling of @event
7169 // RETURNS: the scrolling direction
7170 ScrollDirection
get_scroll_direction() {
7171 return clutter_event_get_scroll_direction(&this);
7174 // Retrieves the source #ClutterActor the event originated from, or
7175 // NULL if the event has no source.
7176 // RETURNS: a #ClutterActor
7177 Actor
* get_source() {
7178 return clutter_event_get_source(&this);
7181 // Retrieves the hardware device that originated the event.
7183 // If you need the virtual device, use clutter_event_get_device().
7185 // If no hardware device originated this event, this function will
7186 // return the same device as clutter_event_get_device().
7189 // RETURNS: a pointer to a #ClutterInputDevice
7190 InputDevice
* get_source_device() {
7191 return clutter_event_get_source_device(&this);
7194 // Retrieves the source #ClutterStage the event originated for, or
7195 // %NULL if the event has no stage.
7196 // RETURNS: a #ClutterStage
7197 Stage
* get_stage() {
7198 return clutter_event_get_stage(&this);
7201 // Retrieves the modifier state of the event.
7202 // RETURNS: the modifier state parameter, or 0
7203 ModifierType
get_state() {
7204 return clutter_event_get_state(&this);
7207 // Retrieves the time of the event.
7208 // RETURNS: the time of the event, or %CLUTTER_CURRENT_TIME
7210 return clutter_event_get_time(&this);
7213 // Puts a copy of the event on the back of the event queue. The event will
7214 // have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set
7215 // event signals will be emitted for this source and capture/bubbling for
7216 // its ancestors. If the source is not set it will be generated by picking
7217 // or use the actor that currently has keyboard focus
7219 clutter_event_put(&this);
7222 // Sets the button number of @event
7223 // <button>: the button number
7224 void set_button(uint button
) {
7225 clutter_event_set_button(&this, button
);
7228 // Sets the coordinates of the @event.
7229 // <x>: the X coordinate of the event
7230 // <y>: the Y coordinate of the event
7231 void set_coords(float x
, float y
) {
7232 clutter_event_set_coords(&this, x
, y
);
7235 // Sets the device for @event.
7236 // <device>: a #ClutterInputDevice, or %NULL
7237 void set_device(InputDevice
* device
=null) {
7238 clutter_event_set_device(&this, device
);
7241 // Sets the #ClutterEventFlags of @event
7242 // <flags>: a binary OR of #ClutterEventFlags values
7243 void set_flags(EventFlags flags
) {
7244 clutter_event_set_flags(&this, flags
);
7247 // Sets the keycode of the @event.
7248 // <key_code>: the keycode representing the key
7249 void set_key_code(ushort key_code
) {
7250 clutter_event_set_key_code(&this, key_code
);
7253 // Sets the key symbol of @event.
7254 // <key_sym>: the key symbol representing the key
7255 void set_key_symbol(uint key_sym
) {
7256 clutter_event_set_key_symbol(&this, key_sym
);
7259 // Sets the Unicode value of @event.
7260 // <key_unicode>: the Unicode value representing the key
7261 void set_key_unicode(uint key_unicode
) {
7262 clutter_event_set_key_unicode(&this, key_unicode
);
7265 // Sets the related actor of a crossing event
7266 // <actor>: a #ClutterActor or %NULL
7267 void set_related(Actor
* actor
=null) {
7268 clutter_event_set_related(&this, actor
);
7271 // Sets the direction of the scrolling of @event
7272 // <direction>: the scrolling direction
7273 void set_scroll_direction(ScrollDirection direction
) {
7274 clutter_event_set_scroll_direction(&this, direction
);
7277 // Sets the source #ClutterActor of @event.
7278 // <actor>: a #ClutterActor, or %NULL
7279 void set_source(Actor
* actor
=null) {
7280 clutter_event_set_source(&this, actor
);
7283 // Sets the source #ClutterInputDevice for @event.
7285 // The #ClutterEvent must have been created using clutter_event_new().
7286 // <device>: a #ClutterInputDevice
7287 void set_source_device(InputDevice
* device
=null) {
7288 clutter_event_set_source_device(&this, device
);
7291 // Sets the source #ClutterStage of the event.
7292 // <stage>: a #ClutterStage, or %NULL
7293 void set_stage(Stage
* stage
=null) {
7294 clutter_event_set_stage(&this, stage
);
7297 // Sets the modifier state of the event.
7298 // <state>: the modifier state to set
7299 void set_state(ModifierType state
) {
7300 clutter_event_set_state(&this, state
);
7303 // Sets the time of the event.
7304 // <time_>: the time of the event
7305 void set_time(uint time_
) {
7306 clutter_event_set_time(&this, time_
);
7309 // Retrieves the type of the event.
7310 // RETURNS: a #ClutterEventType
7312 return clutter_event_type(&this);
7315 // Pops an event off the event queue. Applications should not need to call
7317 // RETURNS: A #ClutterEvent or NULL if queue empty
7318 static Event
* /*new*/ get() {
7319 return clutter_event_get();
7322 // Returns a pointer to the first event from the event queue but
7323 // does not remove it.
7324 // RETURNS: A #ClutterEvent or NULL if queue empty.
7325 static Event
* peek() {
7326 return clutter_event_peek();
7330 // Flags for the #ClutterEvent
7331 enum EventFlags
/* Version 0.6 */ {
7336 enum EventType
/* Version 0.4 */ {
7347 DESTROY_NOTIFY
= 10,
7348 CLIENT_MESSAGE
= 11,
7351 enum int Excel
= 269025116;
7352 enum int Execute
= 65378;
7353 enum int Explorer
= 269025117;
7355 enum int F1
= 65470;
7356 enum int F10
= 65479;
7357 enum int F11
= 65480;
7358 enum int F12
= 65481;
7359 enum int F13
= 65482;
7360 enum int F14
= 65483;
7361 enum int F15
= 65484;
7362 enum int F16
= 65485;
7363 enum int F17
= 65486;
7364 enum int F18
= 65487;
7365 enum int F19
= 65488;
7366 enum int F2
= 65471;
7367 enum int F20
= 65489;
7368 enum int F21
= 65490;
7369 enum int F22
= 65491;
7370 enum int F23
= 65492;
7371 enum int F24
= 65493;
7372 enum int F25
= 65494;
7373 enum int F26
= 65495;
7374 enum int F27
= 65496;
7375 enum int F28
= 65497;
7376 enum int F29
= 65498;
7377 enum int F3
= 65472;
7378 enum int F30
= 65499;
7379 enum int F31
= 65500;
7380 enum int F32
= 65501;
7381 enum int F33
= 65502;
7382 enum int F34
= 65503;
7383 enum int F35
= 65504;
7384 enum int F4
= 65473;
7385 enum int F5
= 65474;
7386 enum int F6
= 65475;
7387 enum int F7
= 65476;
7388 enum int F8
= 65477;
7389 enum int F9
= 65478;
7390 enum int FFrancSign
= 16785571;
7391 enum FLAVOUR
= "glx";
7392 enum int Fabovedot
= 16784926;
7393 enum int Farsi_0
= 16778992;
7394 enum int Farsi_1
= 16778993;
7395 enum int Farsi_2
= 16778994;
7396 enum int Farsi_3
= 16778995;
7397 enum int Farsi_4
= 16778996;
7398 enum int Farsi_5
= 16778997;
7399 enum int Farsi_6
= 16778998;
7400 enum int Farsi_7
= 16778999;
7401 enum int Farsi_8
= 16779000;
7402 enum int Farsi_9
= 16779001;
7403 enum int Farsi_yeh
= 16778956;
7404 enum int Favorites
= 269025072;
7406 // Runtime flags indicating specific features available via Clutter window
7407 // sysytem and graphics backend.
7408 enum FeatureFlags
/* Version 0.4 */ {
7412 TEXTURE_READ_PIXELS
= 32,
7414 STAGE_USER_RESIZE
= 128,
7418 STAGE_MULTIPLE
= 2048,
7421 enum int Finance
= 269025084;
7422 enum int Find
= 65384;
7423 enum int First_Virtual_Screen
= 65232;
7425 // The #ClutterFixedLayout structure contains only private data and
7426 // it should be accessed using the provided API
7427 struct FixedLayout
/* : LayoutManager */ /* Version 1.2 */ {
7428 alias parent_instance
this;
7429 alias parent_instance super_
;
7430 alias parent_instance layoutmanager
;
7431 LayoutManager parent_instance
;
7434 // Creates a new #ClutterFixedLayout
7435 // RETURNS: the newly created #ClutterFixedLayout
7436 static FixedLayout
* new_() {
7437 return clutter_fixed_layout_new();
7442 // The #ClutterFixedLayoutClass structure contains only private data
7443 // and it should be accessed using the provided API
7444 struct FixedLayoutClass
/* Version 1.2 */ {
7445 private LayoutManagerClass parent_class
;
7449 // The #ClutterFlowLayout structure contains only private data
7450 // and should be accessed using the provided API
7451 struct FlowLayout
/* : LayoutManager */ /* Version 1.2 */ {
7452 alias parent_instance
this;
7453 alias parent_instance super_
;
7454 alias parent_instance layoutmanager
;
7455 LayoutManager parent_instance
;
7456 private FlowLayoutPrivate
* priv
;
7459 // Creates a new #ClutterFlowLayout with the given @orientation
7460 // RETURNS: the newly created #ClutterFlowLayout
7461 // <orientation>: the orientation of the flow layout
7462 static FlowLayout
* new_(FlowOrientation orientation
) {
7463 return clutter_flow_layout_new(orientation
);
7466 // Retrieves the spacing between columns
7469 // RETURNS: the spacing between columns of the #ClutterFlowLayout,
7470 float get_column_spacing() {
7471 return clutter_flow_layout_get_column_spacing(&this);
7474 // Retrieves the minimum and maximum column widths
7475 // <min_width>: return location for the minimum column width, or %NULL
7476 // <max_width>: return location for the maximum column width, or %NULL
7477 void get_column_width(/*out*/ float* min_width
, /*out*/ float* max_width
) {
7478 clutter_flow_layout_get_column_width(&this, min_width
, max_width
);
7481 // Retrieves whether the @layout is homogeneous
7482 // RETURNS: %TRUE if the #ClutterFlowLayout is homogeneous
7483 int get_homogeneous() {
7484 return clutter_flow_layout_get_homogeneous(&this);
7487 // Retrieves the orientation of the @layout
7488 // RETURNS: the orientation of the #ClutterFlowLayout
7489 FlowOrientation
get_orientation() {
7490 return clutter_flow_layout_get_orientation(&this);
7493 // Retrieves the minimum and maximum row heights
7494 // <min_height>: return location for the minimum row height, or %NULL
7495 // <max_height>: return location for the maximum row height, or %NULL
7496 void get_row_height(/*out*/ float* min_height
, /*out*/ float* max_height
) {
7497 clutter_flow_layout_get_row_height(&this, min_height
, max_height
);
7500 // Retrieves the spacing between rows
7503 // RETURNS: the spacing between rows of the #ClutterFlowLayout,
7504 float get_row_spacing() {
7505 return clutter_flow_layout_get_row_spacing(&this);
7508 // Sets the space between columns, in pixels
7509 // <spacing>: the space between columns
7510 void set_column_spacing(float spacing
) {
7511 clutter_flow_layout_set_column_spacing(&this, spacing
);
7514 // Sets the minimum and maximum widths that a column can have
7515 // <min_width>: minimum width of a column
7516 // <max_width>: maximum width of a column
7517 void set_column_width(float min_width
, float max_width
) {
7518 clutter_flow_layout_set_column_width(&this, min_width
, max_width
);
7521 // Sets whether the @layout should allocate the same space for
7523 // <homogeneous>: whether the layout should be homogeneous or not
7524 void set_homogeneous(int homogeneous
) {
7525 clutter_flow_layout_set_homogeneous(&this, homogeneous
);
7528 // Sets the orientation of the flow layout
7530 // The orientation controls the direction used to allocate
7531 // the children: either horizontally or vertically. The
7532 // orientation also controls the direction of the overflowing
7533 // <orientation>: the orientation of the layout
7534 void set_orientation(FlowOrientation orientation
) {
7535 clutter_flow_layout_set_orientation(&this, orientation
);
7538 // Sets the minimum and maximum heights that a row can have
7539 // <min_height>: the minimum height of a row
7540 // <max_height>: the maximum height of a row
7541 void set_row_height(float min_height
, float max_height
) {
7542 clutter_flow_layout_set_row_height(&this, min_height
, max_height
);
7545 // Sets the spacing between rows, in pixels
7546 // <spacing>: the space between rows
7547 void set_row_spacing(float spacing
) {
7548 clutter_flow_layout_set_row_spacing(&this, spacing
);
7553 // The #ClutterFlowLayoutClass structure contains only private data
7554 // and should be accessed using the provided API
7555 struct FlowLayoutClass
/* Version 1.2 */ {
7556 private LayoutManagerClass parent_class
;
7559 struct FlowLayoutPrivate
{
7563 // The direction of the arrangement of the children inside
7564 // a #ClutterFlowLayout
7565 enum FlowOrientation
/* Version 1.2 */ {
7569 // Fog settings used to create the depth cueing effect.
7570 struct Fog
/* Version 0.6 */ {
7571 float z_near
, z_far
;
7575 // Runtime flags to change the font quality. To be used with
7576 // clutter_set_font_flags().
7577 enum FontFlags
/* Version 1.0 */ {
7581 enum int Forward
= 269025063;
7582 enum int FrameBack
= 269025181;
7583 enum int FrameForward
= 269025182;
7585 enum int Gabovedot
= 725;
7586 enum int Game
= 269025118;
7587 enum int Gbreve
= 683;
7588 enum int Gcaron
= 16777702;
7589 enum int Gcedilla
= 939;
7590 enum int Gcircumflex
= 728;
7591 // The rectangle containing an actor's bounding box, measured in pixels.
7597 // Determines if @geometry0 and geometry1 intersect returning %TRUE if
7598 // they do else %FALSE.
7601 // RETURNS: %TRUE of @geometry0 and geometry1 intersect else
7602 // <geometry1>: The second geometry to test
7603 int intersects(Geometry
* geometry1
) {
7604 return clutter_geometry_intersects(&this, geometry1
);
7607 // Find the union of two rectangles represented as #ClutterGeometry.
7608 // <geometry_b>: another #ClutterGeometry
7609 // <result>: location to store the result
7610 void union_(Geometry
* geometry_b
, /*out*/ Geometry
* result
) {
7611 clutter_geometry_union(&this, geometry_b
, result
);
7615 enum int Georgian_an
= 16781520;
7616 enum int Georgian_ban
= 16781521;
7617 enum int Georgian_can
= 16781546;
7618 enum int Georgian_char
= 16781549;
7619 enum int Georgian_chin
= 16781545;
7620 enum int Georgian_cil
= 16781548;
7621 enum int Georgian_don
= 16781523;
7622 enum int Georgian_en
= 16781524;
7623 enum int Georgian_fi
= 16781558;
7624 enum int Georgian_gan
= 16781522;
7625 enum int Georgian_ghan
= 16781542;
7626 enum int Georgian_hae
= 16781552;
7627 enum int Georgian_har
= 16781556;
7628 enum int Georgian_he
= 16781553;
7629 enum int Georgian_hie
= 16781554;
7630 enum int Georgian_hoe
= 16781557;
7631 enum int Georgian_in
= 16781528;
7632 enum int Georgian_jhan
= 16781551;
7633 enum int Georgian_jil
= 16781547;
7634 enum int Georgian_kan
= 16781529;
7635 enum int Georgian_khar
= 16781541;
7636 enum int Georgian_las
= 16781530;
7637 enum int Georgian_man
= 16781531;
7638 enum int Georgian_nar
= 16781532;
7639 enum int Georgian_on
= 16781533;
7640 enum int Georgian_par
= 16781534;
7641 enum int Georgian_phar
= 16781540;
7642 enum int Georgian_qar
= 16781543;
7643 enum int Georgian_rae
= 16781536;
7644 enum int Georgian_san
= 16781537;
7645 enum int Georgian_shin
= 16781544;
7646 enum int Georgian_tan
= 16781527;
7647 enum int Georgian_tar
= 16781538;
7648 enum int Georgian_un
= 16781539;
7649 enum int Georgian_vin
= 16781525;
7650 enum int Georgian_we
= 16781555;
7651 enum int Georgian_xan
= 16781550;
7652 enum int Georgian_zen
= 16781526;
7653 enum int Georgian_zhar
= 16781535;
7655 // The <structname>ClutterGestureAction</structname> structure contains
7656 // only private data and should be accessed using the provided API
7657 struct GestureAction
/* : Action */ /* Version 1.8 */ {
7658 alias parent_instance
this;
7659 alias parent_instance super_
;
7660 alias parent_instance action
;
7661 Action parent_instance
;
7662 private GestureActionPrivate
* priv
;
7665 // Creates a new #ClutterGestureAction instance.
7666 // RETURNS: the newly created #ClutterGestureAction
7667 static GestureAction
* new_() {
7668 return clutter_gesture_action_new();
7671 // Retrieves the coordinates, in stage space, of the latest motion
7672 // event during the dragging
7673 // <device>: currently unused, set to 0
7674 // <motion_x>: return location for the latest motion event's X coordinate
7675 // <motion_y>: return location for the latest motion event's Y coordinate
7676 void get_motion_coords(uint device
, /*out*/ float* motion_x
, /*out*/ float* motion_y
) {
7677 clutter_gesture_action_get_motion_coords(&this, device
, motion_x
, motion_y
);
7680 // Retrieves the coordinates, in stage space, of the press event
7681 // that started the dragging for an specific pointer device
7682 // <device>: currently unused, set to 0
7683 // <press_x>: return location for the press event's X coordinate
7684 // <press_y>: return location for the press event's Y coordinate
7685 void get_press_coords(uint device
, /*out*/ float* press_x
, /*out*/ float* press_y
) {
7686 clutter_gesture_action_get_press_coords(&this, device
, press_x
, press_y
);
7689 // Retrieves the coordinates, in stage space, of the point where the pointer
7690 // device was last released.
7691 // <device>: currently unused, set to 0
7692 // <release_x>: return location for the X coordinate of the last release
7693 // <release_y>: return location for the Y coordinate of the last release
7694 void get_release_coords(uint device
, /*out*/ float* release_x
, /*out*/ float* release_y
) {
7695 clutter_gesture_action_get_release_coords(&this, device
, release_x
, release_y
);
7698 // The ::gesture_begin signal is emitted when the #ClutterActor to which
7699 // a #ClutterGestureAction has been applied starts receiving a gesture.
7701 // the gesture should be ignored.
7702 // RETURNS: %TRUE if the gesture should start, and %FALSE if
7703 // <actor>: the #ClutterActor attached to the @action
7704 extern (C
) alias static c_int
function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_begin
;
7706 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7707 return super_
.signal_connect
!name(cb
, data
, cf
);
7710 ulong signal_connect(string name
:"gesture-begin", CB
:signal_gesture_begin
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7711 return signal_connect_data(&this, cast(char*)"gesture-begin",
7712 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7715 // The ::gesture-cancel signal is emitted when the ongoing gesture gets
7716 // cancelled from the #ClutterGestureAction::gesture-progress signal handler.
7718 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
7719 // signal has been emitted first.
7720 // <actor>: the #ClutterActor attached to the @action
7721 extern (C
) alias static void function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_cancel
;
7722 ulong signal_connect(string name
:"gesture-cancel", CB
:signal_gesture_cancel
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7723 return signal_connect_data(&this, cast(char*)"gesture-cancel",
7724 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7727 // The ::gesture-end signal is emitted at the end of the gesture gesture,
7728 // when the pointer's button is released
7730 // This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
7731 // signal has been emitted first.
7732 // <actor>: the #ClutterActor attached to the @action
7733 extern (C
) alias static void function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_end
;
7734 ulong signal_connect(string name
:"gesture-end", CB
:signal_gesture_end
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7735 return signal_connect_data(&this, cast(char*)"gesture-end",
7736 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7739 // The ::gesture-progress signal is emitted for each motion event after
7740 // the #ClutterGestureAction::gesture-begin signal has been emitted.
7742 // the gesture should be cancelled.
7743 // RETURNS: %TRUE if the gesture should continue, and %FALSE if
7744 // <actor>: the #ClutterActor attached to the @action
7745 extern (C
) alias static c_int
function (GestureAction
* this_
, Actor
* actor
, void* user_data
=null) signal_gesture_progress
;
7746 ulong signal_connect(string name
:"gesture-progress", CB
:signal_gesture_progress
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
7747 return signal_connect_data(&this, cast(char*)"gesture-progress",
7748 cast(GObject2
.Callback
)cb
, data
, null, cf
);
7753 // The <structname>ClutterGestureClass</structname> structure contains only
7755 struct GestureActionClass
/* Version 1.8 */ {
7756 private ActionClass parent_class
;
7757 extern (C
) int function (GestureAction
* action
, Actor
* actor
) gesture_begin
;
7758 extern (C
) int function (GestureAction
* action
, Actor
* actor
) gesture_progress
;
7759 extern (C
) void function (GestureAction
* action
, Actor
* actor
) gesture_end
;
7760 extern (C
) void function (GestureAction
* action
, Actor
* actor
) gesture_cancel
;
7761 extern (C
) void function () _clutter_gesture_action1
;
7762 extern (C
) void function () _clutter_gesture_action2
;
7763 extern (C
) void function () _clutter_gesture_action3
;
7764 extern (C
) void function () _clutter_gesture_action4
;
7765 extern (C
) void function () _clutter_gesture_action5
;
7766 extern (C
) void function () _clutter_gesture_action6
;
7767 extern (C
) void function () _clutter_gesture_action7
;
7770 struct GestureActionPrivate
{
7773 enum int Go
= 269025119;
7775 // Gravity of the scaling operations. When a gravity different than
7776 // %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
7777 // of the specified portion at the same coordinates.
7778 enum Gravity
/* Version 0.2 */ {
7790 enum int Greek_ALPHA
= 1985;
7791 enum int Greek_ALPHAaccent
= 1953;
7792 enum int Greek_BETA
= 1986;
7793 enum int Greek_CHI
= 2007;
7794 enum int Greek_DELTA
= 1988;
7795 enum int Greek_EPSILON
= 1989;
7796 enum int Greek_EPSILONaccent
= 1954;
7797 enum int Greek_ETA
= 1991;
7798 enum int Greek_ETAaccent
= 1955;
7799 enum int Greek_GAMMA
= 1987;
7800 enum int Greek_IOTA
= 1993;
7801 enum int Greek_IOTAaccent
= 1956;
7802 enum int Greek_IOTAdiaeresis
= 1957;
7803 enum int Greek_IOTAdieresis
= 1957;
7804 enum int Greek_KAPPA
= 1994;
7805 enum int Greek_LAMBDA
= 1995;
7806 enum int Greek_LAMDA
= 1995;
7807 enum int Greek_MU
= 1996;
7808 enum int Greek_NU
= 1997;
7809 enum int Greek_OMEGA
= 2009;
7810 enum int Greek_OMEGAaccent
= 1963;
7811 enum int Greek_OMICRON
= 1999;
7812 enum int Greek_OMICRONaccent
= 1959;
7813 enum int Greek_PHI
= 2006;
7814 enum int Greek_PI
= 2000;
7815 enum int Greek_PSI
= 2008;
7816 enum int Greek_RHO
= 2001;
7817 enum int Greek_SIGMA
= 2002;
7818 enum int Greek_TAU
= 2004;
7819 enum int Greek_THETA
= 1992;
7820 enum int Greek_UPSILON
= 2005;
7821 enum int Greek_UPSILONaccent
= 1960;
7822 enum int Greek_UPSILONdieresis
= 1961;
7823 enum int Greek_XI
= 1998;
7824 enum int Greek_ZETA
= 1990;
7825 enum int Greek_accentdieresis
= 1966;
7826 enum int Greek_alpha
= 2017;
7827 enum int Greek_alphaaccent
= 1969;
7828 enum int Greek_beta
= 2018;
7829 enum int Greek_chi
= 2039;
7830 enum int Greek_delta
= 2020;
7831 enum int Greek_epsilon
= 2021;
7832 enum int Greek_epsilonaccent
= 1970;
7833 enum int Greek_eta
= 2023;
7834 enum int Greek_etaaccent
= 1971;
7835 enum int Greek_finalsmallsigma
= 2035;
7836 enum int Greek_gamma
= 2019;
7837 enum int Greek_horizbar
= 1967;
7838 enum int Greek_iota
= 2025;
7839 enum int Greek_iotaaccent
= 1972;
7840 enum int Greek_iotaaccentdieresis
= 1974;
7841 enum int Greek_iotadieresis
= 1973;
7842 enum int Greek_kappa
= 2026;
7843 enum int Greek_lambda
= 2027;
7844 enum int Greek_lamda
= 2027;
7845 enum int Greek_mu
= 2028;
7846 enum int Greek_nu
= 2029;
7847 enum int Greek_omega
= 2041;
7848 enum int Greek_omegaaccent
= 1979;
7849 enum int Greek_omicron
= 2031;
7850 enum int Greek_omicronaccent
= 1975;
7851 enum int Greek_phi
= 2038;
7852 enum int Greek_pi
= 2032;
7853 enum int Greek_psi
= 2040;
7854 enum int Greek_rho
= 2033;
7855 enum int Greek_sigma
= 2034;
7856 enum int Greek_switch
= 65406;
7857 enum int Greek_tau
= 2036;
7858 enum int Greek_theta
= 2024;
7859 enum int Greek_upsilon
= 2037;
7860 enum int Greek_upsilonaccent
= 1976;
7861 enum int Greek_upsilonaccentdieresis
= 1978;
7862 enum int Greek_upsilondieresis
= 1977;
7863 enum int Greek_xi
= 2030;
7864 enum int Greek_zeta
= 2022;
7865 enum int Green
= 269025188;
7867 // The #ClutterGroup structure contains only private data
7868 // and should be accessed using the provided API
7869 struct Group
/* : Actor */ /* Version 0.1 */ {
7870 alias parent_instance
this;
7871 alias parent_instance super_
;
7872 alias parent_instance actor
;
7873 Actor parent_instance
;
7874 private GroupPrivate
* priv
;
7877 // Create a new #ClutterGroup.
7878 // RETURNS: the newly created #ClutterGroup actor
7879 static Group
* new_() {
7880 return clutter_group_new();
7883 // Gets the number of actors held in the group.
7884 // RETURNS: The number of child actors held in the group.
7885 int get_n_children() {
7886 return clutter_group_get_n_children(&this);
7889 // Gets a groups child held at @index_ in stack.
7891 // @index_ is invalid.
7892 // RETURNS: A Clutter actor, or %NULL if
7893 // <index_>: the position of the requested actor.
7894 Actor
* get_nth_child(int index_
) {
7895 return clutter_group_get_nth_child(&this, index_
);
7897 // Removes all children actors from the #ClutterGroup.
7899 clutter_group_remove_all(&this);
7903 // The #ClutterGroupClass structure contains only private data
7904 struct GroupClass
/* Version 0.1 */ {
7905 private ActorClass parent_class
;
7906 extern (C
) void function () _clutter_reserved1
;
7907 extern (C
) void function () _clutter_reserved2
;
7908 extern (C
) void function () _clutter_reserved3
;
7909 extern (C
) void function () _clutter_reserved4
;
7910 extern (C
) void function () _clutter_reserved5
;
7911 extern (C
) void function () _clutter_reserved6
;
7914 struct GroupPrivate
{
7918 enum int Hangul
= 65329;
7919 enum int Hangul_A
= 3775;
7920 enum int Hangul_AE
= 3776;
7921 enum int Hangul_AraeA
= 3830;
7922 enum int Hangul_AraeAE
= 3831;
7923 enum int Hangul_Banja
= 65337;
7924 enum int Hangul_Cieuc
= 3770;
7925 enum int Hangul_Codeinput
= 65335;
7926 enum int Hangul_Dikeud
= 3751;
7927 enum int Hangul_E
= 3780;
7928 enum int Hangul_EO
= 3779;
7929 enum int Hangul_EU
= 3793;
7930 enum int Hangul_End
= 65331;
7931 enum int Hangul_Hanja
= 65332;
7932 enum int Hangul_Hieuh
= 3774;
7933 enum int Hangul_I
= 3795;
7934 enum int Hangul_Ieung
= 3767;
7935 enum int Hangul_J_Cieuc
= 3818;
7936 enum int Hangul_J_Dikeud
= 3802;
7937 enum int Hangul_J_Hieuh
= 3822;
7938 enum int Hangul_J_Ieung
= 3816;
7939 enum int Hangul_J_Jieuj
= 3817;
7940 enum int Hangul_J_Khieuq
= 3819;
7941 enum int Hangul_J_Kiyeog
= 3796;
7942 enum int Hangul_J_KiyeogSios
= 3798;
7943 enum int Hangul_J_KkogjiDalrinIeung
= 3833;
7944 enum int Hangul_J_Mieum
= 3811;
7945 enum int Hangul_J_Nieun
= 3799;
7946 enum int Hangul_J_NieunHieuh
= 3801;
7947 enum int Hangul_J_NieunJieuj
= 3800;
7948 enum int Hangul_J_PanSios
= 3832;
7949 enum int Hangul_J_Phieuf
= 3821;
7950 enum int Hangul_J_Pieub
= 3812;
7951 enum int Hangul_J_PieubSios
= 3813;
7952 enum int Hangul_J_Rieul
= 3803;
7953 enum int Hangul_J_RieulHieuh
= 3810;
7954 enum int Hangul_J_RieulKiyeog
= 3804;
7955 enum int Hangul_J_RieulMieum
= 3805;
7956 enum int Hangul_J_RieulPhieuf
= 3809;
7957 enum int Hangul_J_RieulPieub
= 3806;
7958 enum int Hangul_J_RieulSios
= 3807;
7959 enum int Hangul_J_RieulTieut
= 3808;
7960 enum int Hangul_J_Sios
= 3814;
7961 enum int Hangul_J_SsangKiyeog
= 3797;
7962 enum int Hangul_J_SsangSios
= 3815;
7963 enum int Hangul_J_Tieut
= 3820;
7964 enum int Hangul_J_YeorinHieuh
= 3834;
7965 enum int Hangul_Jamo
= 65333;
7966 enum int Hangul_Jeonja
= 65336;
7967 enum int Hangul_Jieuj
= 3768;
7968 enum int Hangul_Khieuq
= 3771;
7969 enum int Hangul_Kiyeog
= 3745;
7970 enum int Hangul_KiyeogSios
= 3747;
7971 enum int Hangul_KkogjiDalrinIeung
= 3827;
7972 enum int Hangul_Mieum
= 3761;
7973 enum int Hangul_MultipleCandidate
= 65341;
7974 enum int Hangul_Nieun
= 3748;
7975 enum int Hangul_NieunHieuh
= 3750;
7976 enum int Hangul_NieunJieuj
= 3749;
7977 enum int Hangul_O
= 3783;
7978 enum int Hangul_OE
= 3786;
7979 enum int Hangul_PanSios
= 3826;
7980 enum int Hangul_Phieuf
= 3773;
7981 enum int Hangul_Pieub
= 3762;
7982 enum int Hangul_PieubSios
= 3764;
7983 enum int Hangul_PostHanja
= 65339;
7984 enum int Hangul_PreHanja
= 65338;
7985 enum int Hangul_PreviousCandidate
= 65342;
7986 enum int Hangul_Rieul
= 3753;
7987 enum int Hangul_RieulHieuh
= 3760;
7988 enum int Hangul_RieulKiyeog
= 3754;
7989 enum int Hangul_RieulMieum
= 3755;
7990 enum int Hangul_RieulPhieuf
= 3759;
7991 enum int Hangul_RieulPieub
= 3756;
7992 enum int Hangul_RieulSios
= 3757;
7993 enum int Hangul_RieulTieut
= 3758;
7994 enum int Hangul_RieulYeorinHieuh
= 3823;
7995 enum int Hangul_Romaja
= 65334;
7996 enum int Hangul_SingleCandidate
= 65340;
7997 enum int Hangul_Sios
= 3765;
7998 enum int Hangul_Special
= 65343;
7999 enum int Hangul_SsangDikeud
= 3752;
8000 enum int Hangul_SsangJieuj
= 3769;
8001 enum int Hangul_SsangKiyeog
= 3746;
8002 enum int Hangul_SsangPieub
= 3763;
8003 enum int Hangul_SsangSios
= 3766;
8004 enum int Hangul_Start
= 65330;
8005 enum int Hangul_SunkyeongeumMieum
= 3824;
8006 enum int Hangul_SunkyeongeumPhieuf
= 3828;
8007 enum int Hangul_SunkyeongeumPieub
= 3825;
8008 enum int Hangul_Tieut
= 3772;
8009 enum int Hangul_U
= 3788;
8010 enum int Hangul_WA
= 3784;
8011 enum int Hangul_WAE
= 3785;
8012 enum int Hangul_WE
= 3790;
8013 enum int Hangul_WEO
= 3789;
8014 enum int Hangul_WI
= 3791;
8015 enum int Hangul_YA
= 3777;
8016 enum int Hangul_YAE
= 3778;
8017 enum int Hangul_YE
= 3782;
8018 enum int Hangul_YEO
= 3781;
8019 enum int Hangul_YI
= 3794;
8020 enum int Hangul_YO
= 3787;
8021 enum int Hangul_YU
= 3792;
8022 enum int Hangul_YeorinHieuh
= 3829;
8023 enum int Hangul_switch
= 65406;
8024 enum int Hankaku
= 65321;
8025 enum int Hcircumflex
= 678;
8026 enum int Hebrew_switch
= 65406;
8027 enum int Help
= 65386;
8028 enum int Henkan
= 65315;
8029 enum int Henkan_Mode
= 65315;
8030 enum int Hibernate
= 269025192;
8031 enum int Hiragana
= 65317;
8032 enum int Hiragana_Katakana
= 65319;
8033 enum int History
= 269025079;
8034 enum int Home
= 65360;
8035 enum int HomePage
= 269025048;
8036 enum int HotLinks
= 269025082;
8037 enum int Hstroke
= 673;
8038 enum int Hyper_L
= 65517;
8039 enum int Hyper_R
= 65518;
8041 enum int ISO_Center_Object
= 65075;
8042 enum int ISO_Continuous_Underline
= 65072;
8043 enum int ISO_Discontinuous_Underline
= 65073;
8044 enum int ISO_Emphasize
= 65074;
8045 enum int ISO_Enter
= 65076;
8046 enum int ISO_Fast_Cursor_Down
= 65071;
8047 enum int ISO_Fast_Cursor_Left
= 65068;
8048 enum int ISO_Fast_Cursor_Right
= 65069;
8049 enum int ISO_Fast_Cursor_Up
= 65070;
8050 enum int ISO_First_Group
= 65036;
8051 enum int ISO_First_Group_Lock
= 65037;
8052 enum int ISO_Group_Latch
= 65030;
8053 enum int ISO_Group_Lock
= 65031;
8054 enum int ISO_Group_Shift
= 65406;
8055 enum int ISO_Last_Group
= 65038;
8056 enum int ISO_Last_Group_Lock
= 65039;
8057 enum int ISO_Left_Tab
= 65056;
8058 enum int ISO_Level2_Latch
= 65026;
8059 enum int ISO_Level3_Latch
= 65028;
8060 enum int ISO_Level3_Lock
= 65029;
8061 enum int ISO_Level3_Shift
= 65027;
8062 enum int ISO_Level5_Latch
= 65042;
8063 enum int ISO_Level5_Lock
= 65043;
8064 enum int ISO_Level5_Shift
= 65041;
8065 enum int ISO_Lock
= 65025;
8066 enum int ISO_Move_Line_Down
= 65058;
8067 enum int ISO_Move_Line_Up
= 65057;
8068 enum int ISO_Next_Group
= 65032;
8069 enum int ISO_Next_Group_Lock
= 65033;
8070 enum int ISO_Partial_Line_Down
= 65060;
8071 enum int ISO_Partial_Line_Up
= 65059;
8072 enum int ISO_Partial_Space_Left
= 65061;
8073 enum int ISO_Partial_Space_Right
= 65062;
8074 enum int ISO_Prev_Group
= 65034;
8075 enum int ISO_Prev_Group_Lock
= 65035;
8076 enum int ISO_Release_Both_Margins
= 65067;
8077 enum int ISO_Release_Margin_Left
= 65065;
8078 enum int ISO_Release_Margin_Right
= 65066;
8079 enum int ISO_Set_Margin_Left
= 65063;
8080 enum int ISO_Set_Margin_Right
= 65064;
8081 enum int Iabovedot
= 681;
8082 enum int Iacute
= 205;
8083 enum int Ibelowdot
= 16785098;
8084 enum int Ibreve
= 16777516;
8085 enum int Icircumflex
= 206;
8086 enum int Idiaeresis
= 207;
8087 enum int Igrave
= 204;
8088 enum int Ihook
= 16785096;
8089 enum int Imacron
= 975;
8090 // Error conditions returned by clutter_init() and clutter_init_with_args().
8091 enum InitError
/* Version 0.2 */ {
8098 // The type of axes Clutter recognizes on a #ClutterInputDevice
8099 enum InputAxis
/* Version 1.6 */ {
8109 // Generic representation of an input device. The actual contents of this
8110 // structure depend on the backend used.
8111 struct InputDevice
/* : GObject.Object */ {
8112 alias method_parent
this;
8113 alias method_parent super_
;
8114 alias method_parent object
;
8115 GObject2
.Object method_parent
;
8118 // Retrieves a pointer to the #ClutterInputDevice that has been
8119 // associated to @device.
8121 // If the #ClutterInputDevice:device-mode property of @device is
8122 // set to %CLUTTER_INPUT_MODE_MASTER, this function will return
8124 // RETURNS: a #ClutterInputDevice, or %NULL
8125 InputDevice
* get_associated_device() {
8126 return clutter_input_device_get_associated_device(&this);
8129 // Retrieves the type of axis on @device at the given index.
8130 // RETURNS: the axis type
8131 // <index_>: the index of the axis
8132 InputAxis
get_axis(uint index_
) {
8133 return clutter_input_device_get_axis(&this, index_
);
8136 // Extracts the value of the given @axis of a #ClutterInputDevice from
8137 // an array of axis values.
8139 // An example of typical usage for this function is:
8142 // ClutterInputDevice *device = clutter_event_get_device (event);
8143 // gdouble *axes = clutter_event_get_axes (event, NULL);
8144 // gdouble pressure_value = 0;
8146 // clutter_input_device_get_axis_value (device, axes,
8147 // CLUTTER_INPUT_AXIS_PRESSURE,
8148 // &pressure_value);
8150 // RETURNS: %TRUE if the value was set, and %FALSE otherwise
8151 // <axes>: an array of axes values, typically coming from clutter_event_get_axes()
8152 // <axis>: the axis to extract
8153 // <value>: return location for the axis value
8154 int get_axis_value(double* axes
, InputAxis axis
, /*out*/ double* value
) {
8155 return clutter_input_device_get_axis_value(&this, axes
, axis
, value
);
8158 // Retrieves the latest coordinates of the pointer of @device
8159 // <x>: return location for the X coordinate
8160 // <y>: return location for the Y coordinate
8161 void get_device_coords(/*out*/ int* x
, /*out*/ int* y
) {
8162 clutter_input_device_get_device_coords(&this, x
, y
);
8165 // Retrieves the unique identifier of @device
8166 // RETURNS: the identifier of the device
8167 int get_device_id() {
8168 return clutter_input_device_get_device_id(&this);
8171 // Retrieves the #ClutterInputMode of @device.
8172 // RETURNS: the device mode
8173 InputMode
get_device_mode() {
8174 return clutter_input_device_get_device_mode(&this);
8177 // Retrieves the name of the @device
8179 // is owned by the #ClutterInputDevice and should never be modified
8181 // RETURNS: the name of the device, or %NULL. The returned string
8182 char* get_device_name() {
8183 return clutter_input_device_get_device_name(&this);
8186 // Retrieves the type of @device
8187 // RETURNS: the type of the device
8188 InputDeviceType
get_device_type() {
8189 return clutter_input_device_get_device_type(&this);
8192 // Retrieves whether @device is enabled.
8193 // RETURNS: %TRUE if the device is enabled
8195 return clutter_input_device_get_enabled(&this);
8198 // Retrieves whether @device has a pointer that follows the
8200 // RETURNS: %TRUE if the device has a cursor
8201 int get_has_cursor() {
8202 return clutter_input_device_get_has_cursor(&this);
8205 // Retrieves the key set using clutter_input_device_set_key()
8206 // RETURNS: %TRUE if a key was set at the given index
8207 // <index_>: the index of the key
8208 // <keyval>: return location for the keyval at @index_
8209 // <modifiers>: return location for the modifiers at @index_
8210 int get_key(uint index_
, /*out*/ uint* keyval
, /*out*/ ModifierType
* modifiers
) {
8211 return clutter_input_device_get_key(&this, index_
, keyval
, modifiers
);
8214 // Retrieves the number of axes available on @device.
8215 // RETURNS: the number of axes on the device
8217 return clutter_input_device_get_n_axes(&this);
8220 // Retrieves the number of keys registered for @device.
8221 // RETURNS: the number of registered keys
8223 return clutter_input_device_get_n_keys(&this);
8226 // Retrieves the #ClutterActor underneath the pointer of @device
8227 // RETURNS: a pointer to the #ClutterActor or %NULL
8228 Actor
* get_pointer_actor() {
8229 return clutter_input_device_get_pointer_actor(&this);
8232 // Retrieves the #ClutterStage underneath the pointer of @device
8233 // RETURNS: a pointer to the #ClutterStage or %NULL
8234 Stage
* get_pointer_stage() {
8235 return clutter_input_device_get_pointer_stage(&this);
8238 // Retrieves the slave devices attached to @device.
8240 // list of #ClutterInputDevice, or %NULL. The contents of the list are
8241 // owned by the device. Use g_list_free() when done
8243 GLib2
.List
* /*new container*/ get_slave_devices() {
8244 return clutter_input_device_get_slave_devices(&this);
8247 // Enables or disables a #ClutterInputDevice.
8249 // Only devices with a #ClutterInputDevice:device-mode property set
8250 // to %CLUTTER_INPUT_MODE_SLAVE or %CLUTTER_INPUT_MODE_FLOATING can
8252 // <enabled>: %TRUE to enable the @device
8253 void set_enabled(int enabled
) {
8254 clutter_input_device_set_enabled(&this, enabled
);
8257 // Sets the keyval and modifiers at the given @index_ for @device.
8259 // Clutter will use the keyval and modifiers set when filling out
8260 // an event coming from the same input device.
8261 // <index_>: the index of the key
8262 // <keyval>: the keyval
8263 // <modifiers>: a bitmask of modifiers
8264 void set_key(uint index_
, uint keyval
, ModifierType modifiers
) {
8265 clutter_input_device_set_key(&this, index_
, keyval
, modifiers
);
8268 // Forcibly updates the state of the @device using a #ClutterEvent
8270 // This function should never be used by applications: it is meant
8271 // for integration with embedding toolkits, like clutter-gtk
8273 // Embedding toolkits that disable the event collection inside Clutter
8274 // need to use this function to update the state of input devices depending
8275 // on a #ClutterEvent that they are going to submit to the event handling code
8276 // in Clutter though clutter_do_event(). Since the input devices hold the state
8277 // that is going to be used to fill in fields like the #ClutterButtonEvent
8278 // click count, or to emit synthesized events like %CLUTTER_ENTER and
8279 // %CLUTTER_LEAVE, it is necessary for embedding toolkits to also be
8280 // responsible of updating the input device state.
8282 // For instance, this might be the code to translate an embedding toolkit
8283 // native motion notification into a Clutter #ClutterMotionEvent and ask
8284 // Clutter to process it:
8287 // ClutterEvent c_event;
8289 // translate_native_event_to_clutter (native_event, &c_event);
8291 // clutter_do_event (&c_event);
8294 // Before letting clutter_do_event() process the event, it is necessary to call
8295 // clutter_input_device_update_from_event():
8298 // ClutterEvent c_event;
8299 // ClutterDeviceManager *manager;
8300 // ClutterInputDevice *device;
8302 // translate_native_event_to_clutter (native_event, &c_event);
8304 // /* get the device manager */
8305 // manager = clutter_device_manager_get_default ();
8307 // /* use the default Core Pointer that Clutter
8308 // * backends register by default
8310 // device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE);
8312 // /* update the state of the input device */
8313 // clutter_input_device_update_from_event (device, &c_event, FALSE);
8315 // clutter_do_event (&c_event);
8318 // The @update_stage boolean argument should be used when the input device
8319 // enters and leaves a #ClutterStage; it will use the #ClutterStage field
8320 // of the passed @event to update the stage associated to the input device.
8321 // <event>: a #ClutterEvent
8322 // <update_stage>: whether to update the #ClutterStage of the @device using the stage of the event
8323 void update_from_event(Event
* event
, int update_stage
) {
8324 clutter_input_device_update_from_event(&this, event
, update_stage
);
8328 struct InputDeviceClass
{
8332 // The types of input devices available.
8334 // The #ClutterInputDeviceType enumeration can be extended at later
8335 // date; not every platform supports every input device type.
8336 enum InputDeviceType
/* Version 1.0 */ {
8338 KEYBOARD_DEVICE
= 1,
8339 EXTENSION_DEVICE
= 2,
8340 JOYSTICK_DEVICE
= 3,
8342 TOUCHPAD_DEVICE
= 5,
8343 TOUCHSCREEN_DEVICE
= 6,
8349 // The mode for input devices available.
8350 enum InputMode
/* Version 1.6 */ {
8355 enum int Insert
= 65379;
8356 // The mode of interpolation between key frames
8357 enum Interpolation
/* Version 1.2 */ {
8362 // The #ClutterInterval structure contains only private data and should
8363 // be accessed using the provided functions.
8364 struct Interval
/* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
8365 alias parent_instance
this;
8366 alias parent_instance super_
;
8367 alias parent_instance initiallyunowned
;
8368 GObject2
.InitiallyUnowned parent_instance
;
8369 private IntervalPrivate
* priv
;
8372 // Unintrospectable constructor: new() / clutter_interval_new()
8373 // Creates a new #ClutterInterval holding values of type @gtype.
8375 // This function avoids using a #GValue for the initial and final values
8379 // interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0);
8380 // interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE);
8381 // interval = clutter_interval_new (G_TYPE_INT, 0, 360);
8383 // RETURNS: the newly created #ClutterInterval
8384 // <gtype>: the type of the values in the interval
8385 alias clutter_interval_new new_
; // Variadic
8387 // Creates a new #ClutterInterval of type @gtype, between @initial
8390 // This function is useful for language bindings.
8391 // RETURNS: the newly created #ClutterInterval
8392 // <gtype>: the type of the values in the interval
8393 // <initial>: a #GValue holding the initial value of the interval
8394 // <final>: a #GValue holding the final value of the interval
8395 static Interval
* new_with_values(Type gtype
, GObject2
.Value
* initial
, GObject2
.Value
* final_
) {
8396 return clutter_interval_new_with_values(gtype
, initial
, final_
);
8399 // Unintrospectable function: register_progress_func() / clutter_interval_register_progress_func()
8400 // Sets the progress function for a given @value_type, like:
8403 // clutter_interval_register_progress_func (MY_TYPE_FOO,
8404 // my_foo_progress);
8407 // Whenever a #ClutterInterval instance using the default
8408 // #ClutterInterval::compute_value implementation is set as an
8409 // interval between two #GValue of type @value_type, it will call
8410 // @func to establish the value depending on the given progress,
8415 // my_int_progress (const GValue *a,
8417 // gdouble progress,
8420 // gint ia = g_value_get_int (a);
8421 // gint ib = g_value_get_int (b);
8422 // gint res = factor * (ib - ia) + ia;
8424 // g_value_set_int (retval, res);
8429 // clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress);
8432 // To unset a previously set progress function of a #GType, pass %NULL
8434 // <value_type>: a #GType
8435 // <func>: a #ClutterProgressFunc, or %NULL to unset a previously set progress function
8436 static void register_progress_func(Type value_type
, ProgressFunc func
) {
8437 clutter_interval_register_progress_func(value_type
, func
);
8440 // Creates a copy of @interval.
8441 // RETURNS: the newly created #ClutterInterval
8442 Interval
* /*new*/ clone() {
8443 return clutter_interval_clone(&this);
8446 // Computes the value between the @interval boundaries given the
8449 // Unlike clutter_interval_compute_value(), this function will
8450 // return a const pointer to the computed value
8452 // You should use this function if you immediately pass the computed
8453 // value to another function that makes a copy of it, like
8454 // g_object_set_property()
8456 // or %NULL if the computation was not successfull
8457 // RETURNS: a pointer to the computed value,
8458 // <factor>: the progress factor, between 0 and 1
8459 GObject2
.Value
* compute(double factor
) {
8460 return clutter_interval_compute(&this, factor
);
8463 // Computes the value between the @interval boundaries given the
8464 // progress @factor and copies it into @value.
8465 // RETURNS: %TRUE if the operation was successful
8466 // <factor>: the progress factor, between 0 and 1
8467 // <value>: return location for an initialized #GValue
8468 int compute_value(double factor
, /*out*/ GObject2
.Value
* value
) {
8469 return clutter_interval_compute_value(&this, factor
, value
);
8472 // Retrieves the final value of @interval and copies
8475 // The passed #GValue must be initialized to the value held by
8476 // the #ClutterInterval.
8477 // <value>: a #GValue
8478 void get_final_value(/*out*/ GObject2
.Value
* value
) {
8479 clutter_interval_get_final_value(&this, value
);
8482 // Retrieves the initial value of @interval and copies
8485 // The passed #GValue must be initialized to the value held by
8486 // the #ClutterInterval.
8487 // <value>: a #GValue
8488 void get_initial_value(/*out*/ GObject2
.Value
* value
) {
8489 clutter_interval_get_initial_value(&this, value
);
8492 // Unintrospectable method: get_interval() / clutter_interval_get_interval()
8493 // Variable arguments wrapper for clutter_interval_get_initial_value()
8494 // and clutter_interval_get_final_value() that avoids using the
8495 // #GValue arguments:
8498 // gint a = 0, b = 0;
8499 // clutter_interval_get_interval (interval, &a, &b);
8502 // This function is meant for the convenience of the C API; bindings
8503 // should reimplement this function using the #GValue-based API.
8504 /+ Not available -- variadic methods unsupported - use the C function directly.
8505 alias clutter_interval_get_interval get_interval; // Variadic
8508 // Retrieves the #GType of the values inside @interval.
8509 // RETURNS: the type of the value, or G_TYPE_INVALID
8510 Type
get_value_type() {
8511 return clutter_interval_get_value_type(&this);
8514 // Gets the pointer to the final value of @interval
8516 // The value is owned by the #ClutterInterval and it should not be
8517 // modified or freed
8518 // RETURNS: the final value of the interval.
8519 GObject2
.Value
* peek_final_value() {
8520 return clutter_interval_peek_final_value(&this);
8523 // Gets the pointer to the initial value of @interval
8525 // The value is owned by the #ClutterInterval and it should not be
8526 // modified or freed
8527 // RETURNS: the initial value of the interval.
8528 GObject2
.Value
* peek_initial_value() {
8529 return clutter_interval_peek_initial_value(&this);
8532 // Sets the final value of @interval to @value. The value is
8533 // copied inside the #ClutterInterval.
8534 // <value>: a #GValue
8535 void set_final_value(GObject2
.Value
* value
) {
8536 clutter_interval_set_final_value(&this, value
);
8539 // Sets the initial value of @interval to @value. The value is copied
8540 // inside the #ClutterInterval.
8541 // <value>: a #GValue
8542 void set_initial_value(GObject2
.Value
* value
) {
8543 clutter_interval_set_initial_value(&this, value
);
8546 // Unintrospectable method: set_interval() / clutter_interval_set_interval()
8547 // Variable arguments wrapper for clutter_interval_set_initial_value()
8548 // and clutter_interval_set_final_value() that avoids using the
8549 // #GValue arguments:
8552 // clutter_interval_set_interval (interval, 0, 50);
8553 // clutter_interval_set_interval (interval, 1.0, 0.0);
8554 // clutter_interval_set_interval (interval, FALSE, TRUE);
8557 // This function is meant for the convenience of the C API; bindings
8558 // should reimplement this function using the #GValue-based API.
8559 /+ Not available -- variadic methods unsupported - use the C function directly.
8560 alias clutter_interval_set_interval set_interval; // Variadic
8563 // Validates the initial and final values of @interval against
8565 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
8566 // <pspec>: a #GParamSpec
8567 int validate(GObject2
.ParamSpec
* pspec
) {
8568 return clutter_interval_validate(&this, pspec
);
8572 // The #ClutterIntervalClass contains only private data.
8573 struct IntervalClass
/* Version 1.0 */ {
8574 private GObject2
.InitiallyUnownedClass parent_class
;
8576 // RETURNS: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
8577 // <pspec>: a #GParamSpec
8578 extern (C
) int function (Interval
* interval
, GObject2
.ParamSpec
* pspec
) validate
;
8580 // RETURNS: %TRUE if the operation was successful
8581 // <factor>: the progress factor, between 0 and 1
8582 // <value>: return location for an initialized #GValue
8583 extern (C
) int function (Interval
* interval
, double factor
, /*out*/ GObject2
.Value
* value
) compute_value
;
8584 extern (C
) void function () _clutter_reserved1
;
8585 extern (C
) void function () _clutter_reserved2
;
8586 extern (C
) void function () _clutter_reserved3
;
8587 extern (C
) void function () _clutter_reserved4
;
8588 extern (C
) void function () _clutter_reserved5
;
8589 extern (C
) void function () _clutter_reserved6
;
8592 struct IntervalPrivate
{
8595 enum int Iogonek
= 967;
8596 enum int Itilde
= 933;
8598 enum int Jcircumflex
= 684;
8600 enum int KEY_0
= 48;
8601 enum int KEY_1
= 49;
8602 enum int KEY_2
= 50;
8603 enum int KEY_3
= 51;
8604 enum int KEY_3270_AltCursor
= 64784;
8605 enum int KEY_3270_Attn
= 64782;
8606 enum int KEY_3270_BackTab
= 64773;
8607 enum int KEY_3270_ChangeScreen
= 64793;
8608 enum int KEY_3270_Copy
= 64789;
8609 enum int KEY_3270_CursorBlink
= 64783;
8610 enum int KEY_3270_CursorSelect
= 64796;
8611 enum int KEY_3270_DeleteWord
= 64794;
8612 enum int KEY_3270_Duplicate
= 64769;
8613 enum int KEY_3270_Enter
= 64798;
8614 enum int KEY_3270_EraseEOF
= 64774;
8615 enum int KEY_3270_EraseInput
= 64775;
8616 enum int KEY_3270_ExSelect
= 64795;
8617 enum int KEY_3270_FieldMark
= 64770;
8618 enum int KEY_3270_Ident
= 64787;
8619 enum int KEY_3270_Jump
= 64786;
8620 enum int KEY_3270_KeyClick
= 64785;
8621 enum int KEY_3270_Left2
= 64772;
8622 enum int KEY_3270_PA1
= 64778;
8623 enum int KEY_3270_PA2
= 64779;
8624 enum int KEY_3270_PA3
= 64780;
8625 enum int KEY_3270_Play
= 64790;
8626 enum int KEY_3270_PrintScreen
= 64797;
8627 enum int KEY_3270_Quit
= 64777;
8628 enum int KEY_3270_Record
= 64792;
8629 enum int KEY_3270_Reset
= 64776;
8630 enum int KEY_3270_Right2
= 64771;
8631 enum int KEY_3270_Rule
= 64788;
8632 enum int KEY_3270_Setup
= 64791;
8633 enum int KEY_3270_Test
= 64781;
8634 enum int KEY_4
= 52;
8635 enum int KEY_5
= 53;
8636 enum int KEY_6
= 54;
8637 enum int KEY_7
= 55;
8638 enum int KEY_8
= 56;
8639 enum int KEY_9
= 57;
8640 enum int KEY_A
= 65;
8641 enum int KEY_AE
= 198;
8642 enum int KEY_Aacute
= 193;
8643 enum int KEY_Abelowdot
= 16785056;
8644 enum int KEY_Abreve
= 451;
8645 enum int KEY_Abreveacute
= 16785070;
8646 enum int KEY_Abrevebelowdot
= 16785078;
8647 enum int KEY_Abrevegrave
= 16785072;
8648 enum int KEY_Abrevehook
= 16785074;
8649 enum int KEY_Abrevetilde
= 16785076;
8650 enum int KEY_AccessX_Enable
= 65136;
8651 enum int KEY_AccessX_Feedback_Enable
= 65137;
8652 enum int KEY_Acircumflex
= 194;
8653 enum int KEY_Acircumflexacute
= 16785060;
8654 enum int KEY_Acircumflexbelowdot
= 16785068;
8655 enum int KEY_Acircumflexgrave
= 16785062;
8656 enum int KEY_Acircumflexhook
= 16785064;
8657 enum int KEY_Acircumflextilde
= 16785066;
8658 enum int KEY_AddFavorite
= 269025081;
8659 enum int KEY_Adiaeresis
= 196;
8660 enum int KEY_Agrave
= 192;
8661 enum int KEY_Ahook
= 16785058;
8662 enum int KEY_Alt_L
= 65513;
8663 enum int KEY_Alt_R
= 65514;
8664 enum int KEY_Amacron
= 960;
8665 enum int KEY_Aogonek
= 417;
8666 enum int KEY_ApplicationLeft
= 269025104;
8667 enum int KEY_ApplicationRight
= 269025105;
8668 enum int KEY_Arabic_0
= 16778848;
8669 enum int KEY_Arabic_1
= 16778849;
8670 enum int KEY_Arabic_2
= 16778850;
8671 enum int KEY_Arabic_3
= 16778851;
8672 enum int KEY_Arabic_4
= 16778852;
8673 enum int KEY_Arabic_5
= 16778853;
8674 enum int KEY_Arabic_6
= 16778854;
8675 enum int KEY_Arabic_7
= 16778855;
8676 enum int KEY_Arabic_8
= 16778856;
8677 enum int KEY_Arabic_9
= 16778857;
8678 enum int KEY_Arabic_ain
= 1497;
8679 enum int KEY_Arabic_alef
= 1479;
8680 enum int KEY_Arabic_alefmaksura
= 1513;
8681 enum int KEY_Arabic_beh
= 1480;
8682 enum int KEY_Arabic_comma
= 1452;
8683 enum int KEY_Arabic_dad
= 1494;
8684 enum int KEY_Arabic_dal
= 1487;
8685 enum int KEY_Arabic_damma
= 1519;
8686 enum int KEY_Arabic_dammatan
= 1516;
8687 enum int KEY_Arabic_ddal
= 16778888;
8688 enum int KEY_Arabic_farsi_yeh
= 16778956;
8689 enum int KEY_Arabic_fatha
= 1518;
8690 enum int KEY_Arabic_fathatan
= 1515;
8691 enum int KEY_Arabic_feh
= 1505;
8692 enum int KEY_Arabic_fullstop
= 16778964;
8693 enum int KEY_Arabic_gaf
= 16778927;
8694 enum int KEY_Arabic_ghain
= 1498;
8695 enum int KEY_Arabic_ha
= 1511;
8696 enum int KEY_Arabic_hah
= 1485;
8697 enum int KEY_Arabic_hamza
= 1473;
8698 enum int KEY_Arabic_hamza_above
= 16778836;
8699 enum int KEY_Arabic_hamza_below
= 16778837;
8700 enum int KEY_Arabic_hamzaonalef
= 1475;
8701 enum int KEY_Arabic_hamzaonwaw
= 1476;
8702 enum int KEY_Arabic_hamzaonyeh
= 1478;
8703 enum int KEY_Arabic_hamzaunderalef
= 1477;
8704 enum int KEY_Arabic_heh
= 1511;
8705 enum int KEY_Arabic_heh_doachashmee
= 16778942;
8706 enum int KEY_Arabic_heh_goal
= 16778945;
8707 enum int KEY_Arabic_jeem
= 1484;
8708 enum int KEY_Arabic_jeh
= 16778904;
8709 enum int KEY_Arabic_kaf
= 1507;
8710 enum int KEY_Arabic_kasra
= 1520;
8711 enum int KEY_Arabic_kasratan
= 1517;
8712 enum int KEY_Arabic_keheh
= 16778921;
8713 enum int KEY_Arabic_khah
= 1486;
8714 enum int KEY_Arabic_lam
= 1508;
8715 enum int KEY_Arabic_madda_above
= 16778835;
8716 enum int KEY_Arabic_maddaonalef
= 1474;
8717 enum int KEY_Arabic_meem
= 1509;
8718 enum int KEY_Arabic_noon
= 1510;
8719 enum int KEY_Arabic_noon_ghunna
= 16778938;
8720 enum int KEY_Arabic_peh
= 16778878;
8721 enum int KEY_Arabic_percent
= 16778858;
8722 enum int KEY_Arabic_qaf
= 1506;
8723 enum int KEY_Arabic_question_mark
= 1471;
8724 enum int KEY_Arabic_ra
= 1489;
8725 enum int KEY_Arabic_rreh
= 16778897;
8726 enum int KEY_Arabic_sad
= 1493;
8727 enum int KEY_Arabic_seen
= 1491;
8728 enum int KEY_Arabic_semicolon
= 1467;
8729 enum int KEY_Arabic_shadda
= 1521;
8730 enum int KEY_Arabic_sheen
= 1492;
8731 enum int KEY_Arabic_sukun
= 1522;
8732 enum int KEY_Arabic_superscript_alef
= 16778864;
8733 enum int KEY_Arabic_switch
= 65406;
8734 enum int KEY_Arabic_tah
= 1495;
8735 enum int KEY_Arabic_tatweel
= 1504;
8736 enum int KEY_Arabic_tcheh
= 16778886;
8737 enum int KEY_Arabic_teh
= 1482;
8738 enum int KEY_Arabic_tehmarbuta
= 1481;
8739 enum int KEY_Arabic_thal
= 1488;
8740 enum int KEY_Arabic_theh
= 1483;
8741 enum int KEY_Arabic_tteh
= 16778873;
8742 enum int KEY_Arabic_veh
= 16778916;
8743 enum int KEY_Arabic_waw
= 1512;
8744 enum int KEY_Arabic_yeh
= 1514;
8745 enum int KEY_Arabic_yeh_baree
= 16778962;
8746 enum int KEY_Arabic_zah
= 1496;
8747 enum int KEY_Arabic_zain
= 1490;
8748 enum int KEY_Aring
= 197;
8749 enum int KEY_Armenian_AT
= 16778552;
8750 enum int KEY_Armenian_AYB
= 16778545;
8751 enum int KEY_Armenian_BEN
= 16778546;
8752 enum int KEY_Armenian_CHA
= 16778569;
8753 enum int KEY_Armenian_DA
= 16778548;
8754 enum int KEY_Armenian_DZA
= 16778561;
8755 enum int KEY_Armenian_E
= 16778551;
8756 enum int KEY_Armenian_FE
= 16778582;
8757 enum int KEY_Armenian_GHAT
= 16778562;
8758 enum int KEY_Armenian_GIM
= 16778547;
8759 enum int KEY_Armenian_HI
= 16778565;
8760 enum int KEY_Armenian_HO
= 16778560;
8761 enum int KEY_Armenian_INI
= 16778555;
8762 enum int KEY_Armenian_JE
= 16778571;
8763 enum int KEY_Armenian_KE
= 16778580;
8764 enum int KEY_Armenian_KEN
= 16778559;
8765 enum int KEY_Armenian_KHE
= 16778557;
8766 enum int KEY_Armenian_LYUN
= 16778556;
8767 enum int KEY_Armenian_MEN
= 16778564;
8768 enum int KEY_Armenian_NU
= 16778566;
8769 enum int KEY_Armenian_O
= 16778581;
8770 enum int KEY_Armenian_PE
= 16778570;
8771 enum int KEY_Armenian_PYUR
= 16778579;
8772 enum int KEY_Armenian_RA
= 16778572;
8773 enum int KEY_Armenian_RE
= 16778576;
8774 enum int KEY_Armenian_SE
= 16778573;
8775 enum int KEY_Armenian_SHA
= 16778567;
8776 enum int KEY_Armenian_TCHE
= 16778563;
8777 enum int KEY_Armenian_TO
= 16778553;
8778 enum int KEY_Armenian_TSA
= 16778558;
8779 enum int KEY_Armenian_TSO
= 16778577;
8780 enum int KEY_Armenian_TYUN
= 16778575;
8781 enum int KEY_Armenian_VEV
= 16778574;
8782 enum int KEY_Armenian_VO
= 16778568;
8783 enum int KEY_Armenian_VYUN
= 16778578;
8784 enum int KEY_Armenian_YECH
= 16778549;
8785 enum int KEY_Armenian_ZA
= 16778550;
8786 enum int KEY_Armenian_ZHE
= 16778554;
8787 enum int KEY_Armenian_accent
= 16778587;
8788 enum int KEY_Armenian_amanak
= 16778588;
8789 enum int KEY_Armenian_apostrophe
= 16778586;
8790 enum int KEY_Armenian_at
= 16778600;
8791 enum int KEY_Armenian_ayb
= 16778593;
8792 enum int KEY_Armenian_ben
= 16778594;
8793 enum int KEY_Armenian_but
= 16778589;
8794 enum int KEY_Armenian_cha
= 16778617;
8795 enum int KEY_Armenian_da
= 16778596;
8796 enum int KEY_Armenian_dza
= 16778609;
8797 enum int KEY_Armenian_e
= 16778599;
8798 enum int KEY_Armenian_exclam
= 16778588;
8799 enum int KEY_Armenian_fe
= 16778630;
8800 enum int KEY_Armenian_full_stop
= 16778633;
8801 enum int KEY_Armenian_ghat
= 16778610;
8802 enum int KEY_Armenian_gim
= 16778595;
8803 enum int KEY_Armenian_hi
= 16778613;
8804 enum int KEY_Armenian_ho
= 16778608;
8805 enum int KEY_Armenian_hyphen
= 16778634;
8806 enum int KEY_Armenian_ini
= 16778603;
8807 enum int KEY_Armenian_je
= 16778619;
8808 enum int KEY_Armenian_ke
= 16778628;
8809 enum int KEY_Armenian_ken
= 16778607;
8810 enum int KEY_Armenian_khe
= 16778605;
8811 enum int KEY_Armenian_ligature_ew
= 16778631;
8812 enum int KEY_Armenian_lyun
= 16778604;
8813 enum int KEY_Armenian_men
= 16778612;
8814 enum int KEY_Armenian_nu
= 16778614;
8815 enum int KEY_Armenian_o
= 16778629;
8816 enum int KEY_Armenian_paruyk
= 16778590;
8817 enum int KEY_Armenian_pe
= 16778618;
8818 enum int KEY_Armenian_pyur
= 16778627;
8819 enum int KEY_Armenian_question
= 16778590;
8820 enum int KEY_Armenian_ra
= 16778620;
8821 enum int KEY_Armenian_re
= 16778624;
8822 enum int KEY_Armenian_se
= 16778621;
8823 enum int KEY_Armenian_separation_mark
= 16778589;
8824 enum int KEY_Armenian_sha
= 16778615;
8825 enum int KEY_Armenian_shesht
= 16778587;
8826 enum int KEY_Armenian_tche
= 16778611;
8827 enum int KEY_Armenian_to
= 16778601;
8828 enum int KEY_Armenian_tsa
= 16778606;
8829 enum int KEY_Armenian_tso
= 16778625;
8830 enum int KEY_Armenian_tyun
= 16778623;
8831 enum int KEY_Armenian_verjaket
= 16778633;
8832 enum int KEY_Armenian_vev
= 16778622;
8833 enum int KEY_Armenian_vo
= 16778616;
8834 enum int KEY_Armenian_vyun
= 16778626;
8835 enum int KEY_Armenian_yech
= 16778597;
8836 enum int KEY_Armenian_yentamna
= 16778634;
8837 enum int KEY_Armenian_za
= 16778598;
8838 enum int KEY_Armenian_zhe
= 16778602;
8839 enum int KEY_Atilde
= 195;
8840 enum int KEY_AudibleBell_Enable
= 65146;
8841 enum int KEY_AudioCycleTrack
= 269025179;
8842 enum int KEY_AudioForward
= 269025175;
8843 enum int KEY_AudioLowerVolume
= 269025041;
8844 enum int KEY_AudioMedia
= 269025074;
8845 enum int KEY_AudioMute
= 269025042;
8846 enum int KEY_AudioNext
= 269025047;
8847 enum int KEY_AudioPause
= 269025073;
8848 enum int KEY_AudioPlay
= 269025044;
8849 enum int KEY_AudioPrev
= 269025046;
8850 enum int KEY_AudioRaiseVolume
= 269025043;
8851 enum int KEY_AudioRandomPlay
= 269025177;
8852 enum int KEY_AudioRecord
= 269025052;
8853 enum int KEY_AudioRepeat
= 269025176;
8854 enum int KEY_AudioRewind
= 269025086;
8855 enum int KEY_AudioStop
= 269025045;
8856 enum int KEY_Away
= 269025165;
8857 enum int KEY_B
= 66;
8858 enum int KEY_Babovedot
= 16784898;
8859 enum int KEY_Back
= 269025062;
8860 enum int KEY_BackForward
= 269025087;
8861 enum int KEY_BackSpace
= 65288;
8862 enum int KEY_Battery
= 269025171;
8863 enum int KEY_Begin
= 65368;
8864 enum int KEY_Blue
= 269025190;
8865 enum int KEY_Bluetooth
= 269025172;
8866 enum int KEY_Book
= 269025106;
8867 enum int KEY_BounceKeys_Enable
= 65140;
8868 enum int KEY_Break
= 65387;
8869 enum int KEY_BrightnessAdjust
= 269025083;
8870 enum int KEY_Byelorussian_SHORTU
= 1726;
8871 enum int KEY_Byelorussian_shortu
= 1710;
8872 enum int KEY_C
= 67;
8873 enum int KEY_CD
= 269025107;
8874 enum int KEY_Cabovedot
= 709;
8875 enum int KEY_Cacute
= 454;
8876 enum int KEY_Calculator
= 269025053;
8877 enum int KEY_Calendar
= 269025056;
8878 enum int KEY_Cancel
= 65385;
8879 enum int KEY_Caps_Lock
= 65509;
8880 enum int KEY_Ccaron
= 456;
8881 enum int KEY_Ccedilla
= 199;
8882 enum int KEY_Ccircumflex
= 710;
8883 enum int KEY_Clear
= 65291;
8884 enum int KEY_ClearGrab
= 269024801;
8885 enum int KEY_Close
= 269025110;
8886 enum int KEY_Codeinput
= 65335;
8887 enum int KEY_ColonSign
= 16785569;
8888 enum int KEY_Community
= 269025085;
8889 enum int KEY_ContrastAdjust
= 269025058;
8890 enum int KEY_Control_L
= 65507;
8891 enum int KEY_Control_R
= 65508;
8892 enum int KEY_Copy
= 269025111;
8893 enum int KEY_CruzeiroSign
= 16785570;
8894 enum int KEY_Cut
= 269025112;
8895 enum int KEY_CycleAngle
= 269025180;
8896 enum int KEY_Cyrillic_A
= 1761;
8897 enum int KEY_Cyrillic_BE
= 1762;
8898 enum int KEY_Cyrillic_CHE
= 1790;
8899 enum int KEY_Cyrillic_CHE_descender
= 16778422;
8900 enum int KEY_Cyrillic_CHE_vertstroke
= 16778424;
8901 enum int KEY_Cyrillic_DE
= 1764;
8902 enum int KEY_Cyrillic_DZHE
= 1727;
8903 enum int KEY_Cyrillic_E
= 1788;
8904 enum int KEY_Cyrillic_EF
= 1766;
8905 enum int KEY_Cyrillic_EL
= 1772;
8906 enum int KEY_Cyrillic_EM
= 1773;
8907 enum int KEY_Cyrillic_EN
= 1774;
8908 enum int KEY_Cyrillic_EN_descender
= 16778402;
8909 enum int KEY_Cyrillic_ER
= 1778;
8910 enum int KEY_Cyrillic_ES
= 1779;
8911 enum int KEY_Cyrillic_GHE
= 1767;
8912 enum int KEY_Cyrillic_GHE_bar
= 16778386;
8913 enum int KEY_Cyrillic_HA
= 1768;
8914 enum int KEY_Cyrillic_HARDSIGN
= 1791;
8915 enum int KEY_Cyrillic_HA_descender
= 16778418;
8916 enum int KEY_Cyrillic_I
= 1769;
8917 enum int KEY_Cyrillic_IE
= 1765;
8918 enum int KEY_Cyrillic_IO
= 1715;
8919 enum int KEY_Cyrillic_I_macron
= 16778466;
8920 enum int KEY_Cyrillic_JE
= 1720;
8921 enum int KEY_Cyrillic_KA
= 1771;
8922 enum int KEY_Cyrillic_KA_descender
= 16778394;
8923 enum int KEY_Cyrillic_KA_vertstroke
= 16778396;
8924 enum int KEY_Cyrillic_LJE
= 1721;
8925 enum int KEY_Cyrillic_NJE
= 1722;
8926 enum int KEY_Cyrillic_O
= 1775;
8927 enum int KEY_Cyrillic_O_bar
= 16778472;
8928 enum int KEY_Cyrillic_PE
= 1776;
8929 enum int KEY_Cyrillic_SCHWA
= 16778456;
8930 enum int KEY_Cyrillic_SHA
= 1787;
8931 enum int KEY_Cyrillic_SHCHA
= 1789;
8932 enum int KEY_Cyrillic_SHHA
= 16778426;
8933 enum int KEY_Cyrillic_SHORTI
= 1770;
8934 enum int KEY_Cyrillic_SOFTSIGN
= 1784;
8935 enum int KEY_Cyrillic_TE
= 1780;
8936 enum int KEY_Cyrillic_TSE
= 1763;
8937 enum int KEY_Cyrillic_U
= 1781;
8938 enum int KEY_Cyrillic_U_macron
= 16778478;
8939 enum int KEY_Cyrillic_U_straight
= 16778414;
8940 enum int KEY_Cyrillic_U_straight_bar
= 16778416;
8941 enum int KEY_Cyrillic_VE
= 1783;
8942 enum int KEY_Cyrillic_YA
= 1777;
8943 enum int KEY_Cyrillic_YERU
= 1785;
8944 enum int KEY_Cyrillic_YU
= 1760;
8945 enum int KEY_Cyrillic_ZE
= 1786;
8946 enum int KEY_Cyrillic_ZHE
= 1782;
8947 enum int KEY_Cyrillic_ZHE_descender
= 16778390;
8948 enum int KEY_Cyrillic_a
= 1729;
8949 enum int KEY_Cyrillic_be
= 1730;
8950 enum int KEY_Cyrillic_che
= 1758;
8951 enum int KEY_Cyrillic_che_descender
= 16778423;
8952 enum int KEY_Cyrillic_che_vertstroke
= 16778425;
8953 enum int KEY_Cyrillic_de
= 1732;
8954 enum int KEY_Cyrillic_dzhe
= 1711;
8955 enum int KEY_Cyrillic_e
= 1756;
8956 enum int KEY_Cyrillic_ef
= 1734;
8957 enum int KEY_Cyrillic_el
= 1740;
8958 enum int KEY_Cyrillic_em
= 1741;
8959 enum int KEY_Cyrillic_en
= 1742;
8960 enum int KEY_Cyrillic_en_descender
= 16778403;
8961 enum int KEY_Cyrillic_er
= 1746;
8962 enum int KEY_Cyrillic_es
= 1747;
8963 enum int KEY_Cyrillic_ghe
= 1735;
8964 enum int KEY_Cyrillic_ghe_bar
= 16778387;
8965 enum int KEY_Cyrillic_ha
= 1736;
8966 enum int KEY_Cyrillic_ha_descender
= 16778419;
8967 enum int KEY_Cyrillic_hardsign
= 1759;
8968 enum int KEY_Cyrillic_i
= 1737;
8969 enum int KEY_Cyrillic_i_macron
= 16778467;
8970 enum int KEY_Cyrillic_ie
= 1733;
8971 enum int KEY_Cyrillic_io
= 1699;
8972 enum int KEY_Cyrillic_je
= 1704;
8973 enum int KEY_Cyrillic_ka
= 1739;
8974 enum int KEY_Cyrillic_ka_descender
= 16778395;
8975 enum int KEY_Cyrillic_ka_vertstroke
= 16778397;
8976 enum int KEY_Cyrillic_lje
= 1705;
8977 enum int KEY_Cyrillic_nje
= 1706;
8978 enum int KEY_Cyrillic_o
= 1743;
8979 enum int KEY_Cyrillic_o_bar
= 16778473;
8980 enum int KEY_Cyrillic_pe
= 1744;
8981 enum int KEY_Cyrillic_schwa
= 16778457;
8982 enum int KEY_Cyrillic_sha
= 1755;
8983 enum int KEY_Cyrillic_shcha
= 1757;
8984 enum int KEY_Cyrillic_shha
= 16778427;
8985 enum int KEY_Cyrillic_shorti
= 1738;
8986 enum int KEY_Cyrillic_softsign
= 1752;
8987 enum int KEY_Cyrillic_te
= 1748;
8988 enum int KEY_Cyrillic_tse
= 1731;
8989 enum int KEY_Cyrillic_u
= 1749;
8990 enum int KEY_Cyrillic_u_macron
= 16778479;
8991 enum int KEY_Cyrillic_u_straight
= 16778415;
8992 enum int KEY_Cyrillic_u_straight_bar
= 16778417;
8993 enum int KEY_Cyrillic_ve
= 1751;
8994 enum int KEY_Cyrillic_ya
= 1745;
8995 enum int KEY_Cyrillic_yeru
= 1753;
8996 enum int KEY_Cyrillic_yu
= 1728;
8997 enum int KEY_Cyrillic_ze
= 1754;
8998 enum int KEY_Cyrillic_zhe
= 1750;
8999 enum int KEY_Cyrillic_zhe_descender
= 16778391;
9000 enum int KEY_D
= 68;
9001 enum int KEY_DOS
= 269025114;
9002 enum int KEY_Dabovedot
= 16784906;
9003 enum int KEY_Dcaron
= 463;
9004 enum int KEY_Delete
= 65535;
9005 enum int KEY_Display
= 269025113;
9006 enum int KEY_Documents
= 269025115;
9007 enum int KEY_DongSign
= 16785579;
9008 enum int KEY_Down
= 65364;
9009 enum int KEY_Dstroke
= 464;
9010 enum int KEY_E
= 69;
9011 enum int KEY_ENG
= 957;
9012 enum int KEY_ETH
= 208;
9013 enum int KEY_Eabovedot
= 972;
9014 enum int KEY_Eacute
= 201;
9015 enum int KEY_Ebelowdot
= 16785080;
9016 enum int KEY_Ecaron
= 460;
9017 enum int KEY_Ecircumflex
= 202;
9018 enum int KEY_Ecircumflexacute
= 16785086;
9019 enum int KEY_Ecircumflexbelowdot
= 16785094;
9020 enum int KEY_Ecircumflexgrave
= 16785088;
9021 enum int KEY_Ecircumflexhook
= 16785090;
9022 enum int KEY_Ecircumflextilde
= 16785092;
9023 enum int KEY_EcuSign
= 16785568;
9024 enum int KEY_Ediaeresis
= 203;
9025 enum int KEY_Egrave
= 200;
9026 enum int KEY_Ehook
= 16785082;
9027 enum int KEY_Eisu_Shift
= 65327;
9028 enum int KEY_Eisu_toggle
= 65328;
9029 enum int KEY_Eject
= 269025068;
9030 enum int KEY_Emacron
= 938;
9031 enum int KEY_End
= 65367;
9032 enum int KEY_Eogonek
= 458;
9033 enum int KEY_Escape
= 65307;
9034 enum int KEY_Eth
= 208;
9035 enum int KEY_Etilde
= 16785084;
9036 enum int KEY_EuroSign
= 8364;
9037 enum int KEY_Excel
= 269025116;
9038 enum int KEY_Execute
= 65378;
9039 enum int KEY_Explorer
= 269025117;
9040 enum int KEY_F
= 70;
9041 enum int KEY_F1
= 65470;
9042 enum int KEY_F10
= 65479;
9043 enum int KEY_F11
= 65480;
9044 enum int KEY_F12
= 65481;
9045 enum int KEY_F13
= 65482;
9046 enum int KEY_F14
= 65483;
9047 enum int KEY_F15
= 65484;
9048 enum int KEY_F16
= 65485;
9049 enum int KEY_F17
= 65486;
9050 enum int KEY_F18
= 65487;
9051 enum int KEY_F19
= 65488;
9052 enum int KEY_F2
= 65471;
9053 enum int KEY_F20
= 65489;
9054 enum int KEY_F21
= 65490;
9055 enum int KEY_F22
= 65491;
9056 enum int KEY_F23
= 65492;
9057 enum int KEY_F24
= 65493;
9058 enum int KEY_F25
= 65494;
9059 enum int KEY_F26
= 65495;
9060 enum int KEY_F27
= 65496;
9061 enum int KEY_F28
= 65497;
9062 enum int KEY_F29
= 65498;
9063 enum int KEY_F3
= 65472;
9064 enum int KEY_F30
= 65499;
9065 enum int KEY_F31
= 65500;
9066 enum int KEY_F32
= 65501;
9067 enum int KEY_F33
= 65502;
9068 enum int KEY_F34
= 65503;
9069 enum int KEY_F35
= 65504;
9070 enum int KEY_F4
= 65473;
9071 enum int KEY_F5
= 65474;
9072 enum int KEY_F6
= 65475;
9073 enum int KEY_F7
= 65476;
9074 enum int KEY_F8
= 65477;
9075 enum int KEY_F9
= 65478;
9076 enum int KEY_FFrancSign
= 16785571;
9077 enum int KEY_Fabovedot
= 16784926;
9078 enum int KEY_Farsi_0
= 16778992;
9079 enum int KEY_Farsi_1
= 16778993;
9080 enum int KEY_Farsi_2
= 16778994;
9081 enum int KEY_Farsi_3
= 16778995;
9082 enum int KEY_Farsi_4
= 16778996;
9083 enum int KEY_Farsi_5
= 16778997;
9084 enum int KEY_Farsi_6
= 16778998;
9085 enum int KEY_Farsi_7
= 16778999;
9086 enum int KEY_Farsi_8
= 16779000;
9087 enum int KEY_Farsi_9
= 16779001;
9088 enum int KEY_Farsi_yeh
= 16778956;
9089 enum int KEY_Favorites
= 269025072;
9090 enum int KEY_Finance
= 269025084;
9091 enum int KEY_Find
= 65384;
9092 enum int KEY_First_Virtual_Screen
= 65232;
9093 enum int KEY_Forward
= 269025063;
9094 enum int KEY_FrameBack
= 269025181;
9095 enum int KEY_FrameForward
= 269025182;
9096 enum int KEY_G
= 71;
9097 enum int KEY_Gabovedot
= 725;
9098 enum int KEY_Game
= 269025118;
9099 enum int KEY_Gbreve
= 683;
9100 enum int KEY_Gcaron
= 16777702;
9101 enum int KEY_Gcedilla
= 939;
9102 enum int KEY_Gcircumflex
= 728;
9103 enum int KEY_Georgian_an
= 16781520;
9104 enum int KEY_Georgian_ban
= 16781521;
9105 enum int KEY_Georgian_can
= 16781546;
9106 enum int KEY_Georgian_char
= 16781549;
9107 enum int KEY_Georgian_chin
= 16781545;
9108 enum int KEY_Georgian_cil
= 16781548;
9109 enum int KEY_Georgian_don
= 16781523;
9110 enum int KEY_Georgian_en
= 16781524;
9111 enum int KEY_Georgian_fi
= 16781558;
9112 enum int KEY_Georgian_gan
= 16781522;
9113 enum int KEY_Georgian_ghan
= 16781542;
9114 enum int KEY_Georgian_hae
= 16781552;
9115 enum int KEY_Georgian_har
= 16781556;
9116 enum int KEY_Georgian_he
= 16781553;
9117 enum int KEY_Georgian_hie
= 16781554;
9118 enum int KEY_Georgian_hoe
= 16781557;
9119 enum int KEY_Georgian_in
= 16781528;
9120 enum int KEY_Georgian_jhan
= 16781551;
9121 enum int KEY_Georgian_jil
= 16781547;
9122 enum int KEY_Georgian_kan
= 16781529;
9123 enum int KEY_Georgian_khar
= 16781541;
9124 enum int KEY_Georgian_las
= 16781530;
9125 enum int KEY_Georgian_man
= 16781531;
9126 enum int KEY_Georgian_nar
= 16781532;
9127 enum int KEY_Georgian_on
= 16781533;
9128 enum int KEY_Georgian_par
= 16781534;
9129 enum int KEY_Georgian_phar
= 16781540;
9130 enum int KEY_Georgian_qar
= 16781543;
9131 enum int KEY_Georgian_rae
= 16781536;
9132 enum int KEY_Georgian_san
= 16781537;
9133 enum int KEY_Georgian_shin
= 16781544;
9134 enum int KEY_Georgian_tan
= 16781527;
9135 enum int KEY_Georgian_tar
= 16781538;
9136 enum int KEY_Georgian_un
= 16781539;
9137 enum int KEY_Georgian_vin
= 16781525;
9138 enum int KEY_Georgian_we
= 16781555;
9139 enum int KEY_Georgian_xan
= 16781550;
9140 enum int KEY_Georgian_zen
= 16781526;
9141 enum int KEY_Georgian_zhar
= 16781535;
9142 enum int KEY_Go
= 269025119;
9143 enum int KEY_Greek_ALPHA
= 1985;
9144 enum int KEY_Greek_ALPHAaccent
= 1953;
9145 enum int KEY_Greek_BETA
= 1986;
9146 enum int KEY_Greek_CHI
= 2007;
9147 enum int KEY_Greek_DELTA
= 1988;
9148 enum int KEY_Greek_EPSILON
= 1989;
9149 enum int KEY_Greek_EPSILONaccent
= 1954;
9150 enum int KEY_Greek_ETA
= 1991;
9151 enum int KEY_Greek_ETAaccent
= 1955;
9152 enum int KEY_Greek_GAMMA
= 1987;
9153 enum int KEY_Greek_IOTA
= 1993;
9154 enum int KEY_Greek_IOTAaccent
= 1956;
9155 enum int KEY_Greek_IOTAdiaeresis
= 1957;
9156 enum int KEY_Greek_IOTAdieresis
= 1957;
9157 enum int KEY_Greek_KAPPA
= 1994;
9158 enum int KEY_Greek_LAMBDA
= 1995;
9159 enum int KEY_Greek_LAMDA
= 1995;
9160 enum int KEY_Greek_MU
= 1996;
9161 enum int KEY_Greek_NU
= 1997;
9162 enum int KEY_Greek_OMEGA
= 2009;
9163 enum int KEY_Greek_OMEGAaccent
= 1963;
9164 enum int KEY_Greek_OMICRON
= 1999;
9165 enum int KEY_Greek_OMICRONaccent
= 1959;
9166 enum int KEY_Greek_PHI
= 2006;
9167 enum int KEY_Greek_PI
= 2000;
9168 enum int KEY_Greek_PSI
= 2008;
9169 enum int KEY_Greek_RHO
= 2001;
9170 enum int KEY_Greek_SIGMA
= 2002;
9171 enum int KEY_Greek_TAU
= 2004;
9172 enum int KEY_Greek_THETA
= 1992;
9173 enum int KEY_Greek_UPSILON
= 2005;
9174 enum int KEY_Greek_UPSILONaccent
= 1960;
9175 enum int KEY_Greek_UPSILONdieresis
= 1961;
9176 enum int KEY_Greek_XI
= 1998;
9177 enum int KEY_Greek_ZETA
= 1990;
9178 enum int KEY_Greek_accentdieresis
= 1966;
9179 enum int KEY_Greek_alpha
= 2017;
9180 enum int KEY_Greek_alphaaccent
= 1969;
9181 enum int KEY_Greek_beta
= 2018;
9182 enum int KEY_Greek_chi
= 2039;
9183 enum int KEY_Greek_delta
= 2020;
9184 enum int KEY_Greek_epsilon
= 2021;
9185 enum int KEY_Greek_epsilonaccent
= 1970;
9186 enum int KEY_Greek_eta
= 2023;
9187 enum int KEY_Greek_etaaccent
= 1971;
9188 enum int KEY_Greek_finalsmallsigma
= 2035;
9189 enum int KEY_Greek_gamma
= 2019;
9190 enum int KEY_Greek_horizbar
= 1967;
9191 enum int KEY_Greek_iota
= 2025;
9192 enum int KEY_Greek_iotaaccent
= 1972;
9193 enum int KEY_Greek_iotaaccentdieresis
= 1974;
9194 enum int KEY_Greek_iotadieresis
= 1973;
9195 enum int KEY_Greek_kappa
= 2026;
9196 enum int KEY_Greek_lambda
= 2027;
9197 enum int KEY_Greek_lamda
= 2027;
9198 enum int KEY_Greek_mu
= 2028;
9199 enum int KEY_Greek_nu
= 2029;
9200 enum int KEY_Greek_omega
= 2041;
9201 enum int KEY_Greek_omegaaccent
= 1979;
9202 enum int KEY_Greek_omicron
= 2031;
9203 enum int KEY_Greek_omicronaccent
= 1975;
9204 enum int KEY_Greek_phi
= 2038;
9205 enum int KEY_Greek_pi
= 2032;
9206 enum int KEY_Greek_psi
= 2040;
9207 enum int KEY_Greek_rho
= 2033;
9208 enum int KEY_Greek_sigma
= 2034;
9209 enum int KEY_Greek_switch
= 65406;
9210 enum int KEY_Greek_tau
= 2036;
9211 enum int KEY_Greek_theta
= 2024;
9212 enum int KEY_Greek_upsilon
= 2037;
9213 enum int KEY_Greek_upsilonaccent
= 1976;
9214 enum int KEY_Greek_upsilonaccentdieresis
= 1978;
9215 enum int KEY_Greek_upsilondieresis
= 1977;
9216 enum int KEY_Greek_xi
= 2030;
9217 enum int KEY_Greek_zeta
= 2022;
9218 enum int KEY_Green
= 269025188;
9219 enum int KEY_H
= 72;
9220 enum int KEY_Hangul
= 65329;
9221 enum int KEY_Hangul_A
= 3775;
9222 enum int KEY_Hangul_AE
= 3776;
9223 enum int KEY_Hangul_AraeA
= 3830;
9224 enum int KEY_Hangul_AraeAE
= 3831;
9225 enum int KEY_Hangul_Banja
= 65337;
9226 enum int KEY_Hangul_Cieuc
= 3770;
9227 enum int KEY_Hangul_Codeinput
= 65335;
9228 enum int KEY_Hangul_Dikeud
= 3751;
9229 enum int KEY_Hangul_E
= 3780;
9230 enum int KEY_Hangul_EO
= 3779;
9231 enum int KEY_Hangul_EU
= 3793;
9232 enum int KEY_Hangul_End
= 65331;
9233 enum int KEY_Hangul_Hanja
= 65332;
9234 enum int KEY_Hangul_Hieuh
= 3774;
9235 enum int KEY_Hangul_I
= 3795;
9236 enum int KEY_Hangul_Ieung
= 3767;
9237 enum int KEY_Hangul_J_Cieuc
= 3818;
9238 enum int KEY_Hangul_J_Dikeud
= 3802;
9239 enum int KEY_Hangul_J_Hieuh
= 3822;
9240 enum int KEY_Hangul_J_Ieung
= 3816;
9241 enum int KEY_Hangul_J_Jieuj
= 3817;
9242 enum int KEY_Hangul_J_Khieuq
= 3819;
9243 enum int KEY_Hangul_J_Kiyeog
= 3796;
9244 enum int KEY_Hangul_J_KiyeogSios
= 3798;
9245 enum int KEY_Hangul_J_KkogjiDalrinIeung
= 3833;
9246 enum int KEY_Hangul_J_Mieum
= 3811;
9247 enum int KEY_Hangul_J_Nieun
= 3799;
9248 enum int KEY_Hangul_J_NieunHieuh
= 3801;
9249 enum int KEY_Hangul_J_NieunJieuj
= 3800;
9250 enum int KEY_Hangul_J_PanSios
= 3832;
9251 enum int KEY_Hangul_J_Phieuf
= 3821;
9252 enum int KEY_Hangul_J_Pieub
= 3812;
9253 enum int KEY_Hangul_J_PieubSios
= 3813;
9254 enum int KEY_Hangul_J_Rieul
= 3803;
9255 enum int KEY_Hangul_J_RieulHieuh
= 3810;
9256 enum int KEY_Hangul_J_RieulKiyeog
= 3804;
9257 enum int KEY_Hangul_J_RieulMieum
= 3805;
9258 enum int KEY_Hangul_J_RieulPhieuf
= 3809;
9259 enum int KEY_Hangul_J_RieulPieub
= 3806;
9260 enum int KEY_Hangul_J_RieulSios
= 3807;
9261 enum int KEY_Hangul_J_RieulTieut
= 3808;
9262 enum int KEY_Hangul_J_Sios
= 3814;
9263 enum int KEY_Hangul_J_SsangKiyeog
= 3797;
9264 enum int KEY_Hangul_J_SsangSios
= 3815;
9265 enum int KEY_Hangul_J_Tieut
= 3820;
9266 enum int KEY_Hangul_J_YeorinHieuh
= 3834;
9267 enum int KEY_Hangul_Jamo
= 65333;
9268 enum int KEY_Hangul_Jeonja
= 65336;
9269 enum int KEY_Hangul_Jieuj
= 3768;
9270 enum int KEY_Hangul_Khieuq
= 3771;
9271 enum int KEY_Hangul_Kiyeog
= 3745;
9272 enum int KEY_Hangul_KiyeogSios
= 3747;
9273 enum int KEY_Hangul_KkogjiDalrinIeung
= 3827;
9274 enum int KEY_Hangul_Mieum
= 3761;
9275 enum int KEY_Hangul_MultipleCandidate
= 65341;
9276 enum int KEY_Hangul_Nieun
= 3748;
9277 enum int KEY_Hangul_NieunHieuh
= 3750;
9278 enum int KEY_Hangul_NieunJieuj
= 3749;
9279 enum int KEY_Hangul_O
= 3783;
9280 enum int KEY_Hangul_OE
= 3786;
9281 enum int KEY_Hangul_PanSios
= 3826;
9282 enum int KEY_Hangul_Phieuf
= 3773;
9283 enum int KEY_Hangul_Pieub
= 3762;
9284 enum int KEY_Hangul_PieubSios
= 3764;
9285 enum int KEY_Hangul_PostHanja
= 65339;
9286 enum int KEY_Hangul_PreHanja
= 65338;
9287 enum int KEY_Hangul_PreviousCandidate
= 65342;
9288 enum int KEY_Hangul_Rieul
= 3753;
9289 enum int KEY_Hangul_RieulHieuh
= 3760;
9290 enum int KEY_Hangul_RieulKiyeog
= 3754;
9291 enum int KEY_Hangul_RieulMieum
= 3755;
9292 enum int KEY_Hangul_RieulPhieuf
= 3759;
9293 enum int KEY_Hangul_RieulPieub
= 3756;
9294 enum int KEY_Hangul_RieulSios
= 3757;
9295 enum int KEY_Hangul_RieulTieut
= 3758;
9296 enum int KEY_Hangul_RieulYeorinHieuh
= 3823;
9297 enum int KEY_Hangul_Romaja
= 65334;
9298 enum int KEY_Hangul_SingleCandidate
= 65340;
9299 enum int KEY_Hangul_Sios
= 3765;
9300 enum int KEY_Hangul_Special
= 65343;
9301 enum int KEY_Hangul_SsangDikeud
= 3752;
9302 enum int KEY_Hangul_SsangJieuj
= 3769;
9303 enum int KEY_Hangul_SsangKiyeog
= 3746;
9304 enum int KEY_Hangul_SsangPieub
= 3763;
9305 enum int KEY_Hangul_SsangSios
= 3766;
9306 enum int KEY_Hangul_Start
= 65330;
9307 enum int KEY_Hangul_SunkyeongeumMieum
= 3824;
9308 enum int KEY_Hangul_SunkyeongeumPhieuf
= 3828;
9309 enum int KEY_Hangul_SunkyeongeumPieub
= 3825;
9310 enum int KEY_Hangul_Tieut
= 3772;
9311 enum int KEY_Hangul_U
= 3788;
9312 enum int KEY_Hangul_WA
= 3784;
9313 enum int KEY_Hangul_WAE
= 3785;
9314 enum int KEY_Hangul_WE
= 3790;
9315 enum int KEY_Hangul_WEO
= 3789;
9316 enum int KEY_Hangul_WI
= 3791;
9317 enum int KEY_Hangul_YA
= 3777;
9318 enum int KEY_Hangul_YAE
= 3778;
9319 enum int KEY_Hangul_YE
= 3782;
9320 enum int KEY_Hangul_YEO
= 3781;
9321 enum int KEY_Hangul_YI
= 3794;
9322 enum int KEY_Hangul_YO
= 3787;
9323 enum int KEY_Hangul_YU
= 3792;
9324 enum int KEY_Hangul_YeorinHieuh
= 3829;
9325 enum int KEY_Hangul_switch
= 65406;
9326 enum int KEY_Hankaku
= 65321;
9327 enum int KEY_Hcircumflex
= 678;
9328 enum int KEY_Hebrew_switch
= 65406;
9329 enum int KEY_Help
= 65386;
9330 enum int KEY_Henkan
= 65315;
9331 enum int KEY_Henkan_Mode
= 65315;
9332 enum int KEY_Hibernate
= 269025192;
9333 enum int KEY_Hiragana
= 65317;
9334 enum int KEY_Hiragana_Katakana
= 65319;
9335 enum int KEY_History
= 269025079;
9336 enum int KEY_Home
= 65360;
9337 enum int KEY_HomePage
= 269025048;
9338 enum int KEY_HotLinks
= 269025082;
9339 enum int KEY_Hstroke
= 673;
9340 enum int KEY_Hyper_L
= 65517;
9341 enum int KEY_Hyper_R
= 65518;
9342 enum int KEY_I
= 73;
9343 enum int KEY_ISO_Center_Object
= 65075;
9344 enum int KEY_ISO_Continuous_Underline
= 65072;
9345 enum int KEY_ISO_Discontinuous_Underline
= 65073;
9346 enum int KEY_ISO_Emphasize
= 65074;
9347 enum int KEY_ISO_Enter
= 65076;
9348 enum int KEY_ISO_Fast_Cursor_Down
= 65071;
9349 enum int KEY_ISO_Fast_Cursor_Left
= 65068;
9350 enum int KEY_ISO_Fast_Cursor_Right
= 65069;
9351 enum int KEY_ISO_Fast_Cursor_Up
= 65070;
9352 enum int KEY_ISO_First_Group
= 65036;
9353 enum int KEY_ISO_First_Group_Lock
= 65037;
9354 enum int KEY_ISO_Group_Latch
= 65030;
9355 enum int KEY_ISO_Group_Lock
= 65031;
9356 enum int KEY_ISO_Group_Shift
= 65406;
9357 enum int KEY_ISO_Last_Group
= 65038;
9358 enum int KEY_ISO_Last_Group_Lock
= 65039;
9359 enum int KEY_ISO_Left_Tab
= 65056;
9360 enum int KEY_ISO_Level2_Latch
= 65026;
9361 enum int KEY_ISO_Level3_Latch
= 65028;
9362 enum int KEY_ISO_Level3_Lock
= 65029;
9363 enum int KEY_ISO_Level3_Shift
= 65027;
9364 enum int KEY_ISO_Level5_Latch
= 65042;
9365 enum int KEY_ISO_Level5_Lock
= 65043;
9366 enum int KEY_ISO_Level5_Shift
= 65041;
9367 enum int KEY_ISO_Lock
= 65025;
9368 enum int KEY_ISO_Move_Line_Down
= 65058;
9369 enum int KEY_ISO_Move_Line_Up
= 65057;
9370 enum int KEY_ISO_Next_Group
= 65032;
9371 enum int KEY_ISO_Next_Group_Lock
= 65033;
9372 enum int KEY_ISO_Partial_Line_Down
= 65060;
9373 enum int KEY_ISO_Partial_Line_Up
= 65059;
9374 enum int KEY_ISO_Partial_Space_Left
= 65061;
9375 enum int KEY_ISO_Partial_Space_Right
= 65062;
9376 enum int KEY_ISO_Prev_Group
= 65034;
9377 enum int KEY_ISO_Prev_Group_Lock
= 65035;
9378 enum int KEY_ISO_Release_Both_Margins
= 65067;
9379 enum int KEY_ISO_Release_Margin_Left
= 65065;
9380 enum int KEY_ISO_Release_Margin_Right
= 65066;
9381 enum int KEY_ISO_Set_Margin_Left
= 65063;
9382 enum int KEY_ISO_Set_Margin_Right
= 65064;
9383 enum int KEY_Iabovedot
= 681;
9384 enum int KEY_Iacute
= 205;
9385 enum int KEY_Ibelowdot
= 16785098;
9386 enum int KEY_Ibreve
= 16777516;
9387 enum int KEY_Icircumflex
= 206;
9388 enum int KEY_Idiaeresis
= 207;
9389 enum int KEY_Igrave
= 204;
9390 enum int KEY_Ihook
= 16785096;
9391 enum int KEY_Imacron
= 975;
9392 enum int KEY_Insert
= 65379;
9393 enum int KEY_Iogonek
= 967;
9394 enum int KEY_Itilde
= 933;
9395 enum int KEY_J
= 74;
9396 enum int KEY_Jcircumflex
= 684;
9397 enum int KEY_K
= 75;
9398 enum int KEY_KP_0
= 65456;
9399 enum int KEY_KP_1
= 65457;
9400 enum int KEY_KP_2
= 65458;
9401 enum int KEY_KP_3
= 65459;
9402 enum int KEY_KP_4
= 65460;
9403 enum int KEY_KP_5
= 65461;
9404 enum int KEY_KP_6
= 65462;
9405 enum int KEY_KP_7
= 65463;
9406 enum int KEY_KP_8
= 65464;
9407 enum int KEY_KP_9
= 65465;
9408 enum int KEY_KP_Add
= 65451;
9409 enum int KEY_KP_Begin
= 65437;
9410 enum int KEY_KP_Decimal
= 65454;
9411 enum int KEY_KP_Delete
= 65439;
9412 enum int KEY_KP_Divide
= 65455;
9413 enum int KEY_KP_Down
= 65433;
9414 enum int KEY_KP_End
= 65436;
9415 enum int KEY_KP_Enter
= 65421;
9416 enum int KEY_KP_Equal
= 65469;
9417 enum int KEY_KP_F1
= 65425;
9418 enum int KEY_KP_F2
= 65426;
9419 enum int KEY_KP_F3
= 65427;
9420 enum int KEY_KP_F4
= 65428;
9421 enum int KEY_KP_Home
= 65429;
9422 enum int KEY_KP_Insert
= 65438;
9423 enum int KEY_KP_Left
= 65430;
9424 enum int KEY_KP_Multiply
= 65450;
9425 enum int KEY_KP_Next
= 65435;
9426 enum int KEY_KP_Page_Down
= 65435;
9427 enum int KEY_KP_Page_Up
= 65434;
9428 enum int KEY_KP_Prior
= 65434;
9429 enum int KEY_KP_Right
= 65432;
9430 enum int KEY_KP_Separator
= 65452;
9431 enum int KEY_KP_Space
= 65408;
9432 enum int KEY_KP_Subtract
= 65453;
9433 enum int KEY_KP_Tab
= 65417;
9434 enum int KEY_KP_Up
= 65431;
9435 enum int KEY_Kana_Lock
= 65325;
9436 enum int KEY_Kana_Shift
= 65326;
9437 enum int KEY_Kanji
= 65313;
9438 enum int KEY_Kanji_Bangou
= 65335;
9439 enum int KEY_Katakana
= 65318;
9440 enum int KEY_KbdBrightnessDown
= 269025030;
9441 enum int KEY_KbdBrightnessUp
= 269025029;
9442 enum int KEY_KbdLightOnOff
= 269025028;
9443 enum int KEY_Kcedilla
= 979;
9444 enum int KEY_Korean_Won
= 3839;
9445 enum int KEY_L
= 76;
9446 enum int KEY_L1
= 65480;
9447 enum int KEY_L10
= 65489;
9448 enum int KEY_L2
= 65481;
9449 enum int KEY_L3
= 65482;
9450 enum int KEY_L4
= 65483;
9451 enum int KEY_L5
= 65484;
9452 enum int KEY_L6
= 65485;
9453 enum int KEY_L7
= 65486;
9454 enum int KEY_L8
= 65487;
9455 enum int KEY_L9
= 65488;
9456 enum int KEY_Lacute
= 453;
9457 enum int KEY_Last_Virtual_Screen
= 65236;
9458 enum int KEY_Launch0
= 269025088;
9459 enum int KEY_Launch1
= 269025089;
9460 enum int KEY_Launch2
= 269025090;
9461 enum int KEY_Launch3
= 269025091;
9462 enum int KEY_Launch4
= 269025092;
9463 enum int KEY_Launch5
= 269025093;
9464 enum int KEY_Launch6
= 269025094;
9465 enum int KEY_Launch7
= 269025095;
9466 enum int KEY_Launch8
= 269025096;
9467 enum int KEY_Launch9
= 269025097;
9468 enum int KEY_LaunchA
= 269025098;
9469 enum int KEY_LaunchB
= 269025099;
9470 enum int KEY_LaunchC
= 269025100;
9471 enum int KEY_LaunchD
= 269025101;
9472 enum int KEY_LaunchE
= 269025102;
9473 enum int KEY_LaunchF
= 269025103;
9474 enum int KEY_Lbelowdot
= 16784950;
9475 enum int KEY_Lcaron
= 421;
9476 enum int KEY_Lcedilla
= 934;
9477 enum int KEY_Left
= 65361;
9478 enum int KEY_LightBulb
= 269025077;
9479 enum int KEY_Linefeed
= 65290;
9480 enum int KEY_LiraSign
= 16785572;
9481 enum int KEY_LogOff
= 269025121;
9482 enum int KEY_Lstroke
= 419;
9483 enum int KEY_M
= 77;
9484 enum int KEY_Mabovedot
= 16784960;
9485 enum int KEY_Macedonia_DSE
= 1717;
9486 enum int KEY_Macedonia_GJE
= 1714;
9487 enum int KEY_Macedonia_KJE
= 1724;
9488 enum int KEY_Macedonia_dse
= 1701;
9489 enum int KEY_Macedonia_gje
= 1698;
9490 enum int KEY_Macedonia_kje
= 1708;
9491 enum int KEY_Mae_Koho
= 65342;
9492 enum int KEY_Mail
= 269025049;
9493 enum int KEY_MailForward
= 269025168;
9494 enum int KEY_Market
= 269025122;
9495 enum int KEY_Massyo
= 65324;
9496 enum int KEY_Meeting
= 269025123;
9497 enum int KEY_Memo
= 269025054;
9498 enum int KEY_Menu
= 65383;
9499 enum int KEY_MenuKB
= 269025125;
9500 enum int KEY_MenuPB
= 269025126;
9501 enum int KEY_Messenger
= 269025166;
9502 enum int KEY_Meta_L
= 65511;
9503 enum int KEY_Meta_R
= 65512;
9504 enum int KEY_MillSign
= 16785573;
9505 enum int KEY_ModeLock
= 269025025;
9506 enum int KEY_Mode_switch
= 65406;
9507 enum int KEY_MonBrightnessDown
= 269025027;
9508 enum int KEY_MonBrightnessUp
= 269025026;
9509 enum int KEY_MouseKeys_Accel_Enable
= 65143;
9510 enum int KEY_MouseKeys_Enable
= 65142;
9511 enum int KEY_Muhenkan
= 65314;
9512 enum int KEY_Multi_key
= 65312;
9513 enum int KEY_MultipleCandidate
= 65341;
9514 enum int KEY_Music
= 269025170;
9515 enum int KEY_MyComputer
= 269025075;
9516 enum int KEY_MySites
= 269025127;
9517 enum int KEY_N
= 78;
9518 enum int KEY_Nacute
= 465;
9519 enum int KEY_NairaSign
= 16785574;
9520 enum int KEY_Ncaron
= 466;
9521 enum int KEY_Ncedilla
= 977;
9522 enum int KEY_New
= 269025128;
9523 enum int KEY_NewSheqelSign
= 16785578;
9524 enum int KEY_News
= 269025129;
9525 enum int KEY_Next
= 65366;
9526 enum int KEY_Next_VMode
= 269024802;
9527 enum int KEY_Next_Virtual_Screen
= 65234;
9528 enum int KEY_Ntilde
= 209;
9529 enum int KEY_Num_Lock
= 65407;
9530 enum int KEY_O
= 79;
9531 enum int KEY_OE
= 5052;
9532 enum int KEY_Oacute
= 211;
9533 enum int KEY_Obarred
= 16777631;
9534 enum int KEY_Obelowdot
= 16785100;
9535 enum int KEY_Ocaron
= 16777681;
9536 enum int KEY_Ocircumflex
= 212;
9537 enum int KEY_Ocircumflexacute
= 16785104;
9538 enum int KEY_Ocircumflexbelowdot
= 16785112;
9539 enum int KEY_Ocircumflexgrave
= 16785106;
9540 enum int KEY_Ocircumflexhook
= 16785108;
9541 enum int KEY_Ocircumflextilde
= 16785110;
9542 enum int KEY_Odiaeresis
= 214;
9543 enum int KEY_Odoubleacute
= 469;
9544 enum int KEY_OfficeHome
= 269025130;
9545 enum int KEY_Ograve
= 210;
9546 enum int KEY_Ohook
= 16785102;
9547 enum int KEY_Ohorn
= 16777632;
9548 enum int KEY_Ohornacute
= 16785114;
9549 enum int KEY_Ohornbelowdot
= 16785122;
9550 enum int KEY_Ohorngrave
= 16785116;
9551 enum int KEY_Ohornhook
= 16785118;
9552 enum int KEY_Ohorntilde
= 16785120;
9553 enum int KEY_Omacron
= 978;
9554 enum int KEY_Ooblique
= 216;
9555 enum int KEY_Open
= 269025131;
9556 enum int KEY_OpenURL
= 269025080;
9557 enum int KEY_Option
= 269025132;
9558 enum int KEY_Oslash
= 216;
9559 enum int KEY_Otilde
= 213;
9560 enum int KEY_Overlay1_Enable
= 65144;
9561 enum int KEY_Overlay2_Enable
= 65145;
9562 enum int KEY_P
= 80;
9563 enum int KEY_Pabovedot
= 16784982;
9564 enum int KEY_Page_Down
= 65366;
9565 enum int KEY_Page_Up
= 65365;
9566 enum int KEY_Paste
= 269025133;
9567 enum int KEY_Pause
= 65299;
9568 enum int KEY_PesetaSign
= 16785575;
9569 enum int KEY_Phone
= 269025134;
9570 enum int KEY_Pictures
= 269025169;
9571 enum int KEY_Pointer_Accelerate
= 65274;
9572 enum int KEY_Pointer_Button1
= 65257;
9573 enum int KEY_Pointer_Button2
= 65258;
9574 enum int KEY_Pointer_Button3
= 65259;
9575 enum int KEY_Pointer_Button4
= 65260;
9576 enum int KEY_Pointer_Button5
= 65261;
9577 enum int KEY_Pointer_Button_Dflt
= 65256;
9578 enum int KEY_Pointer_DblClick1
= 65263;
9579 enum int KEY_Pointer_DblClick2
= 65264;
9580 enum int KEY_Pointer_DblClick3
= 65265;
9581 enum int KEY_Pointer_DblClick4
= 65266;
9582 enum int KEY_Pointer_DblClick5
= 65267;
9583 enum int KEY_Pointer_DblClick_Dflt
= 65262;
9584 enum int KEY_Pointer_DfltBtnNext
= 65275;
9585 enum int KEY_Pointer_DfltBtnPrev
= 65276;
9586 enum int KEY_Pointer_Down
= 65251;
9587 enum int KEY_Pointer_DownLeft
= 65254;
9588 enum int KEY_Pointer_DownRight
= 65255;
9589 enum int KEY_Pointer_Drag1
= 65269;
9590 enum int KEY_Pointer_Drag2
= 65270;
9591 enum int KEY_Pointer_Drag3
= 65271;
9592 enum int KEY_Pointer_Drag4
= 65272;
9593 enum int KEY_Pointer_Drag5
= 65277;
9594 enum int KEY_Pointer_Drag_Dflt
= 65268;
9595 enum int KEY_Pointer_EnableKeys
= 65273;
9596 enum int KEY_Pointer_Left
= 65248;
9597 enum int KEY_Pointer_Right
= 65249;
9598 enum int KEY_Pointer_Up
= 65250;
9599 enum int KEY_Pointer_UpLeft
= 65252;
9600 enum int KEY_Pointer_UpRight
= 65253;
9601 enum int KEY_PowerDown
= 269025057;
9602 enum int KEY_PowerOff
= 269025066;
9603 enum int KEY_Prev_VMode
= 269024803;
9604 enum int KEY_Prev_Virtual_Screen
= 65233;
9605 enum int KEY_PreviousCandidate
= 65342;
9606 enum int KEY_Print
= 65377;
9607 enum int KEY_Prior
= 65365;
9608 enum int KEY_Q
= 81;
9609 enum int KEY_R
= 82;
9610 enum int KEY_R1
= 65490;
9611 enum int KEY_R10
= 65499;
9612 enum int KEY_R11
= 65500;
9613 enum int KEY_R12
= 65501;
9614 enum int KEY_R13
= 65502;
9615 enum int KEY_R14
= 65503;
9616 enum int KEY_R15
= 65504;
9617 enum int KEY_R2
= 65491;
9618 enum int KEY_R3
= 65492;
9619 enum int KEY_R4
= 65493;
9620 enum int KEY_R5
= 65494;
9621 enum int KEY_R6
= 65495;
9622 enum int KEY_R7
= 65496;
9623 enum int KEY_R8
= 65497;
9624 enum int KEY_R9
= 65498;
9625 enum int KEY_Racute
= 448;
9626 enum int KEY_Rcaron
= 472;
9627 enum int KEY_Rcedilla
= 931;
9628 enum int KEY_Red
= 269025187;
9629 enum int KEY_Redo
= 65382;
9630 enum int KEY_Refresh
= 269025065;
9631 enum int KEY_Reload
= 269025139;
9632 enum int KEY_RepeatKeys_Enable
= 65138;
9633 enum int KEY_Reply
= 269025138;
9634 enum int KEY_Return
= 65293;
9635 enum int KEY_Right
= 65363;
9636 enum int KEY_RockerDown
= 269025060;
9637 enum int KEY_RockerEnter
= 269025061;
9638 enum int KEY_RockerUp
= 269025059;
9639 enum int KEY_Romaji
= 65316;
9640 enum int KEY_RotateWindows
= 269025140;
9641 enum int KEY_RotationKB
= 269025142;
9642 enum int KEY_RotationPB
= 269025141;
9643 enum int KEY_RupeeSign
= 16785576;
9644 enum int KEY_S
= 83;
9645 enum int KEY_SCHWA
= 16777615;
9646 enum int KEY_Sabovedot
= 16784992;
9647 enum int KEY_Sacute
= 422;
9648 enum int KEY_Save
= 269025143;
9649 enum int KEY_Scaron
= 425;
9650 enum int KEY_Scedilla
= 426;
9651 enum int KEY_Scircumflex
= 734;
9652 enum int KEY_ScreenSaver
= 269025069;
9653 enum int KEY_ScrollClick
= 269025146;
9654 enum int KEY_ScrollDown
= 269025145;
9655 enum int KEY_ScrollUp
= 269025144;
9656 enum int KEY_Scroll_Lock
= 65300;
9657 enum int KEY_Search
= 269025051;
9658 enum int KEY_Select
= 65376;
9659 enum int KEY_SelectButton
= 269025184;
9660 enum int KEY_Send
= 269025147;
9661 enum int KEY_Serbian_DJE
= 1713;
9662 enum int KEY_Serbian_DZE
= 1727;
9663 enum int KEY_Serbian_JE
= 1720;
9664 enum int KEY_Serbian_LJE
= 1721;
9665 enum int KEY_Serbian_NJE
= 1722;
9666 enum int KEY_Serbian_TSHE
= 1723;
9667 enum int KEY_Serbian_dje
= 1697;
9668 enum int KEY_Serbian_dze
= 1711;
9669 enum int KEY_Serbian_je
= 1704;
9670 enum int KEY_Serbian_lje
= 1705;
9671 enum int KEY_Serbian_nje
= 1706;
9672 enum int KEY_Serbian_tshe
= 1707;
9673 enum int KEY_Shift_L
= 65505;
9674 enum int KEY_Shift_Lock
= 65510;
9675 enum int KEY_Shift_R
= 65506;
9676 enum int KEY_Shop
= 269025078;
9677 enum int KEY_SingleCandidate
= 65340;
9678 enum int KEY_Sinh_a
= 16780677;
9679 enum int KEY_Sinh_aa
= 16780678;
9680 enum int KEY_Sinh_aa2
= 16780751;
9681 enum int KEY_Sinh_ae
= 16780679;
9682 enum int KEY_Sinh_ae2
= 16780752;
9683 enum int KEY_Sinh_aee
= 16780680;
9684 enum int KEY_Sinh_aee2
= 16780753;
9685 enum int KEY_Sinh_ai
= 16780691;
9686 enum int KEY_Sinh_ai2
= 16780763;
9687 enum int KEY_Sinh_al
= 16780746;
9688 enum int KEY_Sinh_au
= 16780694;
9689 enum int KEY_Sinh_au2
= 16780766;
9690 enum int KEY_Sinh_ba
= 16780726;
9691 enum int KEY_Sinh_bha
= 16780727;
9692 enum int KEY_Sinh_ca
= 16780704;
9693 enum int KEY_Sinh_cha
= 16780705;
9694 enum int KEY_Sinh_dda
= 16780713;
9695 enum int KEY_Sinh_ddha
= 16780714;
9696 enum int KEY_Sinh_dha
= 16780719;
9697 enum int KEY_Sinh_dhha
= 16780720;
9698 enum int KEY_Sinh_e
= 16780689;
9699 enum int KEY_Sinh_e2
= 16780761;
9700 enum int KEY_Sinh_ee
= 16780690;
9701 enum int KEY_Sinh_ee2
= 16780762;
9702 enum int KEY_Sinh_fa
= 16780742;
9703 enum int KEY_Sinh_ga
= 16780700;
9704 enum int KEY_Sinh_gha
= 16780701;
9705 enum int KEY_Sinh_h2
= 16780675;
9706 enum int KEY_Sinh_ha
= 16780740;
9707 enum int KEY_Sinh_i
= 16780681;
9708 enum int KEY_Sinh_i2
= 16780754;
9709 enum int KEY_Sinh_ii
= 16780682;
9710 enum int KEY_Sinh_ii2
= 16780755;
9711 enum int KEY_Sinh_ja
= 16780706;
9712 enum int KEY_Sinh_jha
= 16780707;
9713 enum int KEY_Sinh_jnya
= 16780709;
9714 enum int KEY_Sinh_ka
= 16780698;
9715 enum int KEY_Sinh_kha
= 16780699;
9716 enum int KEY_Sinh_kunddaliya
= 16780788;
9717 enum int KEY_Sinh_la
= 16780733;
9718 enum int KEY_Sinh_lla
= 16780741;
9719 enum int KEY_Sinh_lu
= 16780687;
9720 enum int KEY_Sinh_lu2
= 16780767;
9721 enum int KEY_Sinh_luu
= 16780688;
9722 enum int KEY_Sinh_luu2
= 16780787;
9723 enum int KEY_Sinh_ma
= 16780728;
9724 enum int KEY_Sinh_mba
= 16780729;
9725 enum int KEY_Sinh_na
= 16780721;
9726 enum int KEY_Sinh_ndda
= 16780716;
9727 enum int KEY_Sinh_ndha
= 16780723;
9728 enum int KEY_Sinh_ng
= 16780674;
9729 enum int KEY_Sinh_ng2
= 16780702;
9730 enum int KEY_Sinh_nga
= 16780703;
9731 enum int KEY_Sinh_nja
= 16780710;
9732 enum int KEY_Sinh_nna
= 16780715;
9733 enum int KEY_Sinh_nya
= 16780708;
9734 enum int KEY_Sinh_o
= 16780692;
9735 enum int KEY_Sinh_o2
= 16780764;
9736 enum int KEY_Sinh_oo
= 16780693;
9737 enum int KEY_Sinh_oo2
= 16780765;
9738 enum int KEY_Sinh_pa
= 16780724;
9739 enum int KEY_Sinh_pha
= 16780725;
9740 enum int KEY_Sinh_ra
= 16780731;
9741 enum int KEY_Sinh_ri
= 16780685;
9742 enum int KEY_Sinh_rii
= 16780686;
9743 enum int KEY_Sinh_ru2
= 16780760;
9744 enum int KEY_Sinh_ruu2
= 16780786;
9745 enum int KEY_Sinh_sa
= 16780739;
9746 enum int KEY_Sinh_sha
= 16780737;
9747 enum int KEY_Sinh_ssha
= 16780738;
9748 enum int KEY_Sinh_tha
= 16780717;
9749 enum int KEY_Sinh_thha
= 16780718;
9750 enum int KEY_Sinh_tta
= 16780711;
9751 enum int KEY_Sinh_ttha
= 16780712;
9752 enum int KEY_Sinh_u
= 16780683;
9753 enum int KEY_Sinh_u2
= 16780756;
9754 enum int KEY_Sinh_uu
= 16780684;
9755 enum int KEY_Sinh_uu2
= 16780758;
9756 enum int KEY_Sinh_va
= 16780736;
9757 enum int KEY_Sinh_ya
= 16780730;
9758 enum int KEY_Sleep
= 269025071;
9759 enum int KEY_SlowKeys_Enable
= 65139;
9760 enum int KEY_Spell
= 269025148;
9761 enum int KEY_SplitScreen
= 269025149;
9762 enum int KEY_Standby
= 269025040;
9763 enum int KEY_Start
= 269025050;
9764 enum int KEY_StickyKeys_Enable
= 65141;
9765 enum int KEY_Stop
= 269025064;
9766 enum int KEY_Subtitle
= 269025178;
9767 enum int KEY_Super_L
= 65515;
9768 enum int KEY_Super_R
= 65516;
9769 enum int KEY_Support
= 269025150;
9770 enum int KEY_Suspend
= 269025191;
9771 enum int KEY_Switch_VT_1
= 269024769;
9772 enum int KEY_Switch_VT_10
= 269024778;
9773 enum int KEY_Switch_VT_11
= 269024779;
9774 enum int KEY_Switch_VT_12
= 269024780;
9775 enum int KEY_Switch_VT_2
= 269024770;
9776 enum int KEY_Switch_VT_3
= 269024771;
9777 enum int KEY_Switch_VT_4
= 269024772;
9778 enum int KEY_Switch_VT_5
= 269024773;
9779 enum int KEY_Switch_VT_6
= 269024774;
9780 enum int KEY_Switch_VT_7
= 269024775;
9781 enum int KEY_Switch_VT_8
= 269024776;
9782 enum int KEY_Switch_VT_9
= 269024777;
9783 enum int KEY_Sys_Req
= 65301;
9784 enum int KEY_T
= 84;
9785 enum int KEY_THORN
= 222;
9786 enum int KEY_Tab
= 65289;
9787 enum int KEY_Tabovedot
= 16785002;
9788 enum int KEY_TaskPane
= 269025151;
9789 enum int KEY_Tcaron
= 427;
9790 enum int KEY_Tcedilla
= 478;
9791 enum int KEY_Terminal
= 269025152;
9792 enum int KEY_Terminate_Server
= 65237;
9793 enum int KEY_Thai_baht
= 3551;
9794 enum int KEY_Thai_bobaimai
= 3514;
9795 enum int KEY_Thai_chochan
= 3496;
9796 enum int KEY_Thai_chochang
= 3498;
9797 enum int KEY_Thai_choching
= 3497;
9798 enum int KEY_Thai_chochoe
= 3500;
9799 enum int KEY_Thai_dochada
= 3502;
9800 enum int KEY_Thai_dodek
= 3508;
9801 enum int KEY_Thai_fofa
= 3517;
9802 enum int KEY_Thai_fofan
= 3519;
9803 enum int KEY_Thai_hohip
= 3531;
9804 enum int KEY_Thai_honokhuk
= 3534;
9805 enum int KEY_Thai_khokhai
= 3490;
9806 enum int KEY_Thai_khokhon
= 3493;
9807 enum int KEY_Thai_khokhuat
= 3491;
9808 enum int KEY_Thai_khokhwai
= 3492;
9809 enum int KEY_Thai_khorakhang
= 3494;
9810 enum int KEY_Thai_kokai
= 3489;
9811 enum int KEY_Thai_lakkhangyao
= 3557;
9812 enum int KEY_Thai_lekchet
= 3575;
9813 enum int KEY_Thai_lekha
= 3573;
9814 enum int KEY_Thai_lekhok
= 3574;
9815 enum int KEY_Thai_lekkao
= 3577;
9816 enum int KEY_Thai_leknung
= 3569;
9817 enum int KEY_Thai_lekpaet
= 3576;
9818 enum int KEY_Thai_leksam
= 3571;
9819 enum int KEY_Thai_leksi
= 3572;
9820 enum int KEY_Thai_leksong
= 3570;
9821 enum int KEY_Thai_leksun
= 3568;
9822 enum int KEY_Thai_lochula
= 3532;
9823 enum int KEY_Thai_loling
= 3525;
9824 enum int KEY_Thai_lu
= 3526;
9825 enum int KEY_Thai_maichattawa
= 3563;
9826 enum int KEY_Thai_maiek
= 3560;
9827 enum int KEY_Thai_maihanakat
= 3537;
9828 enum int KEY_Thai_maihanakat_maitho
= 3550;
9829 enum int KEY_Thai_maitaikhu
= 3559;
9830 enum int KEY_Thai_maitho
= 3561;
9831 enum int KEY_Thai_maitri
= 3562;
9832 enum int KEY_Thai_maiyamok
= 3558;
9833 enum int KEY_Thai_moma
= 3521;
9834 enum int KEY_Thai_ngongu
= 3495;
9835 enum int KEY_Thai_nikhahit
= 3565;
9836 enum int KEY_Thai_nonen
= 3507;
9837 enum int KEY_Thai_nonu
= 3513;
9838 enum int KEY_Thai_oang
= 3533;
9839 enum int KEY_Thai_paiyannoi
= 3535;
9840 enum int KEY_Thai_phinthu
= 3546;
9841 enum int KEY_Thai_phophan
= 3518;
9842 enum int KEY_Thai_phophung
= 3516;
9843 enum int KEY_Thai_phosamphao
= 3520;
9844 enum int KEY_Thai_popla
= 3515;
9845 enum int KEY_Thai_rorua
= 3523;
9846 enum int KEY_Thai_ru
= 3524;
9847 enum int KEY_Thai_saraa
= 3536;
9848 enum int KEY_Thai_saraaa
= 3538;
9849 enum int KEY_Thai_saraae
= 3553;
9850 enum int KEY_Thai_saraaimaimalai
= 3556;
9851 enum int KEY_Thai_saraaimaimuan
= 3555;
9852 enum int KEY_Thai_saraam
= 3539;
9853 enum int KEY_Thai_sarae
= 3552;
9854 enum int KEY_Thai_sarai
= 3540;
9855 enum int KEY_Thai_saraii
= 3541;
9856 enum int KEY_Thai_sarao
= 3554;
9857 enum int KEY_Thai_sarau
= 3544;
9858 enum int KEY_Thai_saraue
= 3542;
9859 enum int KEY_Thai_sarauee
= 3543;
9860 enum int KEY_Thai_sarauu
= 3545;
9861 enum int KEY_Thai_sorusi
= 3529;
9862 enum int KEY_Thai_sosala
= 3528;
9863 enum int KEY_Thai_soso
= 3499;
9864 enum int KEY_Thai_sosua
= 3530;
9865 enum int KEY_Thai_thanthakhat
= 3564;
9866 enum int KEY_Thai_thonangmontho
= 3505;
9867 enum int KEY_Thai_thophuthao
= 3506;
9868 enum int KEY_Thai_thothahan
= 3511;
9869 enum int KEY_Thai_thothan
= 3504;
9870 enum int KEY_Thai_thothong
= 3512;
9871 enum int KEY_Thai_thothung
= 3510;
9872 enum int KEY_Thai_topatak
= 3503;
9873 enum int KEY_Thai_totao
= 3509;
9874 enum int KEY_Thai_wowaen
= 3527;
9875 enum int KEY_Thai_yoyak
= 3522;
9876 enum int KEY_Thai_yoying
= 3501;
9877 enum int KEY_Thorn
= 222;
9878 enum int KEY_Time
= 269025183;
9879 enum int KEY_ToDoList
= 269025055;
9880 enum int KEY_Tools
= 269025153;
9881 enum int KEY_TopMenu
= 269025186;
9882 enum int KEY_TouchpadOff
= 269025201;
9883 enum int KEY_TouchpadOn
= 269025200;
9884 enum int KEY_TouchpadToggle
= 269025193;
9885 enum int KEY_Touroku
= 65323;
9886 enum int KEY_Travel
= 269025154;
9887 enum int KEY_Tslash
= 940;
9888 enum int KEY_U
= 85;
9889 enum int KEY_UWB
= 269025174;
9890 enum int KEY_Uacute
= 218;
9891 enum int KEY_Ubelowdot
= 16785124;
9892 enum int KEY_Ubreve
= 733;
9893 enum int KEY_Ucircumflex
= 219;
9894 enum int KEY_Udiaeresis
= 220;
9895 enum int KEY_Udoubleacute
= 475;
9896 enum int KEY_Ugrave
= 217;
9897 enum int KEY_Uhook
= 16785126;
9898 enum int KEY_Uhorn
= 16777647;
9899 enum int KEY_Uhornacute
= 16785128;
9900 enum int KEY_Uhornbelowdot
= 16785136;
9901 enum int KEY_Uhorngrave
= 16785130;
9902 enum int KEY_Uhornhook
= 16785132;
9903 enum int KEY_Uhorntilde
= 16785134;
9904 enum int KEY_Ukrainian_GHE_WITH_UPTURN
= 1725;
9905 enum int KEY_Ukrainian_I
= 1718;
9906 enum int KEY_Ukrainian_IE
= 1716;
9907 enum int KEY_Ukrainian_YI
= 1719;
9908 enum int KEY_Ukrainian_ghe_with_upturn
= 1709;
9909 enum int KEY_Ukrainian_i
= 1702;
9910 enum int KEY_Ukrainian_ie
= 1700;
9911 enum int KEY_Ukrainian_yi
= 1703;
9912 enum int KEY_Ukranian_I
= 1718;
9913 enum int KEY_Ukranian_JE
= 1716;
9914 enum int KEY_Ukranian_YI
= 1719;
9915 enum int KEY_Ukranian_i
= 1702;
9916 enum int KEY_Ukranian_je
= 1700;
9917 enum int KEY_Ukranian_yi
= 1703;
9918 enum int KEY_Umacron
= 990;
9919 enum int KEY_Undo
= 65381;
9920 enum int KEY_Ungrab
= 269024800;
9921 enum int KEY_Uogonek
= 985;
9922 enum int KEY_Up
= 65362;
9923 enum int KEY_Uring
= 473;
9924 enum int KEY_User1KB
= 269025157;
9925 enum int KEY_User2KB
= 269025158;
9926 enum int KEY_UserPB
= 269025156;
9927 enum int KEY_Utilde
= 989;
9928 enum int KEY_V
= 86;
9929 enum int KEY_VendorHome
= 269025076;
9930 enum int KEY_Video
= 269025159;
9931 enum int KEY_View
= 269025185;
9932 enum int KEY_VoidSymbol
= 16777215;
9933 enum int KEY_W
= 87;
9934 enum int KEY_WLAN
= 269025173;
9935 enum int KEY_WWW
= 269025070;
9936 enum int KEY_Wacute
= 16785026;
9937 enum int KEY_WakeUp
= 269025067;
9938 enum int KEY_Wcircumflex
= 16777588;
9939 enum int KEY_Wdiaeresis
= 16785028;
9940 enum int KEY_WebCam
= 269025167;
9941 enum int KEY_Wgrave
= 16785024;
9942 enum int KEY_WheelButton
= 269025160;
9943 enum int KEY_WindowClear
= 269025109;
9944 enum int KEY_WonSign
= 16785577;
9945 enum int KEY_Word
= 269025161;
9946 enum int KEY_X
= 88;
9947 enum int KEY_Xabovedot
= 16785034;
9948 enum int KEY_Xfer
= 269025162;
9949 enum int KEY_Y
= 89;
9950 enum int KEY_Yacute
= 221;
9951 enum int KEY_Ybelowdot
= 16785140;
9952 enum int KEY_Ycircumflex
= 16777590;
9953 enum int KEY_Ydiaeresis
= 5054;
9954 enum int KEY_Yellow
= 269025189;
9955 enum int KEY_Ygrave
= 16785138;
9956 enum int KEY_Yhook
= 16785142;
9957 enum int KEY_Ytilde
= 16785144;
9958 enum int KEY_Z
= 90;
9959 enum int KEY_Zabovedot
= 431;
9960 enum int KEY_Zacute
= 428;
9961 enum int KEY_Zcaron
= 430;
9962 enum int KEY_Zen_Koho
= 65341;
9963 enum int KEY_Zenkaku
= 65320;
9964 enum int KEY_Zenkaku_Hankaku
= 65322;
9965 enum int KEY_ZoomIn
= 269025163;
9966 enum int KEY_ZoomOut
= 269025164;
9967 enum int KEY_Zstroke
= 16777653;
9968 enum int KEY_a
= 97;
9969 enum int KEY_aacute
= 225;
9970 enum int KEY_abelowdot
= 16785057;
9971 enum int KEY_abovedot
= 511;
9972 enum int KEY_abreve
= 483;
9973 enum int KEY_abreveacute
= 16785071;
9974 enum int KEY_abrevebelowdot
= 16785079;
9975 enum int KEY_abrevegrave
= 16785073;
9976 enum int KEY_abrevehook
= 16785075;
9977 enum int KEY_abrevetilde
= 16785077;
9978 enum int KEY_acircumflex
= 226;
9979 enum int KEY_acircumflexacute
= 16785061;
9980 enum int KEY_acircumflexbelowdot
= 16785069;
9981 enum int KEY_acircumflexgrave
= 16785063;
9982 enum int KEY_acircumflexhook
= 16785065;
9983 enum int KEY_acircumflextilde
= 16785067;
9984 enum int KEY_acute
= 180;
9985 enum int KEY_adiaeresis
= 228;
9986 enum int KEY_ae
= 230;
9987 enum int KEY_agrave
= 224;
9988 enum int KEY_ahook
= 16785059;
9989 enum int KEY_amacron
= 992;
9990 enum int KEY_ampersand
= 38;
9991 enum int KEY_aogonek
= 433;
9992 enum int KEY_apostrophe
= 39;
9993 enum int KEY_approxeq
= 16785992;
9994 enum int KEY_approximate
= 2248;
9995 enum int KEY_aring
= 229;
9996 enum int KEY_asciicircum
= 94;
9997 enum int KEY_asciitilde
= 126;
9998 enum int KEY_asterisk
= 42;
9999 enum int KEY_at
= 64;
10000 enum int KEY_atilde
= 227;
10001 enum int KEY_b
= 98;
10002 enum int KEY_babovedot
= 16784899;
10003 enum int KEY_backslash
= 92;
10004 enum int KEY_ballotcross
= 2804;
10005 enum int KEY_bar
= 124;
10006 enum int KEY_because
= 16785973;
10007 enum int KEY_blank
= 2527;
10008 enum int KEY_botintegral
= 2213;
10009 enum int KEY_botleftparens
= 2220;
10010 enum int KEY_botleftsqbracket
= 2216;
10011 enum int KEY_botleftsummation
= 2226;
10012 enum int KEY_botrightparens
= 2222;
10013 enum int KEY_botrightsqbracket
= 2218;
10014 enum int KEY_botrightsummation
= 2230;
10015 enum int KEY_bott
= 2550;
10016 enum int KEY_botvertsummationconnector
= 2228;
10017 enum int KEY_braceleft
= 123;
10018 enum int KEY_braceright
= 125;
10019 enum int KEY_bracketleft
= 91;
10020 enum int KEY_bracketright
= 93;
10021 enum int KEY_braille_blank
= 16787456;
10022 enum int KEY_braille_dot_1
= 65521;
10023 enum int KEY_braille_dot_10
= 65530;
10024 enum int KEY_braille_dot_2
= 65522;
10025 enum int KEY_braille_dot_3
= 65523;
10026 enum int KEY_braille_dot_4
= 65524;
10027 enum int KEY_braille_dot_5
= 65525;
10028 enum int KEY_braille_dot_6
= 65526;
10029 enum int KEY_braille_dot_7
= 65527;
10030 enum int KEY_braille_dot_8
= 65528;
10031 enum int KEY_braille_dot_9
= 65529;
10032 enum int KEY_braille_dots_1
= 16787457;
10033 enum int KEY_braille_dots_12
= 16787459;
10034 enum int KEY_braille_dots_123
= 16787463;
10035 enum int KEY_braille_dots_1234
= 16787471;
10036 enum int KEY_braille_dots_12345
= 16787487;
10037 enum int KEY_braille_dots_123456
= 16787519;
10038 enum int KEY_braille_dots_1234567
= 16787583;
10039 enum int KEY_braille_dots_12345678
= 16787711;
10040 enum int KEY_braille_dots_1234568
= 16787647;
10041 enum int KEY_braille_dots_123457
= 16787551;
10042 enum int KEY_braille_dots_1234578
= 16787679;
10043 enum int KEY_braille_dots_123458
= 16787615;
10044 enum int KEY_braille_dots_12346
= 16787503;
10045 enum int KEY_braille_dots_123467
= 16787567;
10046 enum int KEY_braille_dots_1234678
= 16787695;
10047 enum int KEY_braille_dots_123468
= 16787631;
10048 enum int KEY_braille_dots_12347
= 16787535;
10049 enum int KEY_braille_dots_123478
= 16787663;
10050 enum int KEY_braille_dots_12348
= 16787599;
10051 enum int KEY_braille_dots_1235
= 16787479;
10052 enum int KEY_braille_dots_12356
= 16787511;
10053 enum int KEY_braille_dots_123567
= 16787575;
10054 enum int KEY_braille_dots_1235678
= 16787703;
10055 enum int KEY_braille_dots_123568
= 16787639;
10056 enum int KEY_braille_dots_12357
= 16787543;
10057 enum int KEY_braille_dots_123578
= 16787671;
10058 enum int KEY_braille_dots_12358
= 16787607;
10059 enum int KEY_braille_dots_1236
= 16787495;
10060 enum int KEY_braille_dots_12367
= 16787559;
10061 enum int KEY_braille_dots_123678
= 16787687;
10062 enum int KEY_braille_dots_12368
= 16787623;
10063 enum int KEY_braille_dots_1237
= 16787527;
10064 enum int KEY_braille_dots_12378
= 16787655;
10065 enum int KEY_braille_dots_1238
= 16787591;
10066 enum int KEY_braille_dots_124
= 16787467;
10067 enum int KEY_braille_dots_1245
= 16787483;
10068 enum int KEY_braille_dots_12456
= 16787515;
10069 enum int KEY_braille_dots_124567
= 16787579;
10070 enum int KEY_braille_dots_1245678
= 16787707;
10071 enum int KEY_braille_dots_124568
= 16787643;
10072 enum int KEY_braille_dots_12457
= 16787547;
10073 enum int KEY_braille_dots_124578
= 16787675;
10074 enum int KEY_braille_dots_12458
= 16787611;
10075 enum int KEY_braille_dots_1246
= 16787499;
10076 enum int KEY_braille_dots_12467
= 16787563;
10077 enum int KEY_braille_dots_124678
= 16787691;
10078 enum int KEY_braille_dots_12468
= 16787627;
10079 enum int KEY_braille_dots_1247
= 16787531;
10080 enum int KEY_braille_dots_12478
= 16787659;
10081 enum int KEY_braille_dots_1248
= 16787595;
10082 enum int KEY_braille_dots_125
= 16787475;
10083 enum int KEY_braille_dots_1256
= 16787507;
10084 enum int KEY_braille_dots_12567
= 16787571;
10085 enum int KEY_braille_dots_125678
= 16787699;
10086 enum int KEY_braille_dots_12568
= 16787635;
10087 enum int KEY_braille_dots_1257
= 16787539;
10088 enum int KEY_braille_dots_12578
= 16787667;
10089 enum int KEY_braille_dots_1258
= 16787603;
10090 enum int KEY_braille_dots_126
= 16787491;
10091 enum int KEY_braille_dots_1267
= 16787555;
10092 enum int KEY_braille_dots_12678
= 16787683;
10093 enum int KEY_braille_dots_1268
= 16787619;
10094 enum int KEY_braille_dots_127
= 16787523;
10095 enum int KEY_braille_dots_1278
= 16787651;
10096 enum int KEY_braille_dots_128
= 16787587;
10097 enum int KEY_braille_dots_13
= 16787461;
10098 enum int KEY_braille_dots_134
= 16787469;
10099 enum int KEY_braille_dots_1345
= 16787485;
10100 enum int KEY_braille_dots_13456
= 16787517;
10101 enum int KEY_braille_dots_134567
= 16787581;
10102 enum int KEY_braille_dots_1345678
= 16787709;
10103 enum int KEY_braille_dots_134568
= 16787645;
10104 enum int KEY_braille_dots_13457
= 16787549;
10105 enum int KEY_braille_dots_134578
= 16787677;
10106 enum int KEY_braille_dots_13458
= 16787613;
10107 enum int KEY_braille_dots_1346
= 16787501;
10108 enum int KEY_braille_dots_13467
= 16787565;
10109 enum int KEY_braille_dots_134678
= 16787693;
10110 enum int KEY_braille_dots_13468
= 16787629;
10111 enum int KEY_braille_dots_1347
= 16787533;
10112 enum int KEY_braille_dots_13478
= 16787661;
10113 enum int KEY_braille_dots_1348
= 16787597;
10114 enum int KEY_braille_dots_135
= 16787477;
10115 enum int KEY_braille_dots_1356
= 16787509;
10116 enum int KEY_braille_dots_13567
= 16787573;
10117 enum int KEY_braille_dots_135678
= 16787701;
10118 enum int KEY_braille_dots_13568
= 16787637;
10119 enum int KEY_braille_dots_1357
= 16787541;
10120 enum int KEY_braille_dots_13578
= 16787669;
10121 enum int KEY_braille_dots_1358
= 16787605;
10122 enum int KEY_braille_dots_136
= 16787493;
10123 enum int KEY_braille_dots_1367
= 16787557;
10124 enum int KEY_braille_dots_13678
= 16787685;
10125 enum int KEY_braille_dots_1368
= 16787621;
10126 enum int KEY_braille_dots_137
= 16787525;
10127 enum int KEY_braille_dots_1378
= 16787653;
10128 enum int KEY_braille_dots_138
= 16787589;
10129 enum int KEY_braille_dots_14
= 16787465;
10130 enum int KEY_braille_dots_145
= 16787481;
10131 enum int KEY_braille_dots_1456
= 16787513;
10132 enum int KEY_braille_dots_14567
= 16787577;
10133 enum int KEY_braille_dots_145678
= 16787705;
10134 enum int KEY_braille_dots_14568
= 16787641;
10135 enum int KEY_braille_dots_1457
= 16787545;
10136 enum int KEY_braille_dots_14578
= 16787673;
10137 enum int KEY_braille_dots_1458
= 16787609;
10138 enum int KEY_braille_dots_146
= 16787497;
10139 enum int KEY_braille_dots_1467
= 16787561;
10140 enum int KEY_braille_dots_14678
= 16787689;
10141 enum int KEY_braille_dots_1468
= 16787625;
10142 enum int KEY_braille_dots_147
= 16787529;
10143 enum int KEY_braille_dots_1478
= 16787657;
10144 enum int KEY_braille_dots_148
= 16787593;
10145 enum int KEY_braille_dots_15
= 16787473;
10146 enum int KEY_braille_dots_156
= 16787505;
10147 enum int KEY_braille_dots_1567
= 16787569;
10148 enum int KEY_braille_dots_15678
= 16787697;
10149 enum int KEY_braille_dots_1568
= 16787633;
10150 enum int KEY_braille_dots_157
= 16787537;
10151 enum int KEY_braille_dots_1578
= 16787665;
10152 enum int KEY_braille_dots_158
= 16787601;
10153 enum int KEY_braille_dots_16
= 16787489;
10154 enum int KEY_braille_dots_167
= 16787553;
10155 enum int KEY_braille_dots_1678
= 16787681;
10156 enum int KEY_braille_dots_168
= 16787617;
10157 enum int KEY_braille_dots_17
= 16787521;
10158 enum int KEY_braille_dots_178
= 16787649;
10159 enum int KEY_braille_dots_18
= 16787585;
10160 enum int KEY_braille_dots_2
= 16787458;
10161 enum int KEY_braille_dots_23
= 16787462;
10162 enum int KEY_braille_dots_234
= 16787470;
10163 enum int KEY_braille_dots_2345
= 16787486;
10164 enum int KEY_braille_dots_23456
= 16787518;
10165 enum int KEY_braille_dots_234567
= 16787582;
10166 enum int KEY_braille_dots_2345678
= 16787710;
10167 enum int KEY_braille_dots_234568
= 16787646;
10168 enum int KEY_braille_dots_23457
= 16787550;
10169 enum int KEY_braille_dots_234578
= 16787678;
10170 enum int KEY_braille_dots_23458
= 16787614;
10171 enum int KEY_braille_dots_2346
= 16787502;
10172 enum int KEY_braille_dots_23467
= 16787566;
10173 enum int KEY_braille_dots_234678
= 16787694;
10174 enum int KEY_braille_dots_23468
= 16787630;
10175 enum int KEY_braille_dots_2347
= 16787534;
10176 enum int KEY_braille_dots_23478
= 16787662;
10177 enum int KEY_braille_dots_2348
= 16787598;
10178 enum int KEY_braille_dots_235
= 16787478;
10179 enum int KEY_braille_dots_2356
= 16787510;
10180 enum int KEY_braille_dots_23567
= 16787574;
10181 enum int KEY_braille_dots_235678
= 16787702;
10182 enum int KEY_braille_dots_23568
= 16787638;
10183 enum int KEY_braille_dots_2357
= 16787542;
10184 enum int KEY_braille_dots_23578
= 16787670;
10185 enum int KEY_braille_dots_2358
= 16787606;
10186 enum int KEY_braille_dots_236
= 16787494;
10187 enum int KEY_braille_dots_2367
= 16787558;
10188 enum int KEY_braille_dots_23678
= 16787686;
10189 enum int KEY_braille_dots_2368
= 16787622;
10190 enum int KEY_braille_dots_237
= 16787526;
10191 enum int KEY_braille_dots_2378
= 16787654;
10192 enum int KEY_braille_dots_238
= 16787590;
10193 enum int KEY_braille_dots_24
= 16787466;
10194 enum int KEY_braille_dots_245
= 16787482;
10195 enum int KEY_braille_dots_2456
= 16787514;
10196 enum int KEY_braille_dots_24567
= 16787578;
10197 enum int KEY_braille_dots_245678
= 16787706;
10198 enum int KEY_braille_dots_24568
= 16787642;
10199 enum int KEY_braille_dots_2457
= 16787546;
10200 enum int KEY_braille_dots_24578
= 16787674;
10201 enum int KEY_braille_dots_2458
= 16787610;
10202 enum int KEY_braille_dots_246
= 16787498;
10203 enum int KEY_braille_dots_2467
= 16787562;
10204 enum int KEY_braille_dots_24678
= 16787690;
10205 enum int KEY_braille_dots_2468
= 16787626;
10206 enum int KEY_braille_dots_247
= 16787530;
10207 enum int KEY_braille_dots_2478
= 16787658;
10208 enum int KEY_braille_dots_248
= 16787594;
10209 enum int KEY_braille_dots_25
= 16787474;
10210 enum int KEY_braille_dots_256
= 16787506;
10211 enum int KEY_braille_dots_2567
= 16787570;
10212 enum int KEY_braille_dots_25678
= 16787698;
10213 enum int KEY_braille_dots_2568
= 16787634;
10214 enum int KEY_braille_dots_257
= 16787538;
10215 enum int KEY_braille_dots_2578
= 16787666;
10216 enum int KEY_braille_dots_258
= 16787602;
10217 enum int KEY_braille_dots_26
= 16787490;
10218 enum int KEY_braille_dots_267
= 16787554;
10219 enum int KEY_braille_dots_2678
= 16787682;
10220 enum int KEY_braille_dots_268
= 16787618;
10221 enum int KEY_braille_dots_27
= 16787522;
10222 enum int KEY_braille_dots_278
= 16787650;
10223 enum int KEY_braille_dots_28
= 16787586;
10224 enum int KEY_braille_dots_3
= 16787460;
10225 enum int KEY_braille_dots_34
= 16787468;
10226 enum int KEY_braille_dots_345
= 16787484;
10227 enum int KEY_braille_dots_3456
= 16787516;
10228 enum int KEY_braille_dots_34567
= 16787580;
10229 enum int KEY_braille_dots_345678
= 16787708;
10230 enum int KEY_braille_dots_34568
= 16787644;
10231 enum int KEY_braille_dots_3457
= 16787548;
10232 enum int KEY_braille_dots_34578
= 16787676;
10233 enum int KEY_braille_dots_3458
= 16787612;
10234 enum int KEY_braille_dots_346
= 16787500;
10235 enum int KEY_braille_dots_3467
= 16787564;
10236 enum int KEY_braille_dots_34678
= 16787692;
10237 enum int KEY_braille_dots_3468
= 16787628;
10238 enum int KEY_braille_dots_347
= 16787532;
10239 enum int KEY_braille_dots_3478
= 16787660;
10240 enum int KEY_braille_dots_348
= 16787596;
10241 enum int KEY_braille_dots_35
= 16787476;
10242 enum int KEY_braille_dots_356
= 16787508;
10243 enum int KEY_braille_dots_3567
= 16787572;
10244 enum int KEY_braille_dots_35678
= 16787700;
10245 enum int KEY_braille_dots_3568
= 16787636;
10246 enum int KEY_braille_dots_357
= 16787540;
10247 enum int KEY_braille_dots_3578
= 16787668;
10248 enum int KEY_braille_dots_358
= 16787604;
10249 enum int KEY_braille_dots_36
= 16787492;
10250 enum int KEY_braille_dots_367
= 16787556;
10251 enum int KEY_braille_dots_3678
= 16787684;
10252 enum int KEY_braille_dots_368
= 16787620;
10253 enum int KEY_braille_dots_37
= 16787524;
10254 enum int KEY_braille_dots_378
= 16787652;
10255 enum int KEY_braille_dots_38
= 16787588;
10256 enum int KEY_braille_dots_4
= 16787464;
10257 enum int KEY_braille_dots_45
= 16787480;
10258 enum int KEY_braille_dots_456
= 16787512;
10259 enum int KEY_braille_dots_4567
= 16787576;
10260 enum int KEY_braille_dots_45678
= 16787704;
10261 enum int KEY_braille_dots_4568
= 16787640;
10262 enum int KEY_braille_dots_457
= 16787544;
10263 enum int KEY_braille_dots_4578
= 16787672;
10264 enum int KEY_braille_dots_458
= 16787608;
10265 enum int KEY_braille_dots_46
= 16787496;
10266 enum int KEY_braille_dots_467
= 16787560;
10267 enum int KEY_braille_dots_4678
= 16787688;
10268 enum int KEY_braille_dots_468
= 16787624;
10269 enum int KEY_braille_dots_47
= 16787528;
10270 enum int KEY_braille_dots_478
= 16787656;
10271 enum int KEY_braille_dots_48
= 16787592;
10272 enum int KEY_braille_dots_5
= 16787472;
10273 enum int KEY_braille_dots_56
= 16787504;
10274 enum int KEY_braille_dots_567
= 16787568;
10275 enum int KEY_braille_dots_5678
= 16787696;
10276 enum int KEY_braille_dots_568
= 16787632;
10277 enum int KEY_braille_dots_57
= 16787536;
10278 enum int KEY_braille_dots_578
= 16787664;
10279 enum int KEY_braille_dots_58
= 16787600;
10280 enum int KEY_braille_dots_6
= 16787488;
10281 enum int KEY_braille_dots_67
= 16787552;
10282 enum int KEY_braille_dots_678
= 16787680;
10283 enum int KEY_braille_dots_68
= 16787616;
10284 enum int KEY_braille_dots_7
= 16787520;
10285 enum int KEY_braille_dots_78
= 16787648;
10286 enum int KEY_braille_dots_8
= 16787584;
10287 enum int KEY_breve
= 418;
10288 enum int KEY_brokenbar
= 166;
10289 enum int KEY_c
= 99;
10290 enum int KEY_cabovedot
= 741;
10291 enum int KEY_cacute
= 486;
10292 enum int KEY_careof
= 2744;
10293 enum int KEY_caret
= 2812;
10294 enum int KEY_caron
= 439;
10295 enum int KEY_ccaron
= 488;
10296 enum int KEY_ccedilla
= 231;
10297 enum int KEY_ccircumflex
= 742;
10298 enum int KEY_cedilla
= 184;
10299 enum int KEY_cent
= 162;
10300 enum int KEY_checkerboard
= 2529;
10301 enum int KEY_checkmark
= 2803;
10302 enum int KEY_circle
= 3023;
10303 enum int KEY_club
= 2796;
10304 enum int KEY_colon
= 58;
10305 enum int KEY_comma
= 44;
10306 enum int KEY_containsas
= 16785931;
10307 enum int KEY_copyright
= 169;
10308 enum int KEY_cr
= 2532;
10309 enum int KEY_crossinglines
= 2542;
10310 enum int KEY_cuberoot
= 16785947;
10311 enum int KEY_currency
= 164;
10312 enum int KEY_cursor
= 2815;
10313 enum int KEY_d
= 100;
10314 enum int KEY_dabovedot
= 16784907;
10315 enum int KEY_dagger
= 2801;
10316 enum int KEY_dcaron
= 495;
10317 enum int KEY_dead_A
= 65153;
10318 enum int KEY_dead_E
= 65155;
10319 enum int KEY_dead_I
= 65157;
10320 enum int KEY_dead_O
= 65159;
10321 enum int KEY_dead_U
= 65161;
10322 enum int KEY_dead_a
= 65152;
10323 enum int KEY_dead_abovecomma
= 65124;
10324 enum int KEY_dead_abovedot
= 65110;
10325 enum int KEY_dead_abovereversedcomma
= 65125;
10326 enum int KEY_dead_abovering
= 65112;
10327 enum int KEY_dead_acute
= 65105;
10328 enum int KEY_dead_belowbreve
= 65131;
10329 enum int KEY_dead_belowcircumflex
= 65129;
10330 enum int KEY_dead_belowcomma
= 65134;
10331 enum int KEY_dead_belowdiaeresis
= 65132;
10332 enum int KEY_dead_belowdot
= 65120;
10333 enum int KEY_dead_belowmacron
= 65128;
10334 enum int KEY_dead_belowring
= 65127;
10335 enum int KEY_dead_belowtilde
= 65130;
10336 enum int KEY_dead_breve
= 65109;
10337 enum int KEY_dead_capital_schwa
= 65163;
10338 enum int KEY_dead_caron
= 65114;
10339 enum int KEY_dead_cedilla
= 65115;
10340 enum int KEY_dead_circumflex
= 65106;
10341 enum int KEY_dead_currency
= 65135;
10342 enum int KEY_dead_dasia
= 65125;
10343 enum int KEY_dead_diaeresis
= 65111;
10344 enum int KEY_dead_doubleacute
= 65113;
10345 enum int KEY_dead_doublegrave
= 65126;
10346 enum int KEY_dead_e
= 65154;
10347 enum int KEY_dead_grave
= 65104;
10348 enum int KEY_dead_hook
= 65121;
10349 enum int KEY_dead_horn
= 65122;
10350 enum int KEY_dead_i
= 65156;
10351 enum int KEY_dead_invertedbreve
= 65133;
10352 enum int KEY_dead_iota
= 65117;
10353 enum int KEY_dead_macron
= 65108;
10354 enum int KEY_dead_o
= 65158;
10355 enum int KEY_dead_ogonek
= 65116;
10356 enum int KEY_dead_perispomeni
= 65107;
10357 enum int KEY_dead_psili
= 65124;
10358 enum int KEY_dead_semivoiced_sound
= 65119;
10359 enum int KEY_dead_small_schwa
= 65162;
10360 enum int KEY_dead_stroke
= 65123;
10361 enum int KEY_dead_tilde
= 65107;
10362 enum int KEY_dead_u
= 65160;
10363 enum int KEY_dead_voiced_sound
= 65118;
10364 enum int KEY_decimalpoint
= 2749;
10365 enum int KEY_degree
= 176;
10366 enum int KEY_diaeresis
= 168;
10367 enum int KEY_diamond
= 2797;
10368 enum int KEY_digitspace
= 2725;
10369 enum int KEY_dintegral
= 16785964;
10370 enum int KEY_division
= 247;
10371 enum int KEY_dollar
= 36;
10372 enum int KEY_doubbaselinedot
= 2735;
10373 enum int KEY_doubleacute
= 445;
10374 enum int KEY_doubledagger
= 2802;
10375 enum int KEY_doublelowquotemark
= 2814;
10376 enum int KEY_downarrow
= 2302;
10377 enum int KEY_downcaret
= 2984;
10378 enum int KEY_downshoe
= 3030;
10379 enum int KEY_downstile
= 3012;
10380 enum int KEY_downtack
= 3010;
10381 enum int KEY_dstroke
= 496;
10382 enum int KEY_e
= 101;
10383 enum int KEY_eabovedot
= 1004;
10384 enum int KEY_eacute
= 233;
10385 enum int KEY_ebelowdot
= 16785081;
10386 enum int KEY_ecaron
= 492;
10387 enum int KEY_ecircumflex
= 234;
10388 enum int KEY_ecircumflexacute
= 16785087;
10389 enum int KEY_ecircumflexbelowdot
= 16785095;
10390 enum int KEY_ecircumflexgrave
= 16785089;
10391 enum int KEY_ecircumflexhook
= 16785091;
10392 enum int KEY_ecircumflextilde
= 16785093;
10393 enum int KEY_ediaeresis
= 235;
10394 enum int KEY_egrave
= 232;
10395 enum int KEY_ehook
= 16785083;
10396 enum int KEY_eightsubscript
= 16785544;
10397 enum int KEY_eightsuperior
= 16785528;
10398 enum int KEY_elementof
= 16785928;
10399 enum int KEY_ellipsis
= 2734;
10400 enum int KEY_em3space
= 2723;
10401 enum int KEY_em4space
= 2724;
10402 enum int KEY_emacron
= 954;
10403 enum int KEY_emdash
= 2729;
10404 enum int KEY_emfilledcircle
= 2782;
10405 enum int KEY_emfilledrect
= 2783;
10406 enum int KEY_emopencircle
= 2766;
10407 enum int KEY_emopenrectangle
= 2767;
10408 enum int KEY_emptyset
= 16785925;
10409 enum int KEY_emspace
= 2721;
10410 enum int KEY_endash
= 2730;
10411 enum int KEY_enfilledcircbullet
= 2790;
10412 enum int KEY_enfilledsqbullet
= 2791;
10413 enum int KEY_eng
= 959;
10414 enum int KEY_enopencircbullet
= 2784;
10415 enum int KEY_enopensquarebullet
= 2785;
10416 enum int KEY_enspace
= 2722;
10417 enum int KEY_eogonek
= 490;
10418 enum int KEY_equal
= 61;
10419 enum int KEY_eth
= 240;
10420 enum int KEY_etilde
= 16785085;
10421 enum int KEY_exclam
= 33;
10422 enum int KEY_exclamdown
= 161;
10423 enum int KEY_f
= 102;
10424 enum int KEY_fabovedot
= 16784927;
10425 enum int KEY_femalesymbol
= 2808;
10426 enum int KEY_ff
= 2531;
10427 enum int KEY_figdash
= 2747;
10428 enum int KEY_filledlefttribullet
= 2780;
10429 enum int KEY_filledrectbullet
= 2779;
10430 enum int KEY_filledrighttribullet
= 2781;
10431 enum int KEY_filledtribulletdown
= 2793;
10432 enum int KEY_filledtribulletup
= 2792;
10433 enum int KEY_fiveeighths
= 2757;
10434 enum int KEY_fivesixths
= 2743;
10435 enum int KEY_fivesubscript
= 16785541;
10436 enum int KEY_fivesuperior
= 16785525;
10437 enum int KEY_fourfifths
= 2741;
10438 enum int KEY_foursubscript
= 16785540;
10439 enum int KEY_foursuperior
= 16785524;
10440 enum int KEY_fourthroot
= 16785948;
10441 enum int KEY_function
= 2294;
10442 enum int KEY_g
= 103;
10443 enum int KEY_gabovedot
= 757;
10444 enum int KEY_gbreve
= 699;
10445 enum int KEY_gcaron
= 16777703;
10446 enum int KEY_gcedilla
= 955;
10447 enum int KEY_gcircumflex
= 760;
10448 enum int KEY_grave
= 96;
10449 enum int KEY_greater
= 62;
10450 enum int KEY_greaterthanequal
= 2238;
10451 enum int KEY_guillemotleft
= 171;
10452 enum int KEY_guillemotright
= 187;
10453 enum int KEY_h
= 104;
10454 enum int KEY_hairspace
= 2728;
10455 enum int KEY_hcircumflex
= 694;
10456 enum int KEY_heart
= 2798;
10457 enum int KEY_hebrew_aleph
= 3296;
10458 enum int KEY_hebrew_ayin
= 3314;
10459 enum int KEY_hebrew_bet
= 3297;
10460 enum int KEY_hebrew_beth
= 3297;
10461 enum int KEY_hebrew_chet
= 3303;
10462 enum int KEY_hebrew_dalet
= 3299;
10463 enum int KEY_hebrew_daleth
= 3299;
10464 enum int KEY_hebrew_doublelowline
= 3295;
10465 enum int KEY_hebrew_finalkaph
= 3306;
10466 enum int KEY_hebrew_finalmem
= 3309;
10467 enum int KEY_hebrew_finalnun
= 3311;
10468 enum int KEY_hebrew_finalpe
= 3315;
10469 enum int KEY_hebrew_finalzade
= 3317;
10470 enum int KEY_hebrew_finalzadi
= 3317;
10471 enum int KEY_hebrew_gimel
= 3298;
10472 enum int KEY_hebrew_gimmel
= 3298;
10473 enum int KEY_hebrew_he
= 3300;
10474 enum int KEY_hebrew_het
= 3303;
10475 enum int KEY_hebrew_kaph
= 3307;
10476 enum int KEY_hebrew_kuf
= 3319;
10477 enum int KEY_hebrew_lamed
= 3308;
10478 enum int KEY_hebrew_mem
= 3310;
10479 enum int KEY_hebrew_nun
= 3312;
10480 enum int KEY_hebrew_pe
= 3316;
10481 enum int KEY_hebrew_qoph
= 3319;
10482 enum int KEY_hebrew_resh
= 3320;
10483 enum int KEY_hebrew_samech
= 3313;
10484 enum int KEY_hebrew_samekh
= 3313;
10485 enum int KEY_hebrew_shin
= 3321;
10486 enum int KEY_hebrew_taf
= 3322;
10487 enum int KEY_hebrew_taw
= 3322;
10488 enum int KEY_hebrew_tet
= 3304;
10489 enum int KEY_hebrew_teth
= 3304;
10490 enum int KEY_hebrew_waw
= 3301;
10491 enum int KEY_hebrew_yod
= 3305;
10492 enum int KEY_hebrew_zade
= 3318;
10493 enum int KEY_hebrew_zadi
= 3318;
10494 enum int KEY_hebrew_zain
= 3302;
10495 enum int KEY_hebrew_zayin
= 3302;
10496 enum int KEY_hexagram
= 2778;
10497 enum int KEY_horizconnector
= 2211;
10498 enum int KEY_horizlinescan1
= 2543;
10499 enum int KEY_horizlinescan3
= 2544;
10500 enum int KEY_horizlinescan5
= 2545;
10501 enum int KEY_horizlinescan7
= 2546;
10502 enum int KEY_horizlinescan9
= 2547;
10503 enum int KEY_hstroke
= 689;
10504 enum int KEY_ht
= 2530;
10505 enum int KEY_hyphen
= 173;
10506 enum int KEY_i
= 105;
10507 enum int KEY_iTouch
= 269025120;
10508 enum int KEY_iacute
= 237;
10509 enum int KEY_ibelowdot
= 16785099;
10510 enum int KEY_ibreve
= 16777517;
10511 enum int KEY_icircumflex
= 238;
10512 enum int KEY_identical
= 2255;
10513 enum int KEY_idiaeresis
= 239;
10514 enum int KEY_idotless
= 697;
10515 enum int KEY_ifonlyif
= 2253;
10516 enum int KEY_igrave
= 236;
10517 enum int KEY_ihook
= 16785097;
10518 enum int KEY_imacron
= 1007;
10519 enum int KEY_implies
= 2254;
10520 enum int KEY_includedin
= 2266;
10521 enum int KEY_includes
= 2267;
10522 enum int KEY_infinity
= 2242;
10523 enum int KEY_integral
= 2239;
10524 enum int KEY_intersection
= 2268;
10525 enum int KEY_iogonek
= 999;
10526 enum int KEY_itilde
= 949;
10527 enum int KEY_j
= 106;
10528 enum int KEY_jcircumflex
= 700;
10529 enum int KEY_jot
= 3018;
10530 enum int KEY_k
= 107;
10531 enum int KEY_kana_A
= 1201;
10532 enum int KEY_kana_CHI
= 1217;
10533 enum int KEY_kana_E
= 1204;
10534 enum int KEY_kana_FU
= 1228;
10535 enum int KEY_kana_HA
= 1226;
10536 enum int KEY_kana_HE
= 1229;
10537 enum int KEY_kana_HI
= 1227;
10538 enum int KEY_kana_HO
= 1230;
10539 enum int KEY_kana_HU
= 1228;
10540 enum int KEY_kana_I
= 1202;
10541 enum int KEY_kana_KA
= 1206;
10542 enum int KEY_kana_KE
= 1209;
10543 enum int KEY_kana_KI
= 1207;
10544 enum int KEY_kana_KO
= 1210;
10545 enum int KEY_kana_KU
= 1208;
10546 enum int KEY_kana_MA
= 1231;
10547 enum int KEY_kana_ME
= 1234;
10548 enum int KEY_kana_MI
= 1232;
10549 enum int KEY_kana_MO
= 1235;
10550 enum int KEY_kana_MU
= 1233;
10551 enum int KEY_kana_N
= 1245;
10552 enum int KEY_kana_NA
= 1221;
10553 enum int KEY_kana_NE
= 1224;
10554 enum int KEY_kana_NI
= 1222;
10555 enum int KEY_kana_NO
= 1225;
10556 enum int KEY_kana_NU
= 1223;
10557 enum int KEY_kana_O
= 1205;
10558 enum int KEY_kana_RA
= 1239;
10559 enum int KEY_kana_RE
= 1242;
10560 enum int KEY_kana_RI
= 1240;
10561 enum int KEY_kana_RO
= 1243;
10562 enum int KEY_kana_RU
= 1241;
10563 enum int KEY_kana_SA
= 1211;
10564 enum int KEY_kana_SE
= 1214;
10565 enum int KEY_kana_SHI
= 1212;
10566 enum int KEY_kana_SO
= 1215;
10567 enum int KEY_kana_SU
= 1213;
10568 enum int KEY_kana_TA
= 1216;
10569 enum int KEY_kana_TE
= 1219;
10570 enum int KEY_kana_TI
= 1217;
10571 enum int KEY_kana_TO
= 1220;
10572 enum int KEY_kana_TSU
= 1218;
10573 enum int KEY_kana_TU
= 1218;
10574 enum int KEY_kana_U
= 1203;
10575 enum int KEY_kana_WA
= 1244;
10576 enum int KEY_kana_WO
= 1190;
10577 enum int KEY_kana_YA
= 1236;
10578 enum int KEY_kana_YO
= 1238;
10579 enum int KEY_kana_YU
= 1237;
10580 enum int KEY_kana_a
= 1191;
10581 enum int KEY_kana_closingbracket
= 1187;
10582 enum int KEY_kana_comma
= 1188;
10583 enum int KEY_kana_conjunctive
= 1189;
10584 enum int KEY_kana_e
= 1194;
10585 enum int KEY_kana_fullstop
= 1185;
10586 enum int KEY_kana_i
= 1192;
10587 enum int KEY_kana_middledot
= 1189;
10588 enum int KEY_kana_o
= 1195;
10589 enum int KEY_kana_openingbracket
= 1186;
10590 enum int KEY_kana_switch
= 65406;
10591 enum int KEY_kana_tsu
= 1199;
10592 enum int KEY_kana_tu
= 1199;
10593 enum int KEY_kana_u
= 1193;
10594 enum int KEY_kana_ya
= 1196;
10595 enum int KEY_kana_yo
= 1198;
10596 enum int KEY_kana_yu
= 1197;
10597 enum int KEY_kappa
= 930;
10598 enum int KEY_kcedilla
= 1011;
10599 enum int KEY_kra
= 930;
10600 enum int KEY_l
= 108;
10601 enum int KEY_lacute
= 485;
10602 enum int KEY_latincross
= 2777;
10603 enum int KEY_lbelowdot
= 16784951;
10604 enum int KEY_lcaron
= 437;
10605 enum int KEY_lcedilla
= 950;
10606 enum int KEY_leftanglebracket
= 2748;
10607 enum int KEY_leftarrow
= 2299;
10608 enum int KEY_leftcaret
= 2979;
10609 enum int KEY_leftdoublequotemark
= 2770;
10610 enum int KEY_leftmiddlecurlybrace
= 2223;
10611 enum int KEY_leftopentriangle
= 2764;
10612 enum int KEY_leftpointer
= 2794;
10613 enum int KEY_leftradical
= 2209;
10614 enum int KEY_leftshoe
= 3034;
10615 enum int KEY_leftsinglequotemark
= 2768;
10616 enum int KEY_leftt
= 2548;
10617 enum int KEY_lefttack
= 3036;
10618 enum int KEY_less
= 60;
10619 enum int KEY_lessthanequal
= 2236;
10620 enum int KEY_lf
= 2533;
10621 enum int KEY_logicaland
= 2270;
10622 enum int KEY_logicalor
= 2271;
10623 enum int KEY_lowleftcorner
= 2541;
10624 enum int KEY_lowrightcorner
= 2538;
10625 enum int KEY_lstroke
= 435;
10626 enum int KEY_m
= 109;
10627 enum int KEY_mabovedot
= 16784961;
10628 enum int KEY_macron
= 175;
10629 enum int KEY_malesymbol
= 2807;
10630 enum int KEY_maltesecross
= 2800;
10631 enum int KEY_marker
= 2751;
10632 enum int KEY_masculine
= 186;
10633 enum int KEY_minus
= 45;
10634 enum int KEY_minutes
= 2774;
10635 enum int KEY_mu
= 181;
10636 enum int KEY_multiply
= 215;
10637 enum int KEY_musicalflat
= 2806;
10638 enum int KEY_musicalsharp
= 2805;
10639 enum int KEY_n
= 110;
10640 enum int KEY_nabla
= 2245;
10641 enum int KEY_nacute
= 497;
10642 enum int KEY_ncaron
= 498;
10643 enum int KEY_ncedilla
= 1009;
10644 enum int KEY_ninesubscript
= 16785545;
10645 enum int KEY_ninesuperior
= 16785529;
10646 enum int KEY_nl
= 2536;
10647 enum int KEY_nobreakspace
= 160;
10648 enum int KEY_notapproxeq
= 16785991;
10649 enum int KEY_notelementof
= 16785929;
10650 enum int KEY_notequal
= 2237;
10651 enum int KEY_notidentical
= 16786018;
10652 enum int KEY_notsign
= 172;
10653 enum int KEY_ntilde
= 241;
10654 enum int KEY_numbersign
= 35;
10655 enum int KEY_numerosign
= 1712;
10656 enum int KEY_o
= 111;
10657 enum int KEY_oacute
= 243;
10658 enum int KEY_obarred
= 16777845;
10659 enum int KEY_obelowdot
= 16785101;
10660 enum int KEY_ocaron
= 16777682;
10661 enum int KEY_ocircumflex
= 244;
10662 enum int KEY_ocircumflexacute
= 16785105;
10663 enum int KEY_ocircumflexbelowdot
= 16785113;
10664 enum int KEY_ocircumflexgrave
= 16785107;
10665 enum int KEY_ocircumflexhook
= 16785109;
10666 enum int KEY_ocircumflextilde
= 16785111;
10667 enum int KEY_odiaeresis
= 246;
10668 enum int KEY_odoubleacute
= 501;
10669 enum int KEY_oe
= 5053;
10670 enum int KEY_ogonek
= 434;
10671 enum int KEY_ograve
= 242;
10672 enum int KEY_ohook
= 16785103;
10673 enum int KEY_ohorn
= 16777633;
10674 enum int KEY_ohornacute
= 16785115;
10675 enum int KEY_ohornbelowdot
= 16785123;
10676 enum int KEY_ohorngrave
= 16785117;
10677 enum int KEY_ohornhook
= 16785119;
10678 enum int KEY_ohorntilde
= 16785121;
10679 enum int KEY_omacron
= 1010;
10680 enum int KEY_oneeighth
= 2755;
10681 enum int KEY_onefifth
= 2738;
10682 enum int KEY_onehalf
= 189;
10683 enum int KEY_onequarter
= 188;
10684 enum int KEY_onesixth
= 2742;
10685 enum int KEY_onesubscript
= 16785537;
10686 enum int KEY_onesuperior
= 185;
10687 enum int KEY_onethird
= 2736;
10688 enum int KEY_ooblique
= 248;
10689 enum int KEY_openrectbullet
= 2786;
10690 enum int KEY_openstar
= 2789;
10691 enum int KEY_opentribulletdown
= 2788;
10692 enum int KEY_opentribulletup
= 2787;
10693 enum int KEY_ordfeminine
= 170;
10694 enum int KEY_oslash
= 248;
10695 enum int KEY_otilde
= 245;
10696 enum int KEY_overbar
= 3008;
10697 enum int KEY_overline
= 1150;
10698 enum int KEY_p
= 112;
10699 enum int KEY_pabovedot
= 16784983;
10700 enum int KEY_paragraph
= 182;
10701 enum int KEY_parenleft
= 40;
10702 enum int KEY_parenright
= 41;
10703 enum int KEY_partdifferential
= 16785922;
10704 enum int KEY_partialderivative
= 2287;
10705 enum int KEY_percent
= 37;
10706 enum int KEY_period
= 46;
10707 enum int KEY_periodcentered
= 183;
10708 enum int KEY_phonographcopyright
= 2811;
10709 enum int KEY_plus
= 43;
10710 enum int KEY_plusminus
= 177;
10711 enum int KEY_prescription
= 2772;
10712 enum int KEY_prolongedsound
= 1200;
10713 enum int KEY_punctspace
= 2726;
10714 enum int KEY_q
= 113;
10715 enum int KEY_quad
= 3020;
10716 enum int KEY_question
= 63;
10717 enum int KEY_questiondown
= 191;
10718 enum int KEY_quotedbl
= 34;
10719 enum int KEY_quoteleft
= 96;
10720 enum int KEY_quoteright
= 39;
10721 enum int KEY_r
= 114;
10722 enum int KEY_racute
= 480;
10723 enum int KEY_radical
= 2262;
10724 enum int KEY_rcaron
= 504;
10725 enum int KEY_rcedilla
= 947;
10726 enum int KEY_registered
= 174;
10727 enum int KEY_rightanglebracket
= 2750;
10728 enum int KEY_rightarrow
= 2301;
10729 enum int KEY_rightcaret
= 2982;
10730 enum int KEY_rightdoublequotemark
= 2771;
10731 enum int KEY_rightmiddlecurlybrace
= 2224;
10732 enum int KEY_rightmiddlesummation
= 2231;
10733 enum int KEY_rightopentriangle
= 2765;
10734 enum int KEY_rightpointer
= 2795;
10735 enum int KEY_rightshoe
= 3032;
10736 enum int KEY_rightsinglequotemark
= 2769;
10737 enum int KEY_rightt
= 2549;
10738 enum int KEY_righttack
= 3068;
10739 enum int KEY_s
= 115;
10740 enum int KEY_sabovedot
= 16784993;
10741 enum int KEY_sacute
= 438;
10742 enum int KEY_scaron
= 441;
10743 enum int KEY_scedilla
= 442;
10744 enum int KEY_schwa
= 16777817;
10745 enum int KEY_scircumflex
= 766;
10746 enum int KEY_script_switch
= 65406;
10747 enum int KEY_seconds
= 2775;
10748 enum int KEY_section
= 167;
10749 enum int KEY_semicolon
= 59;
10750 enum int KEY_semivoicedsound
= 1247;
10751 enum int KEY_seveneighths
= 2758;
10752 enum int KEY_sevensubscript
= 16785543;
10753 enum int KEY_sevensuperior
= 16785527;
10754 enum int KEY_signaturemark
= 2762;
10755 enum int KEY_signifblank
= 2732;
10756 enum int KEY_similarequal
= 2249;
10757 enum int KEY_singlelowquotemark
= 2813;
10758 enum int KEY_sixsubscript
= 16785542;
10759 enum int KEY_sixsuperior
= 16785526;
10760 enum int KEY_slash
= 47;
10761 enum int KEY_soliddiamond
= 2528;
10762 enum int KEY_space
= 32;
10763 enum int KEY_squareroot
= 16785946;
10764 enum int KEY_ssharp
= 223;
10765 enum int KEY_sterling
= 163;
10766 enum int KEY_stricteq
= 16786019;
10767 enum int KEY_t
= 116;
10768 enum int KEY_tabovedot
= 16785003;
10769 enum int KEY_tcaron
= 443;
10770 enum int KEY_tcedilla
= 510;
10771 enum int KEY_telephone
= 2809;
10772 enum int KEY_telephonerecorder
= 2810;
10773 enum int KEY_therefore
= 2240;
10774 enum int KEY_thinspace
= 2727;
10775 enum int KEY_thorn
= 254;
10776 enum int KEY_threeeighths
= 2756;
10777 enum int KEY_threefifths
= 2740;
10778 enum int KEY_threequarters
= 190;
10779 enum int KEY_threesubscript
= 16785539;
10780 enum int KEY_threesuperior
= 179;
10781 enum int KEY_tintegral
= 16785965;
10782 enum int KEY_topintegral
= 2212;
10783 enum int KEY_topleftparens
= 2219;
10784 enum int KEY_topleftradical
= 2210;
10785 enum int KEY_topleftsqbracket
= 2215;
10786 enum int KEY_topleftsummation
= 2225;
10787 enum int KEY_toprightparens
= 2221;
10788 enum int KEY_toprightsqbracket
= 2217;
10789 enum int KEY_toprightsummation
= 2229;
10790 enum int KEY_topt
= 2551;
10791 enum int KEY_topvertsummationconnector
= 2227;
10792 enum int KEY_trademark
= 2761;
10793 enum int KEY_trademarkincircle
= 2763;
10794 enum int KEY_tslash
= 956;
10795 enum int KEY_twofifths
= 2739;
10796 enum int KEY_twosubscript
= 16785538;
10797 enum int KEY_twosuperior
= 178;
10798 enum int KEY_twothirds
= 2737;
10799 enum int KEY_u
= 117;
10800 enum int KEY_uacute
= 250;
10801 enum int KEY_ubelowdot
= 16785125;
10802 enum int KEY_ubreve
= 765;
10803 enum int KEY_ucircumflex
= 251;
10804 enum int KEY_udiaeresis
= 252;
10805 enum int KEY_udoubleacute
= 507;
10806 enum int KEY_ugrave
= 249;
10807 enum int KEY_uhook
= 16785127;
10808 enum int KEY_uhorn
= 16777648;
10809 enum int KEY_uhornacute
= 16785129;
10810 enum int KEY_uhornbelowdot
= 16785137;
10811 enum int KEY_uhorngrave
= 16785131;
10812 enum int KEY_uhornhook
= 16785133;
10813 enum int KEY_uhorntilde
= 16785135;
10814 enum int KEY_umacron
= 1022;
10815 enum int KEY_underbar
= 3014;
10816 enum int KEY_underscore
= 95;
10817 enum int KEY_union
= 2269;
10818 enum int KEY_uogonek
= 1017;
10819 enum int KEY_uparrow
= 2300;
10820 enum int KEY_upcaret
= 2985;
10821 enum int KEY_upleftcorner
= 2540;
10822 enum int KEY_uprightcorner
= 2539;
10823 enum int KEY_upshoe
= 3011;
10824 enum int KEY_upstile
= 3027;
10825 enum int KEY_uptack
= 3022;
10826 enum int KEY_uring
= 505;
10827 enum int KEY_utilde
= 1021;
10828 enum int KEY_v
= 118;
10829 enum int KEY_variation
= 2241;
10830 enum int KEY_vertbar
= 2552;
10831 enum int KEY_vertconnector
= 2214;
10832 enum int KEY_voicedsound
= 1246;
10833 enum int KEY_vt
= 2537;
10834 enum int KEY_w
= 119;
10835 enum int KEY_wacute
= 16785027;
10836 enum int KEY_wcircumflex
= 16777589;
10837 enum int KEY_wdiaeresis
= 16785029;
10838 enum int KEY_wgrave
= 16785025;
10839 enum int KEY_x
= 120;
10840 enum int KEY_xabovedot
= 16785035;
10841 enum int KEY_y
= 121;
10842 enum int KEY_yacute
= 253;
10843 enum int KEY_ybelowdot
= 16785141;
10844 enum int KEY_ycircumflex
= 16777591;
10845 enum int KEY_ydiaeresis
= 255;
10846 enum int KEY_yen
= 165;
10847 enum int KEY_ygrave
= 16785139;
10848 enum int KEY_yhook
= 16785143;
10849 enum int KEY_ytilde
= 16785145;
10850 enum int KEY_z
= 122;
10851 enum int KEY_zabovedot
= 447;
10852 enum int KEY_zacute
= 444;
10853 enum int KEY_zcaron
= 446;
10854 enum int KEY_zerosubscript
= 16785536;
10855 enum int KEY_zerosuperior
= 16785520;
10856 enum int KEY_zstroke
= 16777654;
10857 enum int KP_0
= 65456;
10858 enum int KP_1
= 65457;
10859 enum int KP_2
= 65458;
10860 enum int KP_3
= 65459;
10861 enum int KP_4
= 65460;
10862 enum int KP_5
= 65461;
10863 enum int KP_6
= 65462;
10864 enum int KP_7
= 65463;
10865 enum int KP_8
= 65464;
10866 enum int KP_9
= 65465;
10867 enum int KP_Add
= 65451;
10868 enum int KP_Begin
= 65437;
10869 enum int KP_Decimal
= 65454;
10870 enum int KP_Delete
= 65439;
10871 enum int KP_Divide
= 65455;
10872 enum int KP_Down
= 65433;
10873 enum int KP_End
= 65436;
10874 enum int KP_Enter
= 65421;
10875 enum int KP_Equal
= 65469;
10876 enum int KP_F1
= 65425;
10877 enum int KP_F2
= 65426;
10878 enum int KP_F3
= 65427;
10879 enum int KP_F4
= 65428;
10880 enum int KP_Home
= 65429;
10881 enum int KP_Insert
= 65438;
10882 enum int KP_Left
= 65430;
10883 enum int KP_Multiply
= 65450;
10884 enum int KP_Next
= 65435;
10885 enum int KP_Page_Down
= 65435;
10886 enum int KP_Page_Up
= 65434;
10887 enum int KP_Prior
= 65434;
10888 enum int KP_Right
= 65432;
10889 enum int KP_Separator
= 65452;
10890 enum int KP_Space
= 65408;
10891 enum int KP_Subtract
= 65453;
10892 enum int KP_Tab
= 65417;
10893 enum int KP_Up
= 65431;
10894 enum int Kana_Lock
= 65325;
10895 enum int Kana_Shift
= 65326;
10896 enum int Kanji
= 65313;
10897 enum int Kanji_Bangou
= 65335;
10898 enum int Katakana
= 65318;
10899 enum int KbdBrightnessDown
= 269025030;
10900 enum int KbdBrightnessUp
= 269025029;
10901 enum int KbdLightOnOff
= 269025028;
10902 enum int Kcedilla
= 979;
10904 struct KeyEvent
/* Version 0.2 */ {
10910 ModifierType modifier_state
;
10912 ushort hardware_keycode
;
10913 dchar unicode_value
;
10914 InputDevice
* device
;
10917 // Point in a path behaviour.
10918 struct Knot
/* Version 0.2 */ {
10922 // Makes an allocated copy of a knot.
10923 // RETURNS: the copied knot.
10924 Knot
* /*new*/ copy() {
10925 return clutter_knot_copy(&this);
10928 // Compares to knot and checks if the point to the same location.
10929 // RETURNS: %TRUE if the knots point to the same location.
10930 // <knot_b>: Second knot
10931 int equal(Knot
* knot_b
) {
10932 return clutter_knot_equal(&this, knot_b
);
10934 // Frees the memory of an allocated knot.
10936 clutter_knot_free(&this);
10940 enum int Korean_Won
= 3839;
10942 enum int L1
= 65480;
10943 enum int L10
= 65489;
10944 enum int L2
= 65481;
10945 enum int L3
= 65482;
10946 enum int L4
= 65483;
10947 enum int L5
= 65484;
10948 enum int L6
= 65485;
10949 enum int L7
= 65486;
10950 enum int L8
= 65487;
10951 enum int L9
= 65488;
10952 enum int Lacute
= 453;
10953 enum int Last_Virtual_Screen
= 65236;
10954 enum int Launch0
= 269025088;
10955 enum int Launch1
= 269025089;
10956 enum int Launch2
= 269025090;
10957 enum int Launch3
= 269025091;
10958 enum int Launch4
= 269025092;
10959 enum int Launch5
= 269025093;
10960 enum int Launch6
= 269025094;
10961 enum int Launch7
= 269025095;
10962 enum int Launch8
= 269025096;
10963 enum int Launch9
= 269025097;
10964 enum int LaunchA
= 269025098;
10965 enum int LaunchB
= 269025099;
10966 enum int LaunchC
= 269025100;
10967 enum int LaunchD
= 269025101;
10968 enum int LaunchE
= 269025102;
10969 enum int LaunchF
= 269025103;
10971 // The #ClutterLayoutManager structure contains only private data
10972 // and should be accessed using the provided API
10973 struct LayoutManager
/* : GObject.InitiallyUnowned */ /* Version 1.2 */ {
10974 alias parent_instance
this;
10975 alias parent_instance super_
;
10976 alias parent_instance initiallyunowned
;
10977 GObject2
.InitiallyUnowned parent_instance
;
10978 private void* dummy
;
10981 // Allocates the children of @container given an area
10983 // See also clutter_actor_allocate()
10984 // <container>: the #ClutterContainer using @manager
10985 // <allocation>: the #ClutterActorBox containing the allocated area of @container
10986 // <flags>: the allocation flags
10987 void allocate(Container
* container
, ActorBox
* allocation
, AllocationFlags flags
) {
10988 clutter_layout_manager_allocate(&this, container
, allocation
, flags
);
10991 // Begins an animation of @duration milliseconds, using the provided
10994 // The easing mode can be specified either as a #ClutterAnimationMode
10995 // or as a logical id returned by clutter_alpha_register_func()
10997 // The result of this function depends on the @manager implementation
10999 // layout manager; the returned instance is owned by the layout
11000 // manager and should not be unreferenced
11001 // RETURNS: The #ClutterAlpha created by the
11002 // <duration>: the duration of the animation, in milliseconds
11003 // <mode>: the easing mode of the animation
11004 Alpha
* begin_animation(uint duration
, c_ulong mode
) {
11005 return clutter_layout_manager_begin_animation(&this, duration
, mode
);
11008 // Unintrospectable method: child_get() / clutter_layout_manager_child_get()
11009 // Retrieves the values for a list of properties out of the
11010 // #ClutterLayoutMeta created by @manager and attached to the
11011 // child of a @container
11012 // <container>: a #ClutterContainer using @manager
11013 // <actor>: a #ClutterActor child of @container
11014 // <first_property>: the name of the first property
11015 /+ Not available -- variadic methods unsupported - use the C function directly.
11016 alias clutter_layout_manager_child_get child_get; // Variadic
11019 // Gets a property on the #ClutterLayoutMeta created by @manager and
11020 // attached to a child of @container
11022 // The #GValue must already be initialized to the type of the property
11023 // and has to be unset with g_value_unset() after extracting the real
11025 // <container>: a #ClutterContainer using @manager
11026 // <actor>: a #ClutterActor child of @container
11027 // <property_name>: the name of the property to get
11028 // <value>: a #GValue with the value of the property to get
11029 void child_get_property(Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
) {
11030 clutter_layout_manager_child_get_property(&this, container
, actor
, property_name
, value
);
11033 // Unintrospectable method: child_set() / clutter_layout_manager_child_set()
11034 // Sets a list of properties and their values on the #ClutterLayoutMeta
11035 // associated by @manager to a child of @container
11037 // Languages bindings should use clutter_layout_manager_child_set_property()
11039 // <container>: a #ClutterContainer using @manager
11040 // <actor>: a #ClutterActor child of @container
11041 // <first_property>: the first property name
11042 /+ Not available -- variadic methods unsupported - use the C function directly.
11043 alias clutter_layout_manager_child_set child_set; // Variadic
11046 // Sets a property on the #ClutterLayoutMeta created by @manager and
11047 // attached to a child of @container
11048 // <container>: a #ClutterContainer using @manager
11049 // <actor>: a #ClutterActor child of @container
11050 // <property_name>: the name of the property to set
11051 // <value>: a #GValue with the value of the property to set
11052 void child_set_property(Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
) {
11053 clutter_layout_manager_child_set_property(&this, container
, actor
, property_name
, value
);
11056 // Ends an animation started by clutter_layout_manager_begin_animation()
11058 // The result of this call depends on the @manager implementation
11059 void end_animation() {
11060 clutter_layout_manager_end_animation(&this);
11063 // Retrieves the #GParamSpec for the layout property @name inside
11064 // the #ClutterLayoutMeta sub-class used by @manager
11066 // or %NULL if no property with that name exists. The returned
11067 // #GParamSpec is owned by the layout manager and should not be
11068 // modified or freed
11069 // RETURNS: a #GParamSpec describing the property,
11070 // <name>: the name of the property
11071 GObject2
.ParamSpec
* find_child_property(char* name
) {
11072 return clutter_layout_manager_find_child_property(&this, name
);
11075 // Retrieves the progress of the animation, if one has been started by
11076 // clutter_layout_manager_begin_animation()
11078 // The returned value has the same semantics of the #ClutterAlpha:alpha
11080 // RETURNS: the progress of the animation
11081 double get_animation_progress() {
11082 return clutter_layout_manager_get_animation_progress(&this);
11085 // Retrieves the #ClutterLayoutMeta that the layout @manager associated
11086 // to the @actor child of @container, eventually by creating one if the
11087 // #ClutterLayoutManager supports layout properties
11089 // #ClutterLayoutManager does not have layout properties. The returned
11090 // layout meta instance is owned by the #ClutterLayoutManager and it
11091 // should not be unreferenced
11092 // RETURNS: a #ClutterLayoutMeta, or %NULL if the
11093 // <container>: a #ClutterContainer using @manager
11094 // <actor>: a #ClutterActor child of @container
11095 LayoutMeta
* get_child_meta(Container
* container
, Actor
* actor
) {
11096 return clutter_layout_manager_get_child_meta(&this, container
, actor
);
11099 // Computes the minimum and natural heights of the @container according
11102 // See also clutter_actor_get_preferred_height()
11103 // <container>: the #ClutterContainer using @manager
11104 // <for_width>: the width for which the height should be computed, or -1
11105 // <min_height_p>: return location for the minimum height of the layout, or %NULL
11106 // <nat_height_p>: return location for the natural height of the layout, or %NULL
11107 void get_preferred_height(Container
* container
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* nat_height_p
=null) {
11108 clutter_layout_manager_get_preferred_height(&this, container
, for_width
, min_height_p
, nat_height_p
);
11111 // Computes the minimum and natural widths of the @container according
11114 // See also clutter_actor_get_preferred_width()
11115 // <container>: the #ClutterContainer using @manager
11116 // <for_height>: the height for which the width should be computed, or -1
11117 // <min_width_p>: return location for the minimum width of the layout, or %NULL
11118 // <nat_width_p>: return location for the natural width of the layout, or %NULL
11119 void get_preferred_width(Container
* container
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* nat_width_p
=null) {
11120 clutter_layout_manager_get_preferred_width(&this, container
, for_height
, min_width_p
, nat_width_p
);
11123 // Emits the #ClutterLayoutManager::layout-changed signal on @manager
11125 // This function should only be called by implementations of the
11126 // #ClutterLayoutManager class
11127 void layout_changed() {
11128 clutter_layout_manager_layout_changed(&this);
11131 // Retrieves all the #GParamSpec<!-- -->s for the layout properties
11132 // stored inside the #ClutterLayoutMeta sub-class used by @manager
11134 // %NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the
11135 // resources allocated for the array
11136 // RETURNS: the newly-allocated,
11137 // <n_pspecs>: return location for the number of returned #GParamSpec<!-- -->s
11138 GObject2
.ParamSpec
** /*new*/ list_child_properties(/*out*/ uint* n_pspecs
) {
11139 return clutter_layout_manager_list_child_properties(&this, n_pspecs
);
11142 // If the #ClutterLayoutManager sub-class allows it, allow
11143 // adding a weak reference of the @container using @manager
11144 // from within the layout manager
11146 // The layout manager should not increase the reference
11147 // count of the @container
11148 // <container>: a #ClutterContainer using @manager
11149 void set_container(Container
* container
=null) {
11150 clutter_layout_manager_set_container(&this, container
);
11153 // The ::layout-changed signal is emitted each time a layout manager
11154 // has been changed. Every #ClutterActor using the @manager instance
11155 // as a layout manager should connect a handler to the ::layout-changed
11156 // signal and queue a relayout on themselves:
11159 // static void layout_changed (ClutterLayoutManager *manager,
11160 // ClutterActor *self)
11162 // clutter_actor_queue_relayout (self);
11165 // self->manager = g_object_ref_sink (manager);
11166 // g_signal_connect (self->manager, "layout-changed",
11167 // G_CALLBACK (layout_changed),
11171 // Sub-classes of #ClutterLayoutManager that implement a layout that
11172 // can be controlled or changed using parameters should emit the
11173 // ::layout-changed signal whenever one of the parameters changes,
11174 // by using clutter_layout_manager_layout_changed().
11175 extern (C
) alias static void function (LayoutManager
* this_
, void* user_data
=null) signal_layout_changed
;
11177 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11178 return super_
.signal_connect
!name(cb
, data
, cf
);
11181 ulong signal_connect(string name
:"layout-changed", CB
:signal_layout_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11182 return signal_connect_data(&this, cast(char*)"layout-changed",
11183 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11188 // The #ClutterLayoutManagerClass structure contains only private
11189 // data and should be accessed using the provided API
11190 struct LayoutManagerClass
/* Version 1.2 */ {
11191 private GObject2
.InitiallyUnownedClass parent_class
;
11193 // <container>: the #ClutterContainer using @manager
11194 // <for_height>: the height for which the width should be computed, or -1
11195 // <min_width_p>: return location for the minimum width of the layout, or %NULL
11196 // <nat_width_p>: return location for the natural width of the layout, or %NULL
11197 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
;
11199 // <container>: the #ClutterContainer using @manager
11200 // <for_width>: the width for which the height should be computed, or -1
11201 // <min_height_p>: return location for the minimum height of the layout, or %NULL
11202 // <nat_height_p>: return location for the natural height of the layout, or %NULL
11203 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
;
11205 // <container>: the #ClutterContainer using @manager
11206 // <allocation>: the #ClutterActorBox containing the allocated area of @container
11207 // <flags>: the allocation flags
11208 extern (C
) void function (LayoutManager
* manager
, Container
* container
, ActorBox
* allocation
, AllocationFlags flags
) allocate
;
11209 // <container>: a #ClutterContainer using @manager
11210 extern (C
) void function (LayoutManager
* manager
, Container
* container
=null) set_container
;
11211 extern (C
) Type
function (LayoutManager
* manager
) get_child_meta_type
;
11212 // Unintrospectable functionp: create_child_meta() / ()
11213 extern (C
) LayoutMeta
* function (LayoutManager
* manager
, Container
* container
, Actor
* actor
) create_child_meta
;
11215 // RETURNS: The #ClutterAlpha created by the
11216 // <duration>: the duration of the animation, in milliseconds
11217 // <mode>: the easing mode of the animation
11218 extern (C
) Alpha
* function (LayoutManager
* manager
, uint duration
, c_ulong mode
) begin_animation
;
11219 // RETURNS: the progress of the animation
11220 extern (C
) double function (LayoutManager
* manager
) get_animation_progress
;
11221 extern (C
) void function (LayoutManager
* manager
) end_animation
;
11222 extern (C
) void function (LayoutManager
* manager
) layout_changed
;
11223 extern (C
) void function () _clutter_padding_1
;
11224 extern (C
) void function () _clutter_padding_2
;
11225 extern (C
) void function () _clutter_padding_3
;
11226 extern (C
) void function () _clutter_padding_4
;
11227 extern (C
) void function () _clutter_padding_5
;
11228 extern (C
) void function () _clutter_padding_6
;
11229 extern (C
) void function () _clutter_padding_7
;
11230 extern (C
) void function () _clutter_padding_8
;
11234 // Sub-class of #ClutterChildMeta specific for layout managers
11236 // A #ClutterLayoutManager sub-class should create a #ClutterLayoutMeta
11237 // instance by overriding the #ClutterLayoutManager::create_child_meta()
11238 // virtual function
11239 struct LayoutMeta
/* : ChildMeta */ /* Version 1.2 */ {
11240 alias parent_instance
this;
11241 alias parent_instance super_
;
11242 alias parent_instance childmeta
;
11243 ChildMeta parent_instance
;
11244 LayoutManager
* manager
;
11245 private int dummy0
;
11246 private void* dummy1
;
11249 // Retrieves the actor wrapped by @data
11250 // RETURNS: a #ClutterLayoutManager
11251 LayoutManager
* get_manager() {
11252 return clutter_layout_meta_get_manager(&this);
11257 // The #ClutterLayoutMetaClass contains only private data and
11258 // should never be accessed directly
11259 struct LayoutMetaClass
/* Version 1.2 */ {
11260 private ChildMetaClass parent_class
;
11261 extern (C
) void function () _clutter_padding1
;
11262 extern (C
) void function () _clutter_padding2
;
11263 extern (C
) void function () _clutter_padding3
;
11264 extern (C
) void function () _clutter_padding4
;
11267 enum int Lbelowdot
= 16784950;
11268 enum int Lcaron
= 421;
11269 enum int Lcedilla
= 934;
11270 enum int Left
= 65361;
11271 enum int LightBulb
= 269025077;
11272 enum int Linefeed
= 65290;
11273 enum int LiraSign
= 16785572;
11274 // The #ClutterListModel struct contains only private data.
11275 struct ListModel
/* : Model */ /* Version 0.6 */ {
11276 alias parent_instance
this;
11277 alias parent_instance super_
;
11278 alias parent_instance model
;
11279 Model parent_instance
;
11280 private ListModelPrivate
* priv
;
11283 // Unintrospectable constructor: new() / clutter_list_model_new()
11284 // Creates a new default model with @n_columns columns with the types
11285 // and names passed in.
11289 // <informalexample><programlisting>
11290 // model = clutter_list_model_new (3,
11291 // G_TYPE_INT, "Score",
11292 // G_TYPE_STRING, "Team",
11293 // GDK_TYPE_PIXBUF, "Logo");
11294 // </programlisting></informalexample>
11296 // will create a new #ClutterModel with three columns of type int,
11297 // string and #GdkPixbuf respectively.
11299 // Note that the name of the column can be set to %NULL, in which case
11300 // the canonical name of the type held by the column will be used as
11302 // RETURNS: a new #ClutterListModel
11303 // <n_columns>: number of columns in the model
11304 alias clutter_list_model_new new_
; // Variadic
11306 // Non-vararg version of clutter_list_model_new(). This function is
11307 // useful for language bindings.
11308 // RETURNS: a new default #ClutterModel
11309 // <n_columns>: number of columns in the model
11310 // <types>: an array of #GType types for the columns, from first to last
11311 // <names>: an array of names for the columns, from first to last
11312 static ListModel
* /*new*/ newv(uint n_columns
, Type
* types
, char* names
) {
11313 return clutter_list_model_newv(n_columns
, types
, names
);
11317 // The #ClutterListModelClass struct contains only private data.
11318 struct ListModelClass
/* Version 0.6 */ {
11319 private ModelClass parent_class
;
11322 struct ListModelPrivate
{
11325 enum int LogOff
= 269025121;
11326 // The states for the #ClutterClikAction::long-press signal.
11327 enum LongPressState
/* Version 1.8 */ {
11332 enum int Lstroke
= 419;
11334 enum int MAJOR_VERSION
= 1;
11335 enum int MICRO_VERSION
= 3;
11336 enum int MINOR_VERSION
= 8;
11337 enum int Mabovedot
= 16784960;
11338 enum int Macedonia_DSE
= 1717;
11339 enum int Macedonia_GJE
= 1714;
11340 enum int Macedonia_KJE
= 1724;
11341 enum int Macedonia_dse
= 1701;
11342 enum int Macedonia_gje
= 1698;
11343 enum int Macedonia_kje
= 1708;
11344 enum int Mae_Koho
= 65342;
11345 enum int Mail
= 269025049;
11346 enum int MailForward
= 269025168;
11347 enum int Market
= 269025122;
11348 enum int Massyo
= 65324;
11350 // #ClutterMedia is an opaque structure whose members cannot be directly
11352 struct Media
/* Version 0.2 */ {
11354 // Retrieves the playback volume of @media.
11355 // RETURNS: The playback volume between 0.0 and 1.0
11356 double get_audio_volume() {
11357 return clutter_media_get_audio_volume(&this);
11360 // Retrieves the amount of the stream that is buffered.
11361 // RETURNS: the fill level, between 0.0 and 1.0
11362 double get_buffer_fill() {
11363 return clutter_media_get_buffer_fill(&this);
11366 // Retrieves whether @media is seekable or not.
11367 // RETURNS: %TRUE if @media can seek, %FALSE otherwise.
11368 int get_can_seek() {
11369 return clutter_media_get_can_seek(&this);
11372 // Retrieves the duration of the media stream that @media represents.
11373 // RETURNS: the duration of the media stream, in seconds
11374 double get_duration() {
11375 return clutter_media_get_duration(&this);
11378 // Retrieves the playing status of @media.
11379 // RETURNS: %TRUE if playing, %FALSE if stopped.
11380 int get_playing() {
11381 return clutter_media_get_playing(&this);
11384 // Retrieves the playback progress of @media.
11385 // RETURNS: the playback progress, between 0.0 and 1.0
11386 double get_progress() {
11387 return clutter_media_get_progress(&this);
11390 // Retrieves the font name currently used.
11392 // to free the returned string
11393 // RETURNS: a string containing the font name. Use g_free()
11394 char* /*new*/ get_subtitle_font_name() {
11395 return clutter_media_get_subtitle_font_name(&this);
11398 // Retrieves the URI of the subtitle file in use.
11400 // to free the returned string
11401 // RETURNS: the URI of the subtitle file. Use g_free()
11402 char* /*new*/ get_subtitle_uri() {
11403 return clutter_media_get_subtitle_uri(&this);
11406 // Retrieves the URI from @media.
11408 // to free the returned string
11409 // RETURNS: the URI of the media stream. Use g_free()
11410 char* /*new*/ get_uri() {
11411 return clutter_media_get_uri(&this);
11414 // Sets the playback volume of @media to @volume.
11415 // <volume>: the volume as a double between 0.0 and 1.0
11416 void set_audio_volume(double volume
) {
11417 clutter_media_set_audio_volume(&this, volume
);
11420 // Sets the source of @media using a file path.
11421 // <filename>: A filename
11422 void set_filename(char* filename
) {
11423 clutter_media_set_filename(&this, filename
);
11426 // Starts or stops playing of @media.
11427 // The implementation might be asynchronous, so the way to know whether
11428 // the actual playing state of the @media is to use the #GObject::notify
11429 // signal on the #ClutterMedia:playing property and then retrieve the
11430 // current state with clutter_media_get_playing(). ClutterGstVideoTexture
11431 // in clutter-gst is an example of such an asynchronous implementation.
11432 // <playing>: %TRUE to start playing
11433 void set_playing(int playing
) {
11434 clutter_media_set_playing(&this, playing
);
11437 // Sets the playback progress of @media. The @progress is
11438 // a normalized value between 0.0 (begin) and 1.0 (end).
11439 // <progress>: the progress of the playback, between 0.0 and 1.0
11440 void set_progress(double progress
) {
11441 clutter_media_set_progress(&this, progress
);
11444 // Sets the font used by the subtitle renderer. The @font_name string must be
11445 // either %NULL, which means that the default font name of the underlying
11446 // implementation will be used; or must follow the grammar recognized by
11447 // pango_font_description_from_string() like:
11450 // clutter_media_set_subtitle_font_name (media, "Sans 24pt");
11452 // <font_name>: a font name, or %NULL to set the default font name
11453 void set_subtitle_font_name(char* font_name
) {
11454 clutter_media_set_subtitle_font_name(&this, font_name
);
11457 // Sets the location of a subtitle file to display while playing @media.
11458 // <uri>: the URI of a subtitle file
11459 void set_subtitle_uri(char* uri
) {
11460 clutter_media_set_subtitle_uri(&this, uri
);
11463 // Sets the URI of @media to @uri.
11464 // <uri>: the URI of the media stream
11465 void set_uri(char* uri
) {
11466 clutter_media_set_uri(&this, uri
);
11468 // The ::eos signal is emitted each time the media stream ends.
11469 extern (C
) alias static void function (Media
* this_
, void* user_data
=null) signal_eos
;
11471 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11472 return super_
.signal_connect
!name(cb
, data
, cf
);
11475 ulong signal_connect(string name
:"eos", CB
:signal_eos
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11476 return signal_connect_data(&this, cast(char*)"eos",
11477 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11480 // The ::error signal is emitted each time an error occurred.
11481 // <error>: the #GError
11482 extern (C
) alias static void function (Media
* this_
, GLib2
.Error
* error
, void* user_data
=null) signal_error
;
11483 ulong signal_connect(string name
:"error", CB
:signal_error
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11484 return signal_connect_data(&this, cast(char*)"error",
11485 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11489 // Interface vtable for #ClutterMedia implementations
11490 struct MediaIface
/* Version 0.2 */ {
11491 private GObject2
.TypeInterface base_iface
;
11492 extern (C
) void function (Media
* media
) eos
;
11493 extern (C
) void function (Media
* media
, GLib2
.Error
* error
) error
;
11496 enum int Meeting
= 269025123;
11497 enum int Memo
= 269025054;
11498 enum int Menu
= 65383;
11499 enum int MenuKB
= 269025125;
11500 enum int MenuPB
= 269025126;
11501 enum int Messenger
= 269025166;
11502 enum int Meta_L
= 65511;
11503 enum int Meta_R
= 65512;
11504 enum int MillSign
= 16785573;
11505 enum int ModeLock
= 269025025;
11506 enum int Mode_switch
= 65406;
11508 // Base class for list models. The #ClutterModel structure contains
11509 // only private data and should be manipulated using the provided
11511 struct Model
/* : GObject.Object */ /* Version 0.6 */ {
11512 alias parent_instance
this;
11513 alias parent_instance super_
;
11514 alias parent_instance object
;
11515 GObject2
.Object parent_instance
;
11516 private ModelPrivate
* priv
;
11519 // Unintrospectable method: append() / clutter_model_append()
11520 // Creates and appends a new row to the #ClutterModel, setting the
11521 // row values upon creation. For example, to append a new row where
11522 // column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
11524 // <informalexample><programlisting>
11525 // ClutterModel *model;
11526 // model = clutter_model_default_new (2,
11527 // G_TYPE_INT, "Score",
11528 // G_TYPE_STRING, "Team");
11529 // clutter_model_append (model, 0, 42, 1, "Team #1", -1);
11530 // </programlisting></informalexample>
11531 /+ Not available -- variadic methods unsupported - use the C function directly.
11532 alias clutter_model_append append; // Variadic
11535 // Creates and appends a new row to the #ClutterModel, setting the row
11536 // values for the given @columns upon creation.
11537 // <n_columns>: the number of columns and values
11538 // <columns>: a vector with the columns to set
11539 // <values>: a vector with the values
11540 void appendv(uint n_columns
, uint* columns
, GObject2
.Value
* values
) {
11541 clutter_model_appendv(&this, n_columns
, columns
, values
);
11544 // Checks whether the row pointer by @iter should be filtered or not using
11545 // the filtering function set on @model.
11547 // This function should be used only by subclasses of #ClutterModel.
11549 // %FALSE otherwise
11550 // RETURNS: %TRUE if the row should be displayed,
11551 // <iter>: the row to filter
11552 int filter_iter(ModelIter
* iter
) {
11553 return clutter_model_filter_iter(&this, iter
);
11556 // Checks whether @row should be filtered or not using the
11557 // filtering function set on @model.
11559 // This function should be used only by subclasses of #ClutterModel.
11561 // %FALSE otherwise
11562 // RETURNS: %TRUE if the row should be displayed,
11563 // <row>: the row to filter
11564 int filter_row(uint row
) {
11565 return clutter_model_filter_row(&this, row
);
11568 // Calls @func for each row in the model.
11569 // <func>: a #ClutterModelForeachFunc
11570 // <user_data>: user data to pass to @func
11571 void foreach_(ModelForeachFunc func
, void* user_data
) {
11572 clutter_model_foreach(&this, func
, user_data
);
11575 // Retrieves the name of the @column
11577 // string, and it should not be modified or freed
11578 // RETURNS: the name of the column. The model holds the returned
11579 // <column>: the column number
11580 char* get_column_name(uint column
) {
11581 return clutter_model_get_column_name(&this, column
);
11584 // Retrieves the type of the @column.
11585 // RETURNS: the type of the column.
11586 // <column>: the column number
11587 Type
get_column_type(uint column
) {
11588 return clutter_model_get_column_type(&this, column
);
11591 // Returns whether the @model has a filter in place, set
11592 // using clutter_model_set_filter()
11593 // RETURNS: %TRUE if a filter is set
11594 int get_filter_set() {
11595 return clutter_model_get_filter_set(&this);
11598 // Retrieves a #ClutterModelIter representing the first non-filtered
11601 // Call g_object_unref() when done using it
11602 // RETURNS: A new #ClutterModelIter.
11603 ModelIter
* /*new*/ get_first_iter() {
11604 return clutter_model_get_first_iter(&this);
11607 // Retrieves a #ClutterModelIter representing the row at the given index.
11609 // If a filter function has been set using clutter_model_set_filter()
11610 // then the @model implementation will return the first non filtered
11613 // out of bounds. When done using the iterator object, call g_object_unref()
11614 // to deallocate its resources
11615 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
11616 // <row>: position of the row to retrieve
11617 ModelIter
* /*new*/ get_iter_at_row(uint row
) {
11618 return clutter_model_get_iter_at_row(&this, row
);
11621 // Retrieves a #ClutterModelIter representing the last non-filtered
11624 // Call g_object_unref() when done using it
11625 // RETURNS: A new #ClutterModelIter.
11626 ModelIter
* /*new*/ get_last_iter() {
11627 return clutter_model_get_last_iter(&this);
11630 // Retrieves the number of columns inside @model.
11631 // RETURNS: the number of columns
11632 uint get_n_columns() {
11633 return clutter_model_get_n_columns(&this);
11636 // Retrieves the number of rows inside @model, eventually taking
11637 // into account any filtering function set using clutter_model_set_filter().
11639 // the length of the filtered @model is returned.
11640 // RETURNS: The length of the @model. If there is a filter set, then
11641 uint get_n_rows() {
11642 return clutter_model_get_n_rows(&this);
11645 // Retrieves the number of column used for sorting the @model.
11646 // RETURNS: a column number, or -1 if the model is not sorted
11647 int get_sorting_column() {
11648 return clutter_model_get_sorting_column(&this);
11651 // Unintrospectable method: insert() / clutter_model_insert()
11652 // Inserts a new row to the #ClutterModel at @row, setting the row
11653 // values upon creation. For example, to insert a new row at index 100,
11654 // where column 0 is type %G_TYPE_INT and column 1 is of type
11657 // <informalexample><programlisting>
11658 // ClutterModel *model;
11659 // model = clutter_model_default_new (2,
11660 // G_TYPE_INT, "Score",
11661 // G_TYPE_STRING, "Team");
11662 // clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1);
11663 // </programlisting></informalexample>
11664 // <row>: the position to insert the new row
11665 /+ Not available -- variadic methods unsupported - use the C function directly.
11666 alias clutter_model_insert insert; // Variadic
11669 // Sets the data in the cell specified by @iter and @column. The type of
11670 // @value must be convertable to the type of the column. If the row does
11671 // not exist then it is created.
11672 // <row>: position of the row to modify
11673 // <column>: column to modify
11674 // <value>: new value for the cell
11675 void insert_value(uint row
, uint column
, GObject2
.Value
* value
) {
11676 clutter_model_insert_value(&this, row
, column
, value
);
11679 // Inserts data at @row into the #ClutterModel, setting the row
11680 // values for the given @columns upon creation.
11681 // <row>: row index
11682 // <n_columns>: the number of columns and values to set
11683 // <columns>: a vector containing the columns to set
11684 // <values>: a vector containing the values for the cells
11685 void insertv(uint row
, uint n_columns
, uint* columns
, GObject2
.Value
* values
) {
11686 clutter_model_insertv(&this, row
, n_columns
, columns
, values
);
11689 // Unintrospectable method: prepend() / clutter_model_prepend()
11690 // Creates and prepends a new row to the #ClutterModel, setting the row
11691 // values upon creation. For example, to prepend a new row where column 0
11692 // is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
11694 // <informalexample><programlisting>
11695 // ClutterModel *model;
11696 // model = clutter_model_default_new (2,
11697 // G_TYPE_INT, "Score",
11698 // G_TYPE_STRING, "Team");
11699 // clutter_model_prepend (model, 0, 42, 1, "Team #1", -1);
11700 // </programlisting></informalexample>
11701 /+ Not available -- variadic methods unsupported - use the C function directly.
11702 alias clutter_model_prepend prepend; // Variadic
11705 // Creates and prepends a new row to the #ClutterModel, setting the row
11706 // values for the given @columns upon creation.
11707 // <n_columns>: the number of columns and values to set
11708 // <columns>: a vector containing the columns to set
11709 // <values>: a vector containing the values for the cells
11710 void prependv(uint n_columns
, uint* columns
, GObject2
.Value
* values
) {
11711 clutter_model_prependv(&this, n_columns
, columns
, values
);
11714 // Removes the row at the given position from the model.
11715 // <row>: position of row to remove
11716 void remove(uint row
) {
11717 clutter_model_remove(&this, row
);
11720 // Force a resort on the @model. This function should only be
11721 // used by subclasses of #ClutterModel.
11723 clutter_model_resort(&this);
11726 // Filters the @model using the given filtering function.
11727 // <func>: a #ClutterModelFilterFunc, or #NULL
11728 // <user_data>: user data to pass to @func, or #NULL
11729 // <notify>: destroy notifier of @user_data, or #NULL
11730 void set_filter(ModelFilterFunc func
, void* user_data
, GLib2
.DestroyNotify notify
) {
11731 clutter_model_set_filter(&this, func
, user_data
, notify
);
11734 // Assigns a name to the columns of a #ClutterModel.
11736 // This function is meant primarily for #GObjects that inherit from
11737 // #ClutterModel, and should only be used when contructing a #ClutterModel.
11738 // It will not work after the initial creation of the #ClutterModel.
11739 // <n_columns>: the number of column names
11740 // <names>: an array of strings
11741 void set_names(uint n_columns
, char* names
) {
11742 clutter_model_set_names(&this, n_columns
, names
);
11745 // Sorts @model using the given sorting function.
11746 // <column>: the column to sort on
11747 // <func>: a #ClutterModelSortFunc, or #NULL
11748 // <user_data>: user data to pass to @func, or #NULL
11749 // <notify>: destroy notifier of @user_data, or #NULL
11750 void set_sort(int column
, ModelSortFunc func
, void* user_data
, GLib2
.DestroyNotify notify
) {
11751 clutter_model_set_sort(&this, column
, func
, user_data
, notify
);
11754 // Sets the model to sort by @column. If @column is a negative value
11755 // the sorting column will be unset.
11756 // <column>: the column of the @model to sort, or -1
11757 void set_sorting_column(int column
) {
11758 clutter_model_set_sorting_column(&this, column
);
11761 // Sets the types of the columns inside a #ClutterModel.
11763 // This function is meant primarily for #GObjects that inherit from
11764 // #ClutterModel, and should only be used when contructing a #ClutterModel.
11765 // It will not work after the initial creation of the #ClutterModel.
11766 // <n_columns>: number of columns for the model
11767 // <types>: an array of #GType types
11768 void set_types(uint n_columns
, Type
* types
) {
11769 clutter_model_set_types(&this, n_columns
, types
);
11771 // The ::filter-changed signal is emitted when a new filter has been applied
11772 extern (C
) alias static void function (Model
* this_
, void* user_data
=null) signal_filter_changed
;
11774 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11775 return super_
.signal_connect
!name(cb
, data
, cf
);
11778 ulong signal_connect(string name
:"filter-changed", CB
:signal_filter_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11779 return signal_connect_data(&this, cast(char*)"filter-changed",
11780 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11783 // The ::row-added signal is emitted when a new row has been added.
11784 // The data on the row has already been set when the ::row-added signal
11785 // has been emitted.
11786 // <iter>: a #ClutterModelIter pointing to the new row
11787 extern (C
) alias static void function (Model
* this_
, ModelIter
* iter
, void* user_data
=null) signal_row_added
;
11788 ulong signal_connect(string name
:"row-added", CB
:signal_row_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11789 return signal_connect_data(&this, cast(char*)"row-added",
11790 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11793 // The ::row-removed signal is emitted when a row has been changed.
11794 // The data on the row has already been updated when the ::row-changed
11795 // signal has been emitted.
11796 // <iter>: a #ClutterModelIter pointing to the changed row
11797 extern (C
) alias static void function (Model
* this_
, ModelIter
* iter
, void* user_data
=null) signal_row_changed
;
11798 ulong signal_connect(string name
:"row-changed", CB
:signal_row_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11799 return signal_connect_data(&this, cast(char*)"row-changed",
11800 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11803 // The ::row-removed signal is emitted when a row has been removed.
11804 // The data on the row pointed by the passed iterator is still valid
11805 // when the ::row-removed signal has been emitted.
11806 // <iter>: a #ClutterModelIter pointing to the removed row
11807 extern (C
) alias static void function (Model
* this_
, ModelIter
* iter
, void* user_data
=null) signal_row_removed
;
11808 ulong signal_connect(string name
:"row-removed", CB
:signal_row_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11809 return signal_connect_data(&this, cast(char*)"row-removed",
11810 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11812 // The ::sort-changed signal is emitted after the model has been sorted
11813 extern (C
) alias static void function (Model
* this_
, void* user_data
=null) signal_sort_changed
;
11814 ulong signal_connect(string name
:"sort-changed", CB
:signal_sort_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
11815 return signal_connect_data(&this, cast(char*)"sort-changed",
11816 cast(GObject2
.Callback
)cb
, data
, null, cf
);
11820 // Class for #ClutterModel instances.
11821 struct ModelClass
/* Version 0.6 */ {
11822 private GObject2
.ObjectClass parent_class
;
11823 // RETURNS: The length of the @model. If there is a filter set, then
11824 extern (C
) uint function (Model
* model
) get_n_rows
;
11825 // RETURNS: the number of columns
11826 extern (C
) uint function (Model
* model
) get_n_columns
;
11828 // RETURNS: the name of the column. The model holds the returned
11829 // <column>: the column number
11830 extern (C
) char* function (Model
* model
, uint column
) get_column_name
;
11832 // RETURNS: the type of the column.
11833 // <column>: the column number
11834 extern (C
) Type
function (Model
* model
, uint column
) get_column_type
;
11835 // Unintrospectable functionp: insert_row() / ()
11836 extern (C
) ModelIter
* function (Model
* model
, int index_
) insert_row
;
11837 extern (C
) void function (Model
* model
, uint row
) remove_row
;
11839 // RETURNS: A new #ClutterModelIter, or %NULL if @row was
11840 // <row>: position of the row to retrieve
11841 extern (C
) ModelIter
* /*new*/ function (Model
* model
, uint row
) get_iter_at_row
;
11842 // Unintrospectable functionp: resort() / ()
11843 extern (C
) void function (Model
* model
, ModelSortFunc func
, void* data
) resort
;
11844 extern (C
) void function (Model
* model
, ModelIter
* iter
) row_added
;
11845 extern (C
) void function (Model
* model
, ModelIter
* iter
) row_removed
;
11846 extern (C
) void function (Model
* model
, ModelIter
* iter
) row_changed
;
11847 extern (C
) void function (Model
* model
) sort_changed
;
11848 extern (C
) void function (Model
* model
) filter_changed
;
11849 extern (C
) void function () _clutter_model_1
;
11850 extern (C
) void function () _clutter_model_2
;
11851 extern (C
) void function () _clutter_model_3
;
11852 extern (C
) void function () _clutter_model_4
;
11853 extern (C
) void function () _clutter_model_5
;
11854 extern (C
) void function () _clutter_model_6
;
11855 extern (C
) void function () _clutter_model_7
;
11856 extern (C
) void function () _clutter_model_8
;
11860 // Filters the content of a row in the model.
11861 // RETURNS: If the row should be displayed, return %TRUE
11862 // <model>: a #ClutterModel
11863 // <iter>: the iterator for the row
11864 // <user_data>: data passed to clutter_model_set_filter()
11865 extern (C
) alias int function (Model
* model
, ModelIter
* iter
, void* user_data
) ModelFilterFunc
;
11868 // Iterates on the content of a row in the model
11869 // RETURNS: %TRUE if the iteration should continue, %FALSE otherwise
11870 // <model>: a #ClutterModel
11871 // <iter>: the iterator for the row
11872 // <user_data>: data passed to clutter_model_foreach()
11873 extern (C
) alias int function (Model
* model
, ModelIter
* iter
, void* user_data
) ModelForeachFunc
;
11876 // Base class for list models iters. The #ClutterModelIter structure
11877 // contains only private data and should be manipulated using the
11879 struct ModelIter
/* : GObject.Object */ /* Version 0.6 */ {
11880 alias parent_instance
this;
11881 alias parent_instance super_
;
11882 alias parent_instance object
;
11883 GObject2
.Object parent_instance
;
11884 private ModelIterPrivate
* priv
;
11887 // Copies the passed iterator.
11888 // RETURNS: a copy of the iterator, or %NULL
11889 ModelIter
* /*new*/ copy() {
11890 return clutter_model_iter_copy(&this);
11893 // Unintrospectable method: get() / clutter_model_iter_get()
11894 // Gets the value of one or more cells in the row referenced by @iter. The
11895 // variable argument list should contain integer column numbers, each column
11896 // column number followed by a place to store the value being retrieved. The
11897 // list is terminated by a -1.
11899 // For example, to get a value from column 0 with type %G_TYPE_STRING use:
11900 // <informalexample><programlisting>
11901 // clutter_model_iter_get (iter, 0, &place_string_here, -1);
11902 // </programlisting></informalexample>
11904 // where place_string_here is a gchar* to be filled with the string. If
11905 // appropriate, the returned values have to be freed or unreferenced.
11906 /+ Not available -- variadic methods unsupported - use the C function directly.
11907 alias clutter_model_iter_get get; // Variadic
11910 // Retrieves a pointer to the #ClutterModel that this iter is part of.
11911 // RETURNS: a pointer to a #ClutterModel.
11912 Model
* get_model() {
11913 return clutter_model_iter_get_model(&this);
11916 // Retrieves the position of the row that the @iter points to.
11917 // RETURNS: the position of the @iter in the model
11919 return clutter_model_iter_get_row(&this);
11922 // Unintrospectable method: get_valist() / clutter_model_iter_get_valist()
11923 // See clutter_model_iter_get(). This version takes a va_list for language
11925 // <args>: a list of column/return location pairs, terminated by -1
11926 void get_valist(va_list args
) {
11927 clutter_model_iter_get_valist(&this, args
);
11930 // Sets an initializes @value to that at @column. When done with @value,
11931 // g_value_unset() needs to be called to free any allocated memory.
11932 // <column>: column number to retrieve the value from
11933 // <value>: an empty #GValue to set
11934 void get_value(uint column
, /*out*/ GObject2
.Value
* value
) {
11935 clutter_model_iter_get_value(&this, column
, value
);
11938 // Gets whether the current iterator is at the beginning of the model
11939 // to which it belongs.
11940 // RETURNS: #TRUE if @iter is the first iter in the filtered model
11942 return clutter_model_iter_is_first(&this);
11945 // Gets whether the iterator is at the end of the model to which it
11947 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
11949 return clutter_model_iter_is_last(&this);
11952 // Updates the @iter to point at the next position in the model.
11953 // The model implementation should take into account the presence of
11954 // a filter function.
11956 // row in the model.
11957 // RETURNS: The passed iterator, updated to point at the next
11958 ModelIter
* next() {
11959 return clutter_model_iter_next(&this);
11962 // Sets the @iter to point at the previous position in the model.
11963 // The model implementation should take into account the presence of
11964 // a filter function.
11966 // row in the model.
11967 // RETURNS: The passed iterator, updated to point at the previous
11968 ModelIter
* prev() {
11969 return clutter_model_iter_prev(&this);
11972 // Unintrospectable method: set() / clutter_model_iter_set()
11973 // Sets the value of one or more cells in the row referenced by @iter. The
11974 // variable argument list should contain integer column numbers, each column
11975 // column number followed by the value to be set. The list is terminated by a
11978 // For example, to set column 0 with type %G_TYPE_STRING, use:
11979 // <informalexample><programlisting>
11980 // clutter_model_iter_set (iter, 0, "foo", -1);
11981 // </programlisting></informalexample>
11982 /+ Not available -- variadic methods unsupported - use the C function directly.
11983 alias clutter_model_iter_set set; // Variadic
11986 // Unintrospectable method: set_valist() / clutter_model_iter_set_valist()
11987 // See clutter_model_iter_set(); this version takes a va_list for language
11989 // <args>: va_list of column/value pairs, terminiated by -1
11990 void set_valist(va_list args
) {
11991 clutter_model_iter_set_valist(&this, args
);
11994 // Sets the data in the cell specified by @iter and @column. The type of
11995 // @value must be convertable to the type of the column.
11996 // <column>: column number to retrieve the value from
11997 // <value>: new value for the cell
11998 void set_value(uint column
, GObject2
.Value
* value
) {
11999 clutter_model_iter_set_value(&this, column
, value
);
12003 // Class for #ClutterModelIter instances.
12004 struct ModelIterClass
/* Version 0.6 */ {
12005 private GObject2
.ObjectClass parent_class
;
12007 // <column>: column number to retrieve the value from
12008 // <value>: an empty #GValue to set
12009 extern (C
) void function (ModelIter
* iter
, uint column
, /*out*/ GObject2
.Value
* value
) get_value
;
12011 // <column>: column number to retrieve the value from
12012 // <value>: new value for the cell
12013 extern (C
) void function (ModelIter
* iter
, uint column
, GObject2
.Value
* value
) set_value
;
12014 // RETURNS: #TRUE if @iter is the first iter in the filtered model
12015 extern (C
) int function (ModelIter
* iter
) is_first
;
12016 // RETURNS: #TRUE if @iter is the last iter in the filtered model.
12017 extern (C
) int function (ModelIter
* iter
) is_last
;
12018 // RETURNS: The passed iterator, updated to point at the next
12019 extern (C
) ModelIter
* function (ModelIter
* iter
) next
;
12020 // RETURNS: The passed iterator, updated to point at the previous
12021 extern (C
) ModelIter
* function (ModelIter
* iter
) prev
;
12022 // RETURNS: a pointer to a #ClutterModel.
12023 extern (C
) Model
* function (ModelIter
* iter
) get_model
;
12024 // RETURNS: the position of the @iter in the model
12025 extern (C
) uint function (ModelIter
* iter
) get_row
;
12026 // RETURNS: a copy of the iterator, or %NULL
12027 extern (C
) ModelIter
* /*new*/ function (ModelIter
* iter
) copy
;
12028 extern (C
) void function () _clutter_model_iter_1
;
12029 extern (C
) void function () _clutter_model_iter_2
;
12030 extern (C
) void function () _clutter_model_iter_3
;
12031 extern (C
) void function () _clutter_model_iter_4
;
12032 extern (C
) void function () _clutter_model_iter_5
;
12033 extern (C
) void function () _clutter_model_iter_6
;
12034 extern (C
) void function () _clutter_model_iter_7
;
12035 extern (C
) void function () _clutter_model_iter_8
;
12038 struct ModelIterPrivate
{
12041 struct ModelPrivate
{
12045 // Compares the content of two rows in the model.
12047 // @a is before @b, or 0 if the rows are the same
12048 // RETURNS: a positive integer if @a is after @b, a negative integer if
12049 // <model>: a #ClutterModel
12050 // <a>: a #GValue representing the contents of the row
12051 // <b>: a #GValue representing the contents of the second row
12052 // <user_data>: data passed to clutter_model_set_sort()
12053 extern (C
) alias int function (Model
* model
, GObject2
.Value
* a
, GObject2
.Value
* b
, void* user_data
) ModelSortFunc
;
12056 // Masks applied to a #ClutterEvent by modifiers.
12058 // Note that Clutter may add internal values to events which include
12059 // reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code
12060 // should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
12061 // remove all reserved values.
12062 enum ModifierType
/* Version 0.4 */ {
12071 BUTTON1_MASK
= 256,
12072 BUTTON2_MASK
= 512,
12073 BUTTON3_MASK
= 1024,
12074 BUTTON4_MASK
= 2048,
12075 BUTTON5_MASK
= 4096,
12076 MODIFIER_RESERVED_13_MASK
= 8192,
12077 MODIFIER_RESERVED_14_MASK
= 16384,
12078 MODIFIER_RESERVED_15_MASK
= 32768,
12079 MODIFIER_RESERVED_16_MASK
= 65536,
12080 MODIFIER_RESERVED_17_MASK
= 131072,
12081 MODIFIER_RESERVED_18_MASK
= 262144,
12082 MODIFIER_RESERVED_19_MASK
= 524288,
12083 MODIFIER_RESERVED_20_MASK
= 1048576,
12084 MODIFIER_RESERVED_21_MASK
= 2097152,
12085 MODIFIER_RESERVED_22_MASK
= 4194304,
12086 MODIFIER_RESERVED_23_MASK
= 8388608,
12087 MODIFIER_RESERVED_24_MASK
= 16777216,
12088 MODIFIER_RESERVED_25_MASK
= 33554432,
12089 SUPER_MASK
= 67108864,
12090 HYPER_MASK
= 134217728,
12091 META_MASK
= 268435456,
12092 MODIFIER_RESERVED_29_MASK
= 536870912,
12093 RELEASE_MASK
= 1073741824,
12094 MODIFIER_MASK
= 1543512063
12096 enum int MonBrightnessDown
= 269025027;
12097 enum int MonBrightnessUp
= 269025026;
12098 // Event for the pointer motion
12099 struct MotionEvent
/* Version 0.2 */ {
12106 ModifierType modifier_state
;
12108 InputDevice
* device
;
12111 enum int MouseKeys_Accel_Enable
= 65143;
12112 enum int MouseKeys_Enable
= 65142;
12113 enum int Muhenkan
= 65314;
12114 enum int Multi_key
= 65312;
12115 enum int MultipleCandidate
= 65341;
12116 enum int Music
= 269025170;
12117 enum int MyComputer
= 269025075;
12118 enum int MySites
= 269025127;
12120 enum int Nacute
= 465;
12121 enum int NairaSign
= 16785574;
12122 enum int Ncaron
= 466;
12123 enum int Ncedilla
= 977;
12124 enum int New
= 269025128;
12125 enum int NewSheqelSign
= 16785578;
12126 enum int News
= 269025129;
12127 enum int Next
= 65366;
12128 enum int Next_VMode
= 269024802;
12129 enum int Next_Virtual_Screen
= 65234;
12130 enum int Ntilde
= 209;
12131 enum int Num_Lock
= 65407;
12133 enum int OE
= 5052;
12134 enum int Oacute
= 211;
12135 enum int Obarred
= 16777631;
12136 enum int Obelowdot
= 16785100;
12137 enum int Ocaron
= 16777681;
12138 enum int Ocircumflex
= 212;
12139 enum int Ocircumflexacute
= 16785104;
12140 enum int Ocircumflexbelowdot
= 16785112;
12141 enum int Ocircumflexgrave
= 16785106;
12142 enum int Ocircumflexhook
= 16785108;
12143 enum int Ocircumflextilde
= 16785110;
12144 enum int Odiaeresis
= 214;
12145 enum int Odoubleacute
= 469;
12146 enum int OfficeHome
= 269025130;
12148 // The #ClutterOffscreenEffect structure contains only private data
12149 // and should be accessed using the provided API
12150 struct OffscreenEffect
/* : Effect */ /* Version 1.4 */ {
12151 alias parent_instance
this;
12152 alias parent_instance super_
;
12153 alias parent_instance effect
;
12154 Effect parent_instance
;
12155 private OffscreenEffectPrivate
* priv
;
12158 // Calls the create_texture() virtual function of the @effect
12160 // %COGL_INVALID_HANDLE. The returned handle has its reference
12161 // count increased.
12162 // RETURNS: a handle to a Cogl texture, or
12163 // <width>: the minimum width of the target texture
12164 // <height>: the minimum height of the target texture
12165 Cogl
.Handle
/*new*/ create_texture(float width
, float height
) {
12166 return clutter_offscreen_effect_create_texture(&this, width
, height
);
12169 // Retrieves the material used as a render target for the offscreen
12170 // buffer created by @effect
12172 // You should only use the returned #CoglMaterial when painting. The
12173 // returned material might change between different frames.
12175 // returned material is owned by Clutter and it should not be
12176 // modified or freed
12177 // RETURNS: a #CoglMaterial or %NULL. The
12178 Cogl
.Material
* get_target() {
12179 return clutter_offscreen_effect_get_target(&this);
12182 // Retrieves the size of the offscreen buffer used by @effect to
12183 // paint the actor to which it has been applied.
12185 // This function should only be called by #ClutterOffscreenEffect
12186 // implementations, from within the <function>paint_target()</function>
12187 // virtual function.
12189 // and %FALSE otherwise
12190 // RETURNS: %TRUE if the offscreen buffer has a valid size,
12191 // <width>: return location for the target width, or %NULL
12192 // <height>: return location for the target height, or %NULL
12193 int get_target_size(/*out*/ float* width
, /*out*/ float* height
) {
12194 return clutter_offscreen_effect_get_target_size(&this, width
, height
);
12196 // Calls the paint_target() virtual function of the @effect
12197 void paint_target() {
12198 clutter_offscreen_effect_paint_target(&this);
12202 // The #ClutterOffscreenEffectClass structure contains only private data
12203 struct OffscreenEffectClass
/* Version 1.4 */ {
12204 private EffectClass parent_class
;
12206 // RETURNS: a handle to a Cogl texture, or
12207 // <width>: the minimum width of the target texture
12208 // <height>: the minimum height of the target texture
12209 extern (C
) Cogl
.Handle
/*new*/ function (OffscreenEffect
* effect
, float width
, float height
) create_texture
;
12210 extern (C
) void function (OffscreenEffect
* effect
) paint_target
;
12211 extern (C
) void function () _clutter_offscreen1
;
12212 extern (C
) void function () _clutter_offscreen2
;
12213 extern (C
) void function () _clutter_offscreen3
;
12214 extern (C
) void function () _clutter_offscreen4
;
12215 extern (C
) void function () _clutter_offscreen5
;
12216 extern (C
) void function () _clutter_offscreen6
;
12217 extern (C
) void function () _clutter_offscreen7
;
12220 struct OffscreenEffectPrivate
{
12223 // Possible flags to pass to clutter_actor_set_offscreen_redirect().
12224 enum OffscreenRedirect
/* Version 1.8 */ {
12225 AUTOMATIC_FOR_OPACITY
= 1,
12228 enum int Ograve
= 210;
12229 enum int Ohook
= 16785102;
12230 enum int Ohorn
= 16777632;
12231 enum int Ohornacute
= 16785114;
12232 enum int Ohornbelowdot
= 16785122;
12233 enum int Ohorngrave
= 16785116;
12234 enum int Ohornhook
= 16785118;
12235 enum int Ohorntilde
= 16785120;
12236 enum int Omacron
= 978;
12237 enum int Ooblique
= 216;
12238 enum int Open
= 269025131;
12239 enum int OpenURL
= 269025080;
12240 enum int Option
= 269025132;
12241 enum int Oslash
= 216;
12242 enum int Otilde
= 213;
12243 enum int Overlay1_Enable
= 65144;
12244 enum int Overlay2_Enable
= 65145;
12246 enum int PATH_RELATIVE
= 32;
12247 enum int PRIORITY_REDRAW
= 50;
12248 enum int Pabovedot
= 16784982;
12250 // <structname>ClutterPageTurnEffect</structname> is an opaque structure
12251 // whose members can only be accessed using the provided API
12252 struct PageTurnEffect
/* : DeformEffect */ /* Version 1.4 */ {
12253 alias method_parent
this;
12254 alias method_parent super_
;
12255 alias method_parent deformeffect
;
12256 DeformEffect method_parent
;
12259 // Creates a new #ClutterPageTurnEffect instance with the given parameters
12260 // RETURNS: the newly created #ClutterPageTurnEffect
12261 // <period>: the period of the page curl, between 0.0 and 1.0
12262 // <angle>: the angle of the page curl, between 0.0 and 360.0
12263 // <radius>: the radius of the page curl, in pixels
12264 static PageTurnEffect
* new_(double period
, double angle
, float radius
) {
12265 return clutter_page_turn_effect_new(period
, angle
, radius
);
12268 // Retrieves the value set using clutter_page_turn_effect_get_angle()
12269 // RETURNS: the angle of the page curling
12270 double get_angle() {
12271 return clutter_page_turn_effect_get_angle(&this);
12274 // Retrieves the value set using clutter_page_turn_effect_get_period()
12275 // RETURNS: the period of the page curling
12276 double get_period() {
12277 return clutter_page_turn_effect_get_period(&this);
12280 // Retrieves the value set using clutter_page_turn_effect_set_radius()
12281 // RETURNS: the radius of the page curling
12282 float get_radius() {
12283 return clutter_page_turn_effect_get_radius(&this);
12286 // Sets the angle of the page curling, in degrees
12287 // <angle>: the angle of the page curl, in degrees
12288 void set_angle(double angle
) {
12289 clutter_page_turn_effect_set_angle(&this, angle
);
12292 // Sets the period of the page curling, between 0.0 (no curling)
12293 // and 1.0 (fully curled)
12294 // <period>: the period of the page curl, between 0.0 and 1.0
12295 void set_period(double period
) {
12296 clutter_page_turn_effect_set_period(&this, period
);
12299 // Sets the radius of the page curling
12300 // <radius>: the radius of the page curling, in pixels
12301 void set_radius(float radius
) {
12302 clutter_page_turn_effect_set_radius(&this, radius
);
12306 struct PageTurnEffectClass
{
12309 enum int Page_Down
= 65366;
12310 enum int Page_Up
= 65365;
12312 // <structname>ClutterPaintVolume</structname> is an opaque structure
12313 // whose members cannot be directly accessed.
12315 // A <structname>ClutterPaintVolume</structname> represents an
12316 // a bounding volume whos internal representation isn't defined but
12317 // can be set and queried in terms of an axis aligned bounding box.
12319 // Other internal representation and methods for describing the
12320 // bounding volume may be added in the future.
12321 struct PaintVolume
/* Version 1.4 */ {
12323 // Copies @pv into a new #ClutterPaintVolume
12324 // RETURNS: a newly allocated copy of a #ClutterPaintVolume
12325 PaintVolume
* /*new*/ copy() {
12326 return clutter_paint_volume_copy(&this);
12328 // Frees the resources allocated by @pv
12330 clutter_paint_volume_free(&this);
12333 // Retrieves the depth of the volume's, axis aligned, bounding box.
12335 // In other words; this takes into account what actor's coordinate
12336 // space @pv belongs too and conceptually fits an axis aligned box
12337 // around the volume. It returns the size of that bounding box as
12338 // measured along the z-axis.
12340 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
12341 // is used to transform a 2D child actor that is 100px wide, 100px
12342 // high and 0px deep into container coordinates then the depth might
12343 // not simply be 0px if the child actor has a 3D rotation applied to
12345 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
12346 // used then the transformed volume will be defined relative to the
12347 // container actor and in container coordinates a 2D child actor
12348 // can have a 3D bounding volume.</para></note>
12350 // <note>There are no accuracy guarantees for the reported depth,
12351 // except that it must always be >= to the true depth. This is
12352 // because actors may report simple, loose fitting paint-volumes
12353 // for efficiency.</note>
12354 // RETURNS: the depth, in units of @pv's local coordinate system.
12355 float get_depth() {
12356 return clutter_paint_volume_get_depth(&this);
12359 // Retrieves the height of the volume's, axis aligned, bounding box.
12361 // In other words; this takes into account what actor's coordinate
12362 // space @pv belongs too and conceptually fits an axis aligned box
12363 // around the volume. It returns the size of that bounding box as
12364 // measured along the y-axis.
12366 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
12367 // is used to transform a 2D child actor that is 100px wide, 100px
12368 // high and 0px deep into container coordinates then the height might
12369 // not simply be 100px if the child actor has a 3D rotation applied to
12371 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
12372 // used then a transformed child volume will be defined relative to the
12373 // ancestor container actor and so a 2D child actor
12374 // can have a 3D bounding volume.</para></note>
12376 // <note>There are no accuracy guarantees for the reported height,
12377 // except that it must always be >= to the true height. This is
12378 // because actors may report simple, loose fitting paint-volumes
12379 // for efficiency</note>
12380 // RETURNS: the height, in units of @pv's local coordinate system.
12381 float get_height() {
12382 return clutter_paint_volume_get_height(&this);
12385 // Retrieves the origin of the #ClutterPaintVolume.
12386 // <vertex>: the return location for a #ClutterVertex
12387 void get_origin(/*out*/ Vertex
* vertex
) {
12388 clutter_paint_volume_get_origin(&this, vertex
);
12391 // Retrieves the width of the volume's, axis aligned, bounding box.
12393 // In other words; this takes into account what actor's coordinate
12394 // space @pv belongs too and conceptually fits an axis aligned box
12395 // around the volume. It returns the size of that bounding box as
12396 // measured along the x-axis.
12398 // <note><para>If, for example, clutter_actor_get_transformed_paint_volume()
12399 // is used to transform a 2D child actor that is 100px wide, 100px
12400 // high and 0px deep into container coordinates then the width might
12401 // not simply be 100px if the child actor has a 3D rotation applied to
12403 // <para>Remember; after clutter_actor_get_transformed_paint_volume() is
12404 // used then a transformed child volume will be defined relative to the
12405 // ancestor container actor and so a 2D child actor
12406 // can have a 3D bounding volume.</para></note>
12408 // <note>There are no accuracy guarantees for the reported width,
12409 // except that it must always be >= to the true width. This is
12410 // because actors may report simple, loose fitting paint-volumes
12411 // for efficiency</note>
12412 // RETURNS: the width, in units of @pv's local coordinate system.
12413 float get_width() {
12414 return clutter_paint_volume_get_width(&this);
12417 // Sets the depth of the paint volume. The depth is measured along
12418 // the z axis in the actor coordinates that @pv is associated with.
12419 // <depth>: the depth of the paint volume, in pixels
12420 void set_depth(float depth
) {
12421 clutter_paint_volume_set_depth(&this, depth
);
12424 // Sets the #ClutterPaintVolume from the allocation of @actor.
12426 // This function should be used when overriding the
12427 // <function>get_paint_volume()</function> by #ClutterActor sub-classes that do
12428 // not paint outside their allocation.
12430 // A typical example is:
12434 // my_actor_get_paint_volume (ClutterActor *self,
12435 // ClutterPaintVolume *volume)
12437 // return clutter_paint_volume_set_from_allocation (volume, self);
12442 // RETURNS: %TRUE if the paint volume was successfully set, and %FALSE
12443 // <actor>: a #ClutterActor
12444 int set_from_allocation(Actor
* actor
) {
12445 return clutter_paint_volume_set_from_allocation(&this, actor
);
12448 // Sets the height of the paint volume. The height is measured along
12449 // the y axis in the actor coordinates that @pv is associated with.
12450 // <height>: the height of the paint volume, in pixels
12451 void set_height(float height
) {
12452 clutter_paint_volume_set_height(&this, height
);
12455 // Sets the origin of the paint volume.
12457 // The origin is defined as the X, Y and Z coordinates of the top-left
12458 // corner of an actor's paint volume, in actor coordinates.
12460 // The default is origin is assumed at: (0, 0, 0)
12461 // <origin>: a #ClutterVertex
12462 void set_origin(Vertex
* origin
) {
12463 clutter_paint_volume_set_origin(&this, origin
);
12466 // Sets the width of the paint volume. The width is measured along
12467 // the x axis in the actor coordinates that @pv is associated with.
12468 // <width>: the width of the paint volume, in pixels
12469 void set_width(float width
) {
12470 clutter_paint_volume_set_width(&this, width
);
12473 // Updates the geometry of @pv to encompass @pv and @another_pv.
12475 // <note>There are no guarantees about how precisely the two volumes
12476 // will be encompassed.</note>
12477 // <another_pv>: A second #ClutterPaintVolume to union with @pv
12478 void union_(PaintVolume
* another_pv
) {
12479 clutter_paint_volume_union(&this, another_pv
);
12484 // A #GParamSpec subclass for defining properties holding
12485 // a #ClutterColor.
12486 struct ParamSpecColor
/* : GObject.ParamSpec */ /* Version 1.0 */ {
12487 alias parent_instance
this;
12488 alias parent_instance super_
;
12489 alias parent_instance paramspec
;
12490 GObject2
.ParamSpec parent_instance
;
12491 Color
* default_value
;
12494 // #GParamSpec subclass for fixed point based properties
12495 struct ParamSpecFixed
/* : GObject.ParamSpec */ /* Version 0.8 */ {
12496 alias parent_instance
this;
12497 alias parent_instance super_
;
12498 alias parent_instance paramspec
;
12499 GObject2
.ParamSpec parent_instance
;
12500 Cogl
.Fixed minimum
, maximum
, default_value
;
12503 struct ParamSpecUnit
/* : GObject.ParamSpec */ {
12504 alias method_parent
this;
12505 alias method_parent super_
;
12506 alias method_parent paramspec
;
12507 GObject2
.ParamSpec method_parent
;
12510 // #GParamSpec subclass for unit based properties.
12511 struct ParamSpecUnits
/* Version 1.0 */ {
12512 private GObject2
.ParamSpec parent_instance
;
12513 UnitType default_type
;
12514 float default_value
, minimum
, maximum
;
12517 enum int Paste
= 269025133;
12519 // The #ClutterPath struct contains only private data and should
12520 // be accessed with the functions below.
12521 struct Path
/* : GObject.InitiallyUnowned */ /* Version 1.0 */ {
12523 alias parent super_
;
12524 alias parent initiallyunowned
;
12525 GObject2
.InitiallyUnowned parent
;
12526 private PathPrivate
* priv
;
12529 // Creates a new #ClutterPath instance with no nodes.
12531 // The object has a floating reference so if you add it to a
12532 // #ClutterBehaviourPath then you do not need to unref it.
12533 // RETURNS: the newly created #ClutterPath
12534 static Path
* new_() {
12535 return clutter_path_new();
12538 // Creates a new #ClutterPath instance with the nodes described in
12539 // @desc. See clutter_path_add_string() for details of the format of
12542 // The object has a floating reference so if you add it to a
12543 // #ClutterBehaviourPath then you do not need to unref it.
12544 // RETURNS: the newly created #ClutterPath
12545 // <desc>: a string describing the path
12546 static Path
* new_with_description(char* desc
) {
12547 return clutter_path_new_with_description(desc
);
12550 // Add the nodes of the Cairo path to the end of @path.
12551 // <cpath>: a Cairo path
12552 void add_cairo_path(cairo
.Path
* cpath
) {
12553 clutter_path_add_cairo_path(&this, cpath
);
12556 // Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a
12557 // straight line from the last node to the last %CLUTTER_PATH_MOVE_TO
12560 clutter_path_add_close(&this);
12563 // Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes
12564 // the actor to follow a bezier from the last node to (@x_3, @y_3) using
12565 // (@x_1, @y_1) and (@x_2,@y_2) as control points.
12566 // <x_1>: the x coordinate of the first control point
12567 // <y_1>: the y coordinate of the first control point
12568 // <x_2>: the x coordinate of the second control point
12569 // <y_2>: the y coordinate of the second control point
12570 // <x_3>: the x coordinate of the third control point
12571 // <y_3>: the y coordinate of the third control point
12572 void add_curve_to(int x_1
, int y_1
, int x_2
, int y_2
, int x_3
, int y_3
) {
12573 clutter_path_add_curve_to(&this, x_1
, y_1
, x_2
, y_2
, x_3
, y_3
);
12576 // Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the
12577 // actor to move to the new coordinates in a straight line.
12578 // <x>: the x coordinate
12579 // <y>: the y coordinate
12580 void add_line_to(int x
, int y
) {
12581 clutter_path_add_line_to(&this, x
, y
);
12584 // Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually
12585 // used as the first node in a path. It can also be used in the middle
12586 // of the path to cause the actor to jump to the new coordinate.
12587 // <x>: the x coordinate
12588 // <y>: the y coordinate
12589 void add_move_to(int x
, int y
) {
12590 clutter_path_add_move_to(&this, x
, y
);
12593 // Adds @node to the end of the path.
12594 // <node>: a #ClutterPathNode
12595 void add_node(PathNode
* node
) {
12596 clutter_path_add_node(&this, node
);
12599 // Same as clutter_path_add_curve_to() except the coordinates are
12600 // relative to the previous node.
12601 // <x_1>: the x coordinate of the first control point
12602 // <y_1>: the y coordinate of the first control point
12603 // <x_2>: the x coordinate of the second control point
12604 // <y_2>: the y coordinate of the second control point
12605 // <x_3>: the x coordinate of the third control point
12606 // <y_3>: the y coordinate of the third control point
12607 void add_rel_curve_to(int x_1
, int y_1
, int x_2
, int y_2
, int x_3
, int y_3
) {
12608 clutter_path_add_rel_curve_to(&this, x_1
, y_1
, x_2
, y_2
, x_3
, y_3
);
12611 // Same as clutter_path_add_line_to() except the coordinates are
12612 // relative to the previous node.
12613 // <x>: the x coordinate
12614 // <y>: the y coordinate
12615 void add_rel_line_to(int x
, int y
) {
12616 clutter_path_add_rel_line_to(&this, x
, y
);
12619 // Same as clutter_path_add_move_to() except the coordinates are
12620 // relative to the previous node.
12621 // <x>: the x coordinate
12622 // <y>: the y coordinate
12623 void add_rel_move_to(int x
, int y
) {
12624 clutter_path_add_rel_move_to(&this, x
, y
);
12627 // Adds new nodes to the end of the path as described in @str. The
12628 // format is a subset of the SVG path format. Each node is represented
12629 // by a letter and is followed by zero, one or three pairs of
12630 // coordinates. The coordinates can be separated by spaces or a
12631 // comma. The types are:
12634 // <varlistentry><term>M</term>
12635 // <listitem><para>
12636 // Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates.
12637 // </para></listitem></varlistentry>
12638 // <varlistentry><term>L</term>
12639 // <listitem><para>
12640 // Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates.
12641 // </para></listitem></varlistentry>
12642 // <varlistentry><term>C</term>
12643 // <listitem><para>
12644 // Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates.
12645 // </para></listitem></varlistentry>
12646 // <varlistentry><term>z</term>
12647 // <listitem><para>
12648 // Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed.
12649 // </para></listitem></varlistentry>
12652 // The M, L and C commands can also be specified in lower case which
12653 // means the coordinates are relative to the previous node.
12655 // For example, to move an actor in a 100 by 100 pixel square centered
12656 // on the point 300,300 you could use the following path:
12658 // <informalexample>
12659 // <programlisting>
12660 // M 250,350 l 0 -100 L 350,250 l 0 100 z
12661 // </programlisting>
12662 // </informalexample>
12664 // If the path description isn't valid %FALSE will be returned and no
12665 // nodes will be added.
12668 // RETURNS: %TRUE is the path description was valid or %FALSE
12669 // <str>: a string describing the new nodes
12670 int add_string(char* str) {
12671 return clutter_path_add_string(&this, str);
12673 // Removes all nodes from the path.
12675 clutter_path_clear(&this);
12678 // Calls a function for each node of the path.
12679 // <callback>: the function to call with each node
12680 // <user_data>: user data to pass to the function
12681 void foreach_(PathCallback callback
, void* user_data
) {
12682 clutter_path_foreach(&this, callback
, user_data
);
12685 // Returns a newly allocated string describing the path in the same
12686 // format as used by clutter_path_add_string().
12687 // RETURNS: a string description of the path. Free with g_free().
12688 char* /*new*/ get_description() {
12689 return clutter_path_get_description(&this);
12692 // Retrieves an approximation of the total length of the path.
12693 // RETURNS: the length of the path.
12694 uint get_length() {
12695 return clutter_path_get_length(&this);
12698 // Retrieves the number of nodes in the path.
12699 // RETURNS: the number of nodes.
12700 uint get_n_nodes() {
12701 return clutter_path_get_n_nodes(&this);
12704 // Retrieves the node of the path indexed by @index.
12705 // <index_>: the node number to retrieve
12706 // <node>: a location to store a copy of the node
12707 void get_node(uint index_
, /*out*/ PathNode
* node
) {
12708 clutter_path_get_node(&this, index_
, node
);
12711 // Returns a #GSList of #ClutterPathNode<!-- -->s. The list should be
12712 // freed with g_slist_free(). The nodes are owned by the path and
12713 // should not be freed. Altering the path may cause the nodes in the
12714 // list to become invalid so you should copy them if you want to keep
12717 // list of nodes in the path.
12719 GLib2
.SList
* /*new container*/ get_nodes() {
12720 return clutter_path_get_nodes(&this);
12723 // The value in @progress represents a position along the path where
12724 // 0.0 is the beginning and 1.0 is the end of the path. An
12725 // interpolated position is then stored in @position.
12726 // RETURNS: index of the node used to calculate the position.
12727 // <progress>: a position along the path as a fraction of its length
12728 // <position>: location to store the position
12729 uint get_position(double progress
, /*out*/ Knot
* position
) {
12730 return clutter_path_get_position(&this, progress
, position
);
12733 // Inserts @node into the path before the node at the given offset. If
12734 // @index_ is negative it will append the node to the end of the path.
12735 // <index_>: offset of where to insert the node
12736 // <node>: the node to insert
12737 void insert_node(int index_
, PathNode
* node
) {
12738 clutter_path_insert_node(&this, index_
, node
);
12741 // Removes the node at the given offset from the path.
12742 // <index_>: index of the node to remove
12743 void remove_node(uint index_
) {
12744 clutter_path_remove_node(&this, index_
);
12747 // Replaces the node at offset @index_ with @node.
12748 // <index_>: index to the existing node
12749 // <node>: the replacement node
12750 void replace_node(uint index_
, PathNode
* node
) {
12751 clutter_path_replace_node(&this, index_
, node
);
12754 // Replaces all of the nodes in the path with nodes described by
12755 // @str. See clutter_path_add_string() for details of the format.
12757 // If the string is invalid then %FALSE is returned and the path is
12759 // RETURNS: %TRUE is the path was valid, %FALSE otherwise.
12760 // <str>: a string describing the path
12761 int set_description(char* str) {
12762 return clutter_path_set_description(&this, str);
12765 // Add the nodes of the ClutterPath to the path in the Cairo context.
12766 // <cr>: a Cairo context
12767 void to_cairo_path(cairo
.Context
* cr
) {
12768 clutter_path_to_cairo_path(&this, cr
);
12773 // This function is passed to clutter_path_foreach() and will be
12774 // called for each node contained in the path.
12775 // <node>: the node
12776 // <data>: optional data passed to the function
12777 extern (C
) alias void function (PathNode
* node
, void* data
) PathCallback
;
12779 // The #ClutterPathClass struct contains only private data.
12780 struct PathClass
/* Version 1.0 */ {
12781 private GObject2
.InitiallyUnownedClass parent_class
;
12785 // <structname>ClutterPathConstraint</structname> is an opaque structure
12786 // whose members cannot be directly accessed
12787 struct PathConstraint
/* : Constraint */ /* Version 1.6 */ {
12788 alias method_parent
this;
12789 alias method_parent super_
;
12790 alias method_parent constraint
;
12791 Constraint method_parent
;
12794 // Creates a new #ClutterPathConstraint with the given @path and @offset
12795 // RETURNS: the newly created #ClutterPathConstraint
12796 // <path>: a #ClutterPath, or %NULL
12797 // <offset>: the offset along the #ClutterPath
12798 static PathConstraint
* /*new*/ new_(Path
* path
, float offset
) {
12799 return clutter_path_constraint_new(path
, offset
);
12802 // Retrieves the offset along the #ClutterPath used by @constraint.
12803 // RETURNS: the offset
12804 float get_offset() {
12805 return clutter_path_constraint_get_offset(&this);
12808 // Retrieves a pointer to the #ClutterPath used by @constraint.
12810 // #ClutterPathConstraint, or %NULL. The returned #ClutterPath is owned
12811 // by the constraint and it should not be unreferenced
12812 // RETURNS: the #ClutterPath used by the
12814 return clutter_path_constraint_get_path(&this);
12817 // Sets the offset along the #ClutterPath used by @constraint.
12818 // <offset>: the offset along the path
12819 void set_offset(float offset
) {
12820 clutter_path_constraint_set_offset(&this, offset
);
12823 // Sets the @path to be followed by the #ClutterPathConstraint.
12825 // The @constraint will take ownership of the #ClutterPath passed to this
12827 // <path>: a #ClutterPath
12828 void set_path(Path
* path
=null) {
12829 clutter_path_constraint_set_path(&this, path
);
12832 // The ::node-reached signal is emitted each time a
12833 // #ClutterPathConstraint:offset value results in the actor
12834 // passing a #ClutterPathNode
12835 // <actor>: the #ClutterActor using the @constraint
12836 // <index>: the index of the node that has been reached
12837 extern (C
) alias static void function (PathConstraint
* this_
, Actor
* actor
, c_uint index
, void* user_data
=null) signal_node_reached
;
12839 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12840 return super_
.signal_connect
!name(cb
, data
, cf
);
12843 ulong signal_connect(string name
:"node-reached", CB
:signal_node_reached
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
12844 return signal_connect_data(&this, cast(char*)"node-reached",
12845 cast(GObject2
.Callback
)cb
, data
, null, cf
);
12849 struct PathConstraintClass
{
12853 // Represents a single node of a #ClutterPath.
12855 // Some of the coordinates in @points may be unused for some node
12856 // types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one
12857 // pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and
12858 // %CLUTTER_PATH_CLOSE uses none.
12859 struct PathNode
/* Version 1.0 */ {
12864 // Makes an allocated copy of a node.
12865 // RETURNS: the copied node.
12866 PathNode
* /*new*/ copy() {
12867 return clutter_path_node_copy(&this);
12870 // Compares two nodes and checks if they are the same type with the
12871 // same coordinates.
12872 // RETURNS: %TRUE if the nodes are the same.
12873 // <node_b>: Second node
12874 int equal(PathNode
* node_b
) {
12875 return clutter_path_node_equal(&this, node_b
);
12877 // Frees the memory of an allocated node.
12879 clutter_path_node_free(&this);
12883 // Types of nodes in a #ClutterPath.
12884 enum PathNodeType
/* Version 1.0 */ {
12893 struct PathPrivate
{
12896 enum int Pause
= 65299;
12898 // Stage perspective definition. #ClutterPerspective is only used by
12899 // the fixed point version of clutter_stage_set_perspective().
12900 struct Perspective
/* Version 0.4 */ {
12901 float fovy
, aspect
, z_near
, z_far
;
12904 enum int PesetaSign
= 16785575;
12905 enum int Phone
= 269025134;
12906 // Controls the paint cycle of the scene graph when in pick mode
12907 enum PickMode
/* Version 1.0 */ {
12912 enum int Pictures
= 269025169;
12913 enum int Pointer_Accelerate
= 65274;
12914 enum int Pointer_Button1
= 65257;
12915 enum int Pointer_Button2
= 65258;
12916 enum int Pointer_Button3
= 65259;
12917 enum int Pointer_Button4
= 65260;
12918 enum int Pointer_Button5
= 65261;
12919 enum int Pointer_Button_Dflt
= 65256;
12920 enum int Pointer_DblClick1
= 65263;
12921 enum int Pointer_DblClick2
= 65264;
12922 enum int Pointer_DblClick3
= 65265;
12923 enum int Pointer_DblClick4
= 65266;
12924 enum int Pointer_DblClick5
= 65267;
12925 enum int Pointer_DblClick_Dflt
= 65262;
12926 enum int Pointer_DfltBtnNext
= 65275;
12927 enum int Pointer_DfltBtnPrev
= 65276;
12928 enum int Pointer_Down
= 65251;
12929 enum int Pointer_DownLeft
= 65254;
12930 enum int Pointer_DownRight
= 65255;
12931 enum int Pointer_Drag1
= 65269;
12932 enum int Pointer_Drag2
= 65270;
12933 enum int Pointer_Drag3
= 65271;
12934 enum int Pointer_Drag4
= 65272;
12935 enum int Pointer_Drag5
= 65277;
12936 enum int Pointer_Drag_Dflt
= 65268;
12937 enum int Pointer_EnableKeys
= 65273;
12938 enum int Pointer_Left
= 65248;
12939 enum int Pointer_Right
= 65249;
12940 enum int Pointer_Up
= 65250;
12941 enum int Pointer_UpLeft
= 65252;
12942 enum int Pointer_UpRight
= 65253;
12943 enum int PowerDown
= 269025057;
12944 enum int PowerOff
= 269025066;
12945 enum int Prev_VMode
= 269024803;
12946 enum int Prev_Virtual_Screen
= 65233;
12947 enum int PreviousCandidate
= 65342;
12948 enum int Print
= 65377;
12949 enum int Prior
= 65365;
12951 // Prototype of the progress function used to compute the value
12952 // between the two ends @a and @b of an interval depending on
12953 // the value of @progress.
12955 // The #GValue in @retval is already initialized with the same
12956 // type as @a and @b.
12958 // This function will be called by #ClutterInterval if the
12959 // type of the values of the interval was registered using
12960 // clutter_interval_register_progress_func().
12962 // the value and stored it inside @retval
12963 // RETURNS: %TRUE if the function successfully computed
12964 // <a>: the initial value of an interval
12965 // <b>: the final value of an interval
12966 // <progress>: the progress factor, between 0 and 1
12967 // <retval>: the value used to store the progress
12968 extern (C
) alias int function (GObject2
.Value
* a
, GObject2
.Value
* b
, double progress
, GObject2
.Value
* retval
) ProgressFunc
;
12972 enum int R1
= 65490;
12973 enum int R10
= 65499;
12974 enum int R11
= 65500;
12975 enum int R12
= 65501;
12976 enum int R13
= 65502;
12977 enum int R14
= 65503;
12978 enum int R15
= 65504;
12979 enum int R2
= 65491;
12980 enum int R3
= 65492;
12981 enum int R4
= 65493;
12982 enum int R5
= 65494;
12983 enum int R6
= 65495;
12984 enum int R7
= 65496;
12985 enum int R8
= 65497;
12986 enum int R9
= 65498;
12987 enum int Racute
= 448;
12988 enum int Rcaron
= 472;
12989 enum int Rcedilla
= 931;
12991 // The #ClutterRectangle structure contains only private data
12992 // and should be accessed using the provided API
12993 struct Rectangle
/* : Actor */ /* Version 0.1 */ {
12995 alias parent super_
;
12996 alias parent actor
;
12998 private RectanglePrivate
* priv
;
13001 // Creates a new #ClutterActor with a rectangular shape.
13002 // RETURNS: a new #ClutterActor
13003 static Rectangle
* new_() {
13004 return clutter_rectangle_new();
13007 // Creates a new #ClutterActor with a rectangular shape
13008 // and of the given @color.
13009 // RETURNS: a new #ClutterActor
13010 // <color>: a #ClutterColor
13011 static Rectangle
* new_with_color(Color
* color
) {
13012 return clutter_rectangle_new_with_color(color
);
13015 // Gets the color of the border used by @rectangle and places
13017 // <color>: return location for a #ClutterColor
13018 void get_border_color(/*out*/ Color
* color
) {
13019 clutter_rectangle_get_border_color(&this, color
);
13022 // Gets the width (in pixels) of the border used by @rectangle
13023 // RETURNS: the border's width
13024 uint get_border_width() {
13025 return clutter_rectangle_get_border_width(&this);
13028 // Retrieves the color of @rectangle.
13029 // <color>: return location for a #ClutterColor
13030 void get_color(/*out*/ Color
* color
) {
13031 clutter_rectangle_get_color(&this, color
);
13034 // Sets the color of the border used by @rectangle using @color
13035 // <color>: the color of the border
13036 void set_border_color(Color
* color
) {
13037 clutter_rectangle_set_border_color(&this, color
);
13040 // Sets the width (in pixel) of the border used by @rectangle.
13041 // A @width of 0 will unset the border.
13042 // <width>: the width of the border
13043 void set_border_width(uint width
) {
13044 clutter_rectangle_set_border_width(&this, width
);
13047 // Sets the color of @rectangle.
13048 // <color>: a #ClutterColor
13049 void set_color(Color
* color
) {
13050 clutter_rectangle_set_color(&this, color
);
13054 // The #ClutterRectangleClass structure contains only private data
13055 struct RectangleClass
/* Version 0.1 */ {
13056 private ActorClass parent_class
;
13057 extern (C
) void function () _clutter_rectangle1
;
13058 extern (C
) void function () _clutter_rectangle2
;
13059 extern (C
) void function () _clutter_rectangle3
;
13060 extern (C
) void function () _clutter_rectangle4
;
13063 struct RectanglePrivate
{
13066 enum int Red
= 269025187;
13067 enum int Redo
= 65382;
13068 enum int Refresh
= 269025065;
13069 enum int Reload
= 269025139;
13070 enum int RepeatKeys_Enable
= 65138;
13071 enum int Reply
= 269025138;
13072 // Specifies the type of requests for a #ClutterActor.
13073 enum RequestMode
/* Version 0.8 */ {
13074 HEIGHT_FOR_WIDTH
= 0,
13075 WIDTH_FOR_HEIGHT
= 1
13077 enum int Return
= 65293;
13078 enum int Right
= 65363;
13079 enum int RockerDown
= 269025060;
13080 enum int RockerEnter
= 269025061;
13081 enum int RockerUp
= 269025059;
13082 enum int Romaji
= 65316;
13083 // Axis of a rotation.
13084 enum RotateAxis
/* Version 0.4 */ {
13089 // Direction of a rotation.
13090 enum RotateDirection
/* Version 0.4 */ {
13094 enum int RotateWindows
= 269025140;
13095 enum int RotationKB
= 269025142;
13096 enum int RotationPB
= 269025141;
13097 enum int RupeeSign
= 16785576;
13099 enum int SCHWA
= 16777615;
13100 enum int Sabovedot
= 16784992;
13101 enum int Sacute
= 422;
13102 enum int Save
= 269025143;
13103 enum int Scaron
= 425;
13104 enum int Scedilla
= 426;
13105 enum int Scircumflex
= 734;
13107 // The #ClutterScore structure contains only private data
13108 // and should be accessed using the provided API
13109 struct Score
/* : GObject.Object */ /* Version 0.6 */ {
13111 alias parent super_
;
13112 alias parent object
;
13113 GObject2
.Object parent
;
13114 private ScorePrivate
* priv
;
13117 // Creates a new #ClutterScore. A #ClutterScore is an object that can
13118 // hold multiple #ClutterTimeline<!-- -->s in a sequential order.
13121 // RETURNS: the newly created #ClutterScore. Use g_object_unref()
13122 static Score
* /*new*/ new_() {
13123 return clutter_score_new();
13126 // Appends a timeline to another one existing in the score; the newly
13127 // appended timeline will be started when @parent is complete.
13129 // If @parent is %NULL, the new #ClutterTimeline will be started when
13130 // clutter_score_start() is called.
13132 // #ClutterScore will take a reference on @timeline.
13134 // 0 on failure. The returned id can be used with clutter_score_remove()
13135 // or clutter_score_get_timeline().
13136 // RETURNS: the id of the #ClutterTimeline inside the score, or
13137 // <parent>: a #ClutterTimeline in the score, or %NULL
13138 // <timeline>: a #ClutterTimeline
13139 c_ulong
append(Timeline
* parent
, Timeline
* timeline
) {
13140 return clutter_score_append(&this, parent
, timeline
);
13143 // Appends @timeline at the given @marker_name on the @parent
13144 // #ClutterTimeline.
13146 // If you want to append @timeline at the end of @parent, use
13147 // clutter_score_append().
13149 // The #ClutterScore will take a reference on @timeline.
13151 // 0 on failure. The returned id can be used with clutter_score_remove()
13152 // or clutter_score_get_timeline().
13153 // RETURNS: the id of the #ClutterTimeline inside the score, or
13154 // <parent>: the parent #ClutterTimeline
13155 // <marker_name>: the name of the marker to use
13156 // <timeline>: the #ClutterTimeline to append
13157 c_ulong
append_at_marker(Timeline
* parent
, char* marker_name
, Timeline
* timeline
) {
13158 return clutter_score_append_at_marker(&this, parent
, marker_name
, timeline
);
13161 // Gets whether @score is looping
13162 // RETURNS: %TRUE if the score is looping
13164 return clutter_score_get_loop(&this);
13167 // Retrieves the #ClutterTimeline for @id_ inside @score.
13169 // function does not increase the reference count on the returned
13170 // #ClutterTimeline
13171 // RETURNS: the requested timeline, or %NULL. This
13172 // <id_>: the id of the timeline
13173 Timeline
* get_timeline(c_ulong id_
) {
13174 return clutter_score_get_timeline(&this, id_
);
13177 // Query state of a #ClutterScore instance.
13178 // RETURNS: %TRUE if score is currently playing
13180 return clutter_score_is_playing(&this);
13183 // Retrieves a list of all the #ClutterTimelines managed by @score.
13185 // #GSList containing all the timelines in the score. This function does
13186 // not increase the reference count of the returned timelines. Use
13187 // g_slist_free() on the returned list to deallocate its resources.
13189 GLib2
.SList
* /*new container*/ list_timelines() {
13190 return clutter_score_list_timelines(&this);
13192 // Pauses a playing score @score.
13194 clutter_score_pause(&this);
13197 // Removes the #ClutterTimeline with the given id inside @score. If
13198 // the timeline has other timelines attached to it, those are removed
13200 // <id_>: the id of the timeline to remove
13201 void remove(c_ulong id_
) {
13202 clutter_score_remove(&this, id_
);
13204 // Removes all the timelines inside @score.
13205 void remove_all() {
13206 clutter_score_remove_all(&this);
13208 // Rewinds a #ClutterScore to its initial state.
13210 clutter_score_rewind(&this);
13213 // Sets whether @score should loop. A looping #ClutterScore will start
13214 // from its initial state after the ::complete signal has been fired.
13215 // <loop>: %TRUE for enable looping
13216 void set_loop(int loop) {
13217 clutter_score_set_loop(&this, loop);
13219 // Starts the score.
13221 clutter_score_start(&this);
13223 // Stops and rewinds a playing #ClutterScore instance.
13225 clutter_score_stop(&this);
13227 // The ::completed signal is emitted each time a #ClutterScore terminates.
13228 extern (C
) alias static void function (Score
* this_
, void* user_data
=null) signal_completed
;
13230 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13231 return super_
.signal_connect
!name(cb
, data
, cf
);
13234 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13235 return signal_connect_data(&this, cast(char*)"completed",
13236 cast(GObject2
.Callback
)cb
, data
, null, cf
);
13239 // The ::paused signal is emitted each time a #ClutterScore
13241 extern (C
) alias static void function (Score
* this_
, void* user_data
=null) signal_paused
;
13242 ulong signal_connect(string name
:"paused", CB
:signal_paused
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13243 return signal_connect_data(&this, cast(char*)"paused",
13244 cast(GObject2
.Callback
)cb
, data
, null, cf
);
13246 // The ::started signal is emitted each time a #ClutterScore starts playing.
13247 extern (C
) alias static void function (Score
* this_
, void* user_data
=null) signal_started
;
13248 ulong signal_connect(string name
:"started", CB
:signal_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13249 return signal_connect_data(&this, cast(char*)"started",
13250 cast(GObject2
.Callback
)cb
, data
, null, cf
);
13253 // The ::timeline-completed signal is emitted each time a timeline
13254 // inside a #ClutterScore terminates.
13255 // <timeline>: the completed timeline
13256 extern (C
) alias static void function (Score
* this_
, Timeline
* timeline
, void* user_data
=null) signal_timeline_completed
;
13257 ulong signal_connect(string name
:"timeline-completed", CB
:signal_timeline_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13258 return signal_connect_data(&this, cast(char*)"timeline-completed",
13259 cast(GObject2
.Callback
)cb
, data
, null, cf
);
13262 // The ::timeline-started signal is emitted each time a new timeline
13263 // inside a #ClutterScore starts playing.
13264 // <timeline>: the current timeline
13265 extern (C
) alias static void function (Score
* this_
, Timeline
* timeline
, void* user_data
=null) signal_timeline_started
;
13266 ulong signal_connect(string name
:"timeline-started", CB
:signal_timeline_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
13267 return signal_connect_data(&this, cast(char*)"timeline-started",
13268 cast(GObject2
.Callback
)cb
, data
, null, cf
);
13272 // The #ClutterScoreClass structure contains only private data
13273 struct ScoreClass
/* Version 0.6 */ {
13274 private GObject2
.ObjectClass parent_class
;
13275 extern (C
) void function (Score
* score
, Timeline
* timeline
) timeline_started
;
13276 extern (C
) void function (Score
* score
, Timeline
* timeline
) timeline_completed
;
13277 extern (C
) void function (Score
* score
) started
;
13278 extern (C
) void function (Score
* score
) completed
;
13279 extern (C
) void function (Score
* score
) paused
;
13280 extern (C
) void function () _clutter_score_1
;
13281 extern (C
) void function () _clutter_score_2
;
13282 extern (C
) void function () _clutter_score_3
;
13283 extern (C
) void function () _clutter_score_4
;
13284 extern (C
) void function () _clutter_score_5
;
13287 struct ScorePrivate
{
13290 enum int ScreenSaver
= 269025069;
13292 // The #ClutterScript structure contains only private data
13293 // and should be accessed using the provided API
13294 struct Script
/* : GObject.Object */ /* Version 0.6 */ {
13295 alias parent_instance
this;
13296 alias parent_instance super_
;
13297 alias parent_instance object
;
13298 GObject2
.Object parent_instance
;
13299 private ScriptPrivate
* priv
;
13302 // Creates a new #ClutterScript instance. #ClutterScript can be used
13303 // to load objects definitions for scenegraph elements, like actors,
13304 // or behavioural elements, like behaviours and timelines. The
13305 // definitions must be encoded using the JavaScript Object Notation (JSON)
13308 // g_object_unref() when done.
13309 // RETURNS: the newly created #ClutterScript instance. Use
13310 static Script
* /*new*/ new_() {
13311 return clutter_script_new();
13314 // Adds @paths to the list of search paths held by @script.
13316 // The search paths are used by clutter_script_lookup_filename(), which
13317 // can be used to define search paths for the textures source file name
13318 // or other custom, file-based properties.
13319 // <paths>: an array of strings containing different search paths
13320 // <n_paths>: the length of the passed array
13321 void add_search_paths(char* paths
, size_t n_paths
) {
13322 clutter_script_add_search_paths(&this, paths
, n_paths
);
13325 // Associates a #ClutterState to the #ClutterScript instance using the given
13328 // The #ClutterScript instance will use @state to resolve target states when
13329 // connecting signal handlers.
13331 // The #ClutterScript instance will take a reference on the #ClutterState
13332 // passed to this function.
13333 // <name>: a name for the @state, or %NULL to set the default #ClutterState
13334 // <state>: a #ClutterState
13335 void add_states(char* name
, State
* state
) {
13336 clutter_script_add_states(&this, name
, state
);
13339 // Connects all the signals defined into a UI definition file to their
13342 // This method invokes clutter_script_connect_signals_full() internally
13343 // and uses #GModule's introspective features (by opening the current
13344 // module's scope) to look at the application's symbol table.
13346 // Note that this function will not work if #GModule is not supported by
13347 // the platform Clutter is running on.
13348 // <user_data>: data to be passed to the signal handlers, or %NULL
13349 void connect_signals(void* user_data
) {
13350 clutter_script_connect_signals(&this, user_data
);
13353 // Unintrospectable method: connect_signals_full() / clutter_script_connect_signals_full()
13354 // Connects all the signals defined into a UI definition file to their
13357 // This function allows to control how the signal handlers are
13358 // going to be connected to their respective signals. It is meant
13359 // primarily for language bindings to allow resolving the function
13360 // names using the native API, but it can also be used on platforms
13361 // that do not support GModule.
13363 // Applications should use clutter_script_connect_signals().
13364 // <func>: signal connection function
13365 // <user_data>: data to be passed to the signal handlers, or %NULL
13366 void connect_signals_full(ScriptConnectFunc func
, void* user_data
) {
13367 clutter_script_connect_signals_full(&this, func
, user_data
);
13370 // Ensure that every object defined inside @script is correctly
13371 // constructed. You should rarely need to use this function.
13372 void ensure_objects() {
13373 clutter_script_ensure_objects(&this);
13376 // Retrieves the object bound to @name. This function does not increment
13377 // the reference count of the returned object.
13379 // with the given name was available
13380 // RETURNS: the named object, or %NULL if no object
13381 // <name>: the name of the object to retrieve
13382 GObject2
.Object
* get_object(char* name
) {
13383 return clutter_script_get_object(&this, name
);
13386 // Unintrospectable method: get_objects() / clutter_script_get_objects()
13387 // Retrieves a list of objects for the given names. After @script, object
13388 // names/return location pairs should be listed, with a %NULL pointer
13389 // ending the list, like:
13391 // <informalexample><programlisting>
13392 // GObject *my_label, *a_button, *main_timeline;
13394 // clutter_script_get_objects (script,
13395 // "my-label", &my_label,
13396 // "a-button", &a_button,
13397 // "main-timeline", &main_timeline,
13399 // </programlisting></informalexample>
13401 // Note: This function does not increment the reference count of the
13402 // returned objects.
13403 // RETURNS: the number of objects returned.
13404 // <first_name>: the name of the first object to retrieve
13405 /+ Not available -- variadic methods unsupported - use the C function directly.
13406 alias clutter_script_get_objects get_objects; // Variadic
13409 // Retrieves the #ClutterState for the given @state_name.
13411 // If @name is %NULL, this function will return the default
13412 // #ClutterState instance.
13414 // given name. The #ClutterState is owned by the #ClutterScript instance
13415 // and it should not be unreferenced
13416 // RETURNS: a pointer to the #ClutterState for the
13417 // <name>: the name of the #ClutterState, or %NULL
13418 State
* get_states(char* name
=null) {
13419 return clutter_script_get_states(&this, name
);
13422 // Looks up a type by name, using the virtual function that
13423 // #ClutterScript has for that purpose. This function should
13426 // %G_TYPE_INVALID if not corresponding type was found.
13427 // RETURNS: the type for the requested type name, or
13428 // <type_name>: name of the type to look up
13429 Type
get_type_from_name(char* type_name
) {
13430 return clutter_script_get_type_from_name(&this, type_name
);
13433 // Retrieves all the objects created by @script.
13435 // Note: this function does not increment the reference count of the
13436 // objects it returns.
13438 // of #GObject<!-- -->s, or %NULL. The objects are owned by the
13439 // #ClutterScript instance. Use g_list_free() on the returned list when
13442 GLib2
.List
* /*new container*/ list_objects() {
13443 return clutter_script_list_objects(&this);
13446 // Loads the definitions from @data into @script and merges with
13447 // the currently loaded ones, if any.
13449 // accordingly. On success, the merge id for the UI definitions is
13450 // returned. You can use the merge id with clutter_script_unmerge_objects().
13451 // RETURNS: on error, zero is returned and @error is set
13452 // <data>: a buffer containing the definitions
13453 // <length>: the length of the buffer, or -1 if @data is a NUL-terminated buffer
13454 uint load_from_data(char* data
, ssize_t length
, GLib2
.Error
** error
=null) {
13455 return clutter_script_load_from_data(&this, data
, length
, error
);
13458 // Loads the definitions from @filename into @script and merges with
13459 // the currently loaded ones, if any.
13461 // accordingly. On success, the merge id for the UI definitions is
13462 // returned. You can use the merge id with clutter_script_unmerge_objects().
13463 // RETURNS: on error, zero is returned and @error is set
13464 // <filename>: the full path to the definition file
13465 uint load_from_file(char* filename
, GLib2
.Error
** error
=null) {
13466 return clutter_script_load_from_file(&this, filename
, error
);
13469 // Looks up @filename inside the search paths of @script. If @filename
13470 // is found, its full path will be returned .
13473 // RETURNS: the full path of @filename or %NULL if no path was
13474 // <filename>: the name of the file to lookup
13475 char* /*new*/ lookup_filename(char* filename
) {
13476 return clutter_script_lookup_filename(&this, filename
);
13479 // Unmerges the objects identified by @merge_id.
13480 // <merge_id>: merge id returned when loading a UI definition
13481 void unmerge_objects(uint merge_id
) {
13482 clutter_script_unmerge_objects(&this, merge_id
);
13486 // The #ClutterScriptClass structure contains only private data
13487 struct ScriptClass
/* Version 0.6 */ {
13488 private GObject2
.ObjectClass parent_class
;
13490 // RETURNS: the type for the requested type name, or
13491 // <type_name>: name of the type to look up
13492 extern (C
) Type
function (Script
* script
, char* type_name
) get_type_from_name
;
13493 extern (C
) void function () _clutter_reserved1
;
13494 extern (C
) void function () _clutter_reserved2
;
13495 extern (C
) void function () _clutter_reserved3
;
13496 extern (C
) void function () _clutter_reserved4
;
13497 extern (C
) void function () _clutter_reserved5
;
13498 extern (C
) void function () _clutter_reserved6
;
13499 extern (C
) void function () _clutter_reserved7
;
13500 extern (C
) void function () _clutter_reserved8
;
13504 // This is the signature of a function used to connect signals. It is used
13505 // by the clutter_script_connect_signals_full() function. It is mainly
13506 // intended for interpreted language bindings, but could be useful where the
13507 // programmer wants more control over the signal connection process.
13508 // <script>: a #ClutterScript
13509 // <object>: the object to connect
13510 // <signal_name>: the name of the signal
13511 // <handler_name>: the name of the signal handler
13512 // <connect_object>: the object to connect the signal to, or %NULL
13513 // <flags>: signal connection flags
13514 // <user_data>: user data to pass to the signal handler
13515 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
;
13517 // #ClutterScript error enumeration.
13518 enum ScriptError
/* Version 0.6 */ {
13523 struct ScriptPrivate
{
13527 // #ClutterScriptable is an opaque structure whose members cannot be directly
13529 struct Scriptable
/* Version 0.6 */ {
13531 // Retrieves the id of @scriptable set using clutter_scriptable_set_id().
13533 // the scriptable object and should never be modified of freed
13534 // RETURNS: the id of the object. The returned string is owned by
13536 return clutter_scriptable_get_id(&this);
13539 // Parses the passed JSON node. The implementation must set the type
13540 // of the passed #GValue pointer using g_value_init().
13541 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
13542 // <script>: the #ClutterScript creating the scriptable instance
13543 // <value>: the generic value to be set
13544 // <name>: the name of the node
13545 // <node>: the JSON node to be parsed
13546 int parse_custom_node(Script
* script
, GObject2
.Value
* value
, char* name
, Json
.Node
* node
) {
13547 return clutter_scriptable_parse_custom_node(&this, script
, value
, name
, node
);
13550 // Overrides the common properties setting. The underlying virtual
13551 // function should be used when implementing custom properties.
13552 // <script>: the #ClutterScript creating the scriptable instance
13553 // <name>: the name of the property
13554 // <value>: the value of the property
13555 void set_custom_property(Script
* script
, char* name
, GObject2
.Value
* value
) {
13556 clutter_scriptable_set_custom_property(&this, script
, name
, value
);
13559 // Sets @id_ as the unique Clutter script it for this instance of
13560 // #ClutterScriptableIface.
13562 // This name can be used by user interface designer applications to
13563 // define a unique name for an object constructable using the UI
13564 // definition language parsed by #ClutterScript.
13565 // <id_>: the #ClutterScript id of the object
13566 void set_id(char* id_
) {
13567 clutter_scriptable_set_id(&this, id_
);
13572 // Interface for implementing "scriptable" objects. An object implementing
13573 // this interface can override the parsing and properties setting sequence
13574 // when loading a UI definition data with #ClutterScript
13575 struct ScriptableIface
/* Version 0.6 */ {
13576 private GObject2
.TypeInterface g_iface
;
13577 // <id_>: the #ClutterScript id of the object
13578 extern (C
) void function (Scriptable
* scriptable
, char* id_
) set_id
;
13579 // RETURNS: the id of the object. The returned string is owned by
13580 extern (C
) char* function (Scriptable
* scriptable
) get_id
;
13582 // RETURNS: %TRUE if the node was successfully parsed, %FALSE otherwise.
13583 // <script>: the #ClutterScript creating the scriptable instance
13584 // <value>: the generic value to be set
13585 // <name>: the name of the node
13586 // <node>: the JSON node to be parsed
13587 extern (C
) int function (Scriptable
* scriptable
, Script
* script
, GObject2
.Value
* value
, char* name
, Json
.Node
* node
) parse_custom_node
;
13589 // <script>: the #ClutterScript creating the scriptable instance
13590 // <name>: the name of the property
13591 // <value>: the value of the property
13592 extern (C
) void function (Scriptable
* scriptable
, Script
* script
, char* name
, GObject2
.Value
* value
) set_custom_property
;
13595 enum int ScrollClick
= 269025146;
13596 // Direction of a pointer scroll event.
13597 enum ScrollDirection
/* Version 0.4 */ {
13603 enum int ScrollDown
= 269025145;
13604 // Scroll wheel (or similar device) event
13605 struct ScrollEvent
/* Version 0.2 */ {
13612 ScrollDirection direction
;
13613 ModifierType modifier_state
;
13615 InputDevice
* device
;
13618 enum int ScrollUp
= 269025144;
13619 enum int Scroll_Lock
= 65300;
13620 enum int Search
= 269025051;
13621 enum int Select
= 65376;
13622 enum int SelectButton
= 269025184;
13623 enum int Send
= 269025147;
13624 enum int Serbian_DJE
= 1713;
13625 enum int Serbian_DZE
= 1727;
13626 enum int Serbian_JE
= 1720;
13627 enum int Serbian_LJE
= 1721;
13628 enum int Serbian_NJE
= 1722;
13629 enum int Serbian_TSHE
= 1723;
13630 enum int Serbian_dje
= 1697;
13631 enum int Serbian_dze
= 1711;
13632 enum int Serbian_je
= 1704;
13633 enum int Serbian_lje
= 1705;
13634 enum int Serbian_nje
= 1706;
13635 enum int Serbian_tshe
= 1707;
13637 // <structname>ClutterSettings</structname> is an opaque structure whose
13638 // members cannot be directly accessed.
13639 struct Settings
/* : GObject.Object */ /* Version 1.4 */ {
13640 alias method_parent
this;
13641 alias method_parent super_
;
13642 alias method_parent object
;
13643 GObject2
.Object method_parent
;
13646 // Retrieves the singleton instance of #ClutterSettings
13648 // returned object is owned by Clutter and it should not be unreferenced
13650 // RETURNS: the instance of #ClutterSettings. The
13651 static Settings
* get_default() {
13652 return clutter_settings_get_default();
13656 struct SettingsClass
{
13660 // The #ClutterShader structure contains only private data
13661 // and should be accessed using the provided API
13662 struct Shader
/* : GObject.Object */ /* Version 0.6 */ {
13664 alias parent super_
;
13665 alias parent object
;
13666 GObject2
.Object parent
;
13667 private ShaderPrivate
* priv
;
13670 // Create a new #ClutterShader instance.
13671 // RETURNS: a new #ClutterShader.
13672 static Shader
* /*new*/ new_() {
13673 return clutter_shader_new();
13676 // Compiles and links GLSL sources set for vertex and fragment shaders for
13677 // a #ClutterShader. If the compilation fails and a #GError return location is
13678 // provided the error will contain the errors from the compiler, if any.
13679 // RETURNS: returns TRUE if the shader was succesfully compiled.
13680 int compile(GLib2
.Error
** error
=null) {
13681 return clutter_shader_compile(&this, error
);
13684 // Retrieves the underlying #CoglHandle for the fragment shader.
13686 // shader, or %NULL. The handle is owned by the #ClutterShader
13687 // and it should not be unreferenced
13688 // RETURNS: A #CoglHandle for the fragment
13689 Cogl
.Handle
get_cogl_fragment_shader() {
13690 return clutter_shader_get_cogl_fragment_shader(&this);
13693 // Retrieves the underlying #CoglHandle for the shader program.
13695 // or %NULL. The handle is owned by the #ClutterShader and it should
13696 // not be unreferenced
13697 // RETURNS: A #CoglHandle for the shader program,
13698 Cogl
.Handle
get_cogl_program() {
13699 return clutter_shader_get_cogl_program(&this);
13702 // Retrieves the underlying #CoglHandle for the vertex shader.
13704 // shader, or %NULL. The handle is owned by the #ClutterShader
13705 // and it should not be unreferenced
13706 // RETURNS: A #CoglHandle for the vertex
13707 Cogl
.Handle
get_cogl_vertex_shader() {
13708 return clutter_shader_get_cogl_vertex_shader(&this);
13711 // Query the current GLSL fragment source set on @shader.
13713 // ClutterShader object or %NULL. The returned string is owned by the
13714 // shader object and should never be modified or freed
13715 // RETURNS: the source of the fragment shader for this
13716 char* get_fragment_source() {
13717 return clutter_shader_get_fragment_source(&this);
13720 // Checks whether @shader is enabled.
13721 // RETURNS: %TRUE if the shader is enabled.
13722 int get_is_enabled() {
13723 return clutter_shader_get_is_enabled(&this);
13726 // Query the current GLSL vertex source set on @shader.
13728 // ClutterShader object or %NULL. The returned string is owned by the
13729 // shader object and should never be modified or freed
13730 // RETURNS: the source of the vertex shader for this
13731 char* get_vertex_source() {
13732 return clutter_shader_get_vertex_source(&this);
13735 // Checks whether @shader is is currently compiled, linked and bound
13736 // to the GL context.
13737 // RETURNS: %TRUE if the shader is compiled, linked and ready for use.
13738 int is_compiled() {
13739 return clutter_shader_is_compiled(&this);
13741 // Frees up any GL context resources held by the shader.
13743 clutter_shader_release(&this);
13746 // Sets the GLSL source code to be used by a #ClutterShader for the fragment
13748 // <data>: GLSL source code.
13749 // <length>: length of source buffer (currently ignored)
13750 void set_fragment_source(char* data
, ssize_t length
) {
13751 clutter_shader_set_fragment_source(&this, data
, length
);
13754 // Enables a shader. This function will attempt to compile and link
13755 // the shader, if it isn't already.
13757 // When @enabled is %FALSE the default state of the GL pipeline will be
13759 // <enabled>: The new state of the shader.
13760 void set_is_enabled(int enabled
) {
13761 clutter_shader_set_is_enabled(&this, enabled
);
13764 // Sets a user configurable variable in the GLSL shader programs attached to
13765 // a #ClutterShader.
13766 // <name>: name of uniform in GLSL shader program to set.
13767 // <value>: a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue.
13768 void set_uniform(char* name
, GObject2
.Value
* value
) {
13769 clutter_shader_set_uniform(&this, name
, value
);
13772 // Sets the GLSL source code to be used by a #ClutterShader for the vertex
13774 // <data>: GLSL source code.
13775 // <length>: length of source buffer (currently ignored)
13776 void set_vertex_source(char* data
, ssize_t length
) {
13777 clutter_shader_set_vertex_source(&this, data
, length
);
13781 // The #ClutterShaderClass structure contains only private data
13782 struct ShaderClass
/* Version 0.6 */ {
13783 private GObject2
.ObjectClass parent_class
;
13787 // The <structname>ClutterShaderEffect</structname> structure contains
13788 // only private data and should be accessed using the provided API
13789 struct ShaderEffect
/* : OffscreenEffect */ /* Version 1.4 */ {
13790 alias parent_instance
this;
13791 alias parent_instance super_
;
13792 alias parent_instance offscreeneffect
;
13793 OffscreenEffect parent_instance
;
13794 private ShaderEffectPrivate
* priv
;
13797 // Creates a new #ClutterShaderEffect, to be applied to an actor using
13798 // clutter_actor_add_effect().
13800 // The effect will be empty until clutter_shader_effect_set_shader_source()
13803 // Use g_object_unref() when done.
13804 // RETURNS: the newly created #ClutterShaderEffect.
13805 // <shader_type>: the type of the shader, either %CLUTTER_FRAGMENT_SHADER, or %CLUTTER_VERTEX_SHADER
13806 static ShaderEffect
* /*new*/ new_(ShaderType shader_type
) {
13807 return clutter_shader_effect_new(shader_type
);
13810 // Retrieves a pointer to the program's handle
13812 // or %COGL_INVALID_HANDLE
13813 // RETURNS: a pointer to the program's handle,
13814 Cogl
.Handle
get_program() {
13815 return clutter_shader_effect_get_program(&this);
13818 // Retrieves a pointer to the shader's handle
13820 // or %COGL_INVALID_HANDLE
13821 // RETURNS: a pointer to the shader's handle,
13822 Cogl
.Handle
get_shader() {
13823 return clutter_shader_effect_get_shader(&this);
13826 // Sets the source of the GLSL shader used by @effect
13828 // This function should only be called by implementations of
13829 // the #ClutterShaderEffect class, and not by application code.
13831 // This function can only be called once; subsequent calls will
13832 // yield no result.
13833 // RETURNS: %TRUE if the source was set
13834 // <source>: the source of a GLSL shader
13835 int set_shader_source(char* source
) {
13836 return clutter_shader_effect_set_shader_source(&this, source
);
13839 // Unintrospectable method: set_uniform() / clutter_shader_effect_set_uniform()
13840 // Sets a list of values as the payload for the uniform @name inside
13841 // the shader effect
13843 // The @gtype must be one of: %G_TYPE_INT, for 1 or more integer values;
13844 // %G_TYPE_FLOAT, for 1 or more floating point values;
13845 // %CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values;
13846 // %CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point
13847 // values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of
13848 // floating point values mapping a matrix
13850 // The number of values interepreted is defined by the @n_value
13851 // argument, and by the @gtype argument. For instance, a uniform named
13852 // "sampler0" and containing a single integer value is set using:
13855 // clutter_shader_effect_set_uniform (effect, "sampler0",
13860 // While a uniform named "components" and containing a 3-elements vector
13861 // of floating point values (a "vec3") can be set using:
13864 // gfloat component_r, component_g, component_b;
13866 // clutter_shader_effect_set_uniform (effect, "components",
13867 // G_TYPE_FLOAT, 3,
13873 // or can be set using:
13876 // gfloat component_vec[3];
13878 // clutter_shader_effect_set_uniform (effect, "components",
13879 // CLUTTER_TYPE_SHADER_FLOAT, 3,
13883 // Finally, a uniform named "map" and containing a matrix can be set using:
13886 // clutter_shader_effect_set_uniform (effect, "map",
13887 // CLUTTER_TYPE_SHADER_MATRIX, 1,
13888 // cogl_matrix_get_array (&matrix));
13890 // <name>: the name of the uniform to set
13891 // <gtype>: the type of the uniform to set
13892 // <n_values>: the number of values
13893 /+ Not available -- variadic methods unsupported - use the C function directly.
13894 alias clutter_shader_effect_set_uniform set_uniform; // Variadic
13897 // Sets @value as the payload for the uniform @name inside the shader
13900 // The #GType of the @value must be one of: %G_TYPE_INT, for a single
13901 // integer value; %G_TYPE_FLOAT, for a single floating point value;
13902 // %CLUTTER_TYPE_SHADER_INT, for an array of integer values;
13903 // %CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values;
13904 // and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point
13905 // values. It also accepts %G_TYPE_DOUBLE for compatibility with other
13906 // languages than C.
13907 // <name>: the name of the uniform to set
13908 // <value>: a #GValue with the value of the uniform to set
13909 void set_uniform_value(char* name
, GObject2
.Value
* value
) {
13910 clutter_shader_effect_set_uniform_value(&this, name
, value
);
13915 // The <structname>ClutterShaderEffectClass</structname> structure contains
13916 // only private data
13917 struct ShaderEffectClass
/* Version 1.4 */ {
13918 private OffscreenEffectClass parent_class
;
13919 extern (C
) void function () _clutter_shader1
;
13920 extern (C
) void function () _clutter_shader2
;
13921 extern (C
) void function () _clutter_shader3
;
13922 extern (C
) void function () _clutter_shader4
;
13923 extern (C
) void function () _clutter_shader5
;
13924 extern (C
) void function () _clutter_shader6
;
13927 struct ShaderEffectPrivate
{
13930 // #ClutterShader error enumeration
13931 enum ShaderError
/* Version 0.6 */ {
13936 struct ShaderFloat
{
13942 struct ShaderMatrix
{
13945 struct ShaderPrivate
{
13948 // The type of GLSL shader program
13949 enum ShaderType
/* Version 1.4 */ {
13951 FRAGMENT_SHADER
= 1
13953 enum int Shift_L
= 65505;
13954 enum int Shift_Lock
= 65510;
13955 enum int Shift_R
= 65506;
13956 enum int Shop
= 269025078;
13957 enum int SingleCandidate
= 65340;
13958 enum int Sinh_a
= 16780677;
13959 enum int Sinh_aa
= 16780678;
13960 enum int Sinh_aa2
= 16780751;
13961 enum int Sinh_ae
= 16780679;
13962 enum int Sinh_ae2
= 16780752;
13963 enum int Sinh_aee
= 16780680;
13964 enum int Sinh_aee2
= 16780753;
13965 enum int Sinh_ai
= 16780691;
13966 enum int Sinh_ai2
= 16780763;
13967 enum int Sinh_al
= 16780746;
13968 enum int Sinh_au
= 16780694;
13969 enum int Sinh_au2
= 16780766;
13970 enum int Sinh_ba
= 16780726;
13971 enum int Sinh_bha
= 16780727;
13972 enum int Sinh_ca
= 16780704;
13973 enum int Sinh_cha
= 16780705;
13974 enum int Sinh_dda
= 16780713;
13975 enum int Sinh_ddha
= 16780714;
13976 enum int Sinh_dha
= 16780719;
13977 enum int Sinh_dhha
= 16780720;
13978 enum int Sinh_e
= 16780689;
13979 enum int Sinh_e2
= 16780761;
13980 enum int Sinh_ee
= 16780690;
13981 enum int Sinh_ee2
= 16780762;
13982 enum int Sinh_fa
= 16780742;
13983 enum int Sinh_ga
= 16780700;
13984 enum int Sinh_gha
= 16780701;
13985 enum int Sinh_h2
= 16780675;
13986 enum int Sinh_ha
= 16780740;
13987 enum int Sinh_i
= 16780681;
13988 enum int Sinh_i2
= 16780754;
13989 enum int Sinh_ii
= 16780682;
13990 enum int Sinh_ii2
= 16780755;
13991 enum int Sinh_ja
= 16780706;
13992 enum int Sinh_jha
= 16780707;
13993 enum int Sinh_jnya
= 16780709;
13994 enum int Sinh_ka
= 16780698;
13995 enum int Sinh_kha
= 16780699;
13996 enum int Sinh_kunddaliya
= 16780788;
13997 enum int Sinh_la
= 16780733;
13998 enum int Sinh_lla
= 16780741;
13999 enum int Sinh_lu
= 16780687;
14000 enum int Sinh_lu2
= 16780767;
14001 enum int Sinh_luu
= 16780688;
14002 enum int Sinh_luu2
= 16780787;
14003 enum int Sinh_ma
= 16780728;
14004 enum int Sinh_mba
= 16780729;
14005 enum int Sinh_na
= 16780721;
14006 enum int Sinh_ndda
= 16780716;
14007 enum int Sinh_ndha
= 16780723;
14008 enum int Sinh_ng
= 16780674;
14009 enum int Sinh_ng2
= 16780702;
14010 enum int Sinh_nga
= 16780703;
14011 enum int Sinh_nja
= 16780710;
14012 enum int Sinh_nna
= 16780715;
14013 enum int Sinh_nya
= 16780708;
14014 enum int Sinh_o
= 16780692;
14015 enum int Sinh_o2
= 16780764;
14016 enum int Sinh_oo
= 16780693;
14017 enum int Sinh_oo2
= 16780765;
14018 enum int Sinh_pa
= 16780724;
14019 enum int Sinh_pha
= 16780725;
14020 enum int Sinh_ra
= 16780731;
14021 enum int Sinh_ri
= 16780685;
14022 enum int Sinh_rii
= 16780686;
14023 enum int Sinh_ru2
= 16780760;
14024 enum int Sinh_ruu2
= 16780786;
14025 enum int Sinh_sa
= 16780739;
14026 enum int Sinh_sha
= 16780737;
14027 enum int Sinh_ssha
= 16780738;
14028 enum int Sinh_tha
= 16780717;
14029 enum int Sinh_thha
= 16780718;
14030 enum int Sinh_tta
= 16780711;
14031 enum int Sinh_ttha
= 16780712;
14032 enum int Sinh_u
= 16780683;
14033 enum int Sinh_u2
= 16780756;
14034 enum int Sinh_uu
= 16780684;
14035 enum int Sinh_uu2
= 16780758;
14036 enum int Sinh_va
= 16780736;
14037 enum int Sinh_ya
= 16780730;
14038 enum int Sleep
= 269025071;
14039 enum int SlowKeys_Enable
= 65139;
14041 // <structname>ClutterSnapConstraint</structname> is an opaque structure
14042 // whose members cannot be directly accesses
14043 struct SnapConstraint
/* : Constraint */ /* Version 1.6 */ {
14044 alias method_parent
this;
14045 alias method_parent super_
;
14046 alias method_parent constraint
;
14047 Constraint method_parent
;
14050 // Creates a new #ClutterSnapConstraint that will snap a #ClutterActor
14051 // to the @edge of @source, with the given @offset.
14052 // RETURNS: the newly created #ClutterSnapConstraint
14053 // <source>: the #ClutterActor to use as the source of the constraint, or %NULL
14054 // <from_edge>: the edge of the actor to use in the constraint
14055 // <to_edge>: the edge of @source to use in the constraint
14056 // <offset>: the offset to apply to the constraint, in pixels
14057 static SnapConstraint
* new_(Actor
* source
, SnapEdge from_edge
, SnapEdge to_edge
, float offset
) {
14058 return clutter_snap_constraint_new(source
, from_edge
, to_edge
, offset
);
14061 // method "get_edges" removed: Link failures - missing in library.
14063 // Retrieves the offset set using clutter_snap_constraint_set_offset()
14064 // RETURNS: the offset, in pixels
14065 float get_offset() {
14066 return clutter_snap_constraint_get_offset(&this);
14069 // Retrieves the #ClutterActor set using clutter_snap_constraint_set_source()
14070 // RETURNS: a pointer to the source actor
14071 Actor
* get_source() {
14072 return clutter_snap_constraint_get_source(&this);
14075 // Sets the edges to be used by the @constraint
14077 // The @from_edge is the edge on the #ClutterActor to which @constraint
14078 // has been added. The @to_edge is the edge of the #ClutterActor inside
14079 // the #ClutterSnapConstraint:source property.
14080 // <from_edge>: the edge on the actor
14081 // <to_edge>: the edge on the source
14082 void set_edges(SnapEdge from_edge
, SnapEdge to_edge
) {
14083 clutter_snap_constraint_set_edges(&this, from_edge
, to_edge
);
14086 // Sets the offset to be applied to the constraint
14087 // <offset>: the offset to apply, in pixels
14088 void set_offset(float offset
) {
14089 clutter_snap_constraint_set_offset(&this, offset
);
14092 // Sets the source #ClutterActor for the constraint
14093 // <source>: a #ClutterActor, or %NULL to unset the source
14094 void set_source(Actor
* source
=null) {
14095 clutter_snap_constraint_set_source(&this, source
);
14099 struct SnapConstraintClass
{
14102 // The edge to snap
14103 enum SnapEdge
/* Version 1.6 */ {
14109 enum int Spell
= 269025148;
14110 enum int SplitScreen
= 269025149;
14112 // The #ClutterStage structure contains only private data
14113 // and should be accessed using the provided API
14114 struct Stage
/* : Group */ /* Version 0.1 */ {
14115 alias parent_instance
this;
14116 alias parent_instance super_
;
14117 alias parent_instance group
;
14118 Group parent_instance
;
14119 private StagePrivate
* priv
;
14122 // Creates a new, non-default stage. A non-default stage is a new
14123 // top-level actor which can be used as another container. It works
14124 // exactly like the default stage, but while clutter_stage_get_default()
14125 // will always return the same instance, you will have to keep a pointer
14126 // to any #ClutterStage returned by clutter_stage_new().
14128 // The ability to support multiple stages depends on the current
14129 // backend. Use clutter_feature_available() and
14130 // %CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a
14131 // backend supports multiple stages.
14133 // not support multiple stages. Use clutter_actor_destroy() to
14134 // programmatically close the returned stage.
14135 // RETURNS: a new stage, or %NULL if the default backend does
14136 static Stage
* new_() {
14137 return clutter_stage_new();
14140 // Returns the main stage. The default #ClutterStage is a singleton,
14141 // so the stage will be created the first time this function is
14142 // called (typically, inside clutter_init()); all the subsequent
14143 // calls to clutter_stage_get_default() will return the same instance.
14145 // Clutter guarantess the existence of the default stage.
14147 // #ClutterStage. You should never destroy or unref the returned
14149 // RETURNS: the main
14150 static Clutter
.Actor
* get_default() {
14151 return clutter_stage_get_default();
14154 // This function essentially makes sure the right GL context is
14155 // current for the passed stage. It is not intended to
14156 // be used by applications.
14157 void ensure_current() {
14158 clutter_stage_ensure_current(&this);
14161 // Ensures that @stage is redrawn
14163 // This function should not be called by applications: it is
14164 // used when embedding a #ClutterStage into a toolkit with
14165 // another windowing system, like GTK+.
14166 void ensure_redraw() {
14167 clutter_stage_ensure_redraw(&this);
14170 // Ensures that the GL viewport is updated with the current
14171 // stage window size.
14173 // This function will queue a redraw of @stage.
14175 // This function should not be called by applications; it is used
14176 // when embedding a #ClutterStage into a toolkit with another
14177 // windowing system, like GTK+.
14178 void ensure_viewport() {
14179 clutter_stage_ensure_viewport(&this);
14182 // This function is used to emit an event on the main stage.
14184 // You should rarely need to use this function, except for
14185 // synthetised events.
14186 // RETURNS: the return value from the signal emission
14187 // <event>: a #ClutterEvent
14188 int event(Event
* event
) {
14189 return clutter_stage_event(&this, event
);
14192 // Retrieves the value set with clutter_stage_set_accept_focus().
14195 // RETURNS: %TRUE if the #ClutterStage should accept focus, and %FALSE
14196 int get_accept_focus() {
14197 return clutter_stage_get_accept_focus(&this);
14200 // Checks the scene at the coordinates @x and @y and returns a pointer
14201 // to the #ClutterActor at those coordinates.
14203 // By using @pick_mode it is possible to control which actors will be
14204 // painted and thus available.
14207 // RETURNS: the actor at the specified coordinates,
14208 // <pick_mode>: how the scene graph should be painted
14209 // <x>: X coordinate to check
14210 // <y>: Y coordinate to check
14211 Actor
* get_actor_at_pos(PickMode pick_mode
, int x
, int y
) {
14212 return clutter_stage_get_actor_at_pos(&this, pick_mode
, x
, y
);
14215 // Retrieves the stage color.
14216 // <color>: return location for a #ClutterColor
14217 void get_color(/*out*/ Color
* color
) {
14218 clutter_stage_get_color(&this, color
);
14221 // Retrieves the current depth cueing settings from the stage.
14222 // <fog>: return location for a #ClutterFog structure
14223 void get_fog(/*out*/ Fog
* fog
) {
14224 clutter_stage_get_fog(&this, fog
);
14227 // Retrieves whether the stage is full screen or not
14228 // RETURNS: %TRUE if the stage is full screen
14229 int get_fullscreen() {
14230 return clutter_stage_get_fullscreen(&this);
14233 // Retrieves the actor that is currently under key focus.
14234 // RETURNS: the actor with key focus, or the stage
14235 Actor
* get_key_focus() {
14236 return clutter_stage_get_key_focus(&this);
14239 // Retrieves the minimum size for a stage window as set using
14240 // clutter_stage_set_minimum_size().
14242 // The returned size may not correspond to the actual minimum size and
14243 // it is specific to the #ClutterStage implementation inside the
14245 // <width>: return location for the minimum width, in pixels, or %NULL
14246 // <height>: return location for the minimum height, in pixels, or %NULL
14247 void get_minimum_size(/*out*/ uint* width
, /*out*/ uint* height
) {
14248 clutter_stage_get_minimum_size(&this, width
, height
);
14251 // Retrieves the value set using clutter_stage_set_motion_events_enabled().
14253 // and %FALSE otherwise
14254 // RETURNS: %TRUE if the per-actor motion event delivery is enabled
14255 int get_motion_events_enabled() {
14256 return clutter_stage_get_motion_events_enabled(&this);
14259 // Retrieves the hint set with clutter_stage_set_no_clear_hint()
14261 // cycle, and %FALSE otherwise
14262 // RETURNS: %TRUE if the stage should not clear itself on every paint
14263 int get_no_clear_hint() {
14264 return clutter_stage_get_no_clear_hint(&this);
14267 // Retrieves the stage perspective.
14268 // <perspective>: return location for a #ClutterPerspective
14269 void get_perspective(/*out*/ Perspective
* perspective
=null) {
14270 clutter_stage_get_perspective(&this, perspective
);
14273 // Gets the bounds of the current redraw for @stage in stage pixel
14274 // coordinates. E.g., if only a single actor has queued a redraw then
14275 // Clutter may redraw the stage with a clip so that it doesn't have to
14276 // paint every pixel in the stage. This function would then return the
14277 // bounds of that clip. An application can use this information to
14278 // avoid some extra work if it knows that some regions of the stage
14279 // aren't going to be painted. This should only be called while the
14280 // stage is being painted. If there is no current redraw clip then
14281 // this function will set @clip to the full extents of the stage.
14282 // <clip>: Return location for the clip bounds
14283 void get_redraw_clip_bounds(/*out*/ cairo
.RectangleInt
* clip
) {
14284 clutter_stage_get_redraw_clip_bounds(&this, clip
);
14287 // Retrieves the value set with clutter_stage_set_throttle_motion_events()
14289 // and %FALSE otherwise
14290 // RETURNS: %TRUE if the motion events are being throttled,
14291 int get_throttle_motion_events() {
14292 return clutter_stage_get_throttle_motion_events(&this);
14295 // Gets the stage title.
14297 // returned string is owned by the actor and should not
14298 // be modified or freed.
14299 // RETURNS: pointer to the title string for the stage. The
14300 char* get_title() {
14301 return clutter_stage_get_title(&this);
14304 // Retrieves the value set using clutter_stage_set_use_alpha()
14306 // alpha channel of the stage color
14307 // RETURNS: %TRUE if the stage should honour the opacity and the
14308 int get_use_alpha() {
14309 return clutter_stage_get_use_alpha(&this);
14312 // Gets whether the depth cueing effect is enabled on @stage.
14313 // RETURNS: %TRUE if the depth cueing effect is enabled
14314 int get_use_fog() {
14315 return clutter_stage_get_use_fog(&this);
14318 // Retrieves the value set with clutter_stage_set_user_resizable().
14319 // RETURNS: %TRUE if the stage is resizable by the user.
14320 int get_user_resizable() {
14321 return clutter_stage_get_user_resizable(&this);
14323 // Makes the cursor invisible on the stage window
14324 void hide_cursor() {
14325 clutter_stage_hide_cursor(&this);
14328 // Checks if @stage is the default stage, or an instance created using
14329 // clutter_stage_new() but internally using the same implementation.
14330 // RETURNS: %TRUE if the passed stage is the default one
14332 return clutter_stage_is_default(&this);
14335 // Queues a redraw for the passed stage.
14337 // <note>Applications should call clutter_actor_queue_redraw() and not
14338 // this function.</note>
14340 // <note>This function is just a wrapper for clutter_actor_queue_redraw()
14341 // and should probably go away.</note>
14342 void queue_redraw() {
14343 clutter_stage_queue_redraw(&this);
14346 // Makes a screenshot of the stage in RGBA 8bit data, returns a
14347 // linear buffer with @width * 4 as rowstride.
14349 // The alpha data contained in the returned buffer is driver-dependent,
14350 // and not guaranteed to hold any sensible value.
14352 // or %NULL if the read failed. Use g_free() on the returned data
14353 // to release the resources it has allocated.
14354 // RETURNS: a pointer to newly allocated memory with the buffer
14355 // <x>: x coordinate of the first pixel that is read from stage
14356 // <y>: y coordinate of the first pixel that is read from stage
14357 // <width>: Width dimention of pixels to be read, or -1 for the entire stage width
14358 // <height>: Height dimention of pixels to be read, or -1 for the entire stage height
14359 ubyte* read_pixels(int x
, int y
, int width
, int height
) {
14360 return clutter_stage_read_pixels(&this, x
, y
, width
, height
);
14363 // Sets whether the @stage should accept the key focus when shown.
14365 // This function should be called before showing @stage using
14366 // clutter_actor_show().
14367 // <accept_focus>: %TRUE to accept focus on show
14368 void set_accept_focus(int accept_focus
) {
14369 clutter_stage_set_accept_focus(&this, accept_focus
);
14372 // Sets the stage color.
14373 // <color>: A #ClutterColor
14374 void set_color(Color
* color
) {
14375 clutter_stage_set_color(&this, color
);
14378 // Sets the fog (also known as "depth cueing") settings for the @stage.
14380 // A #ClutterStage will only use a linear fog progression, which
14381 // depends solely on the distance from the viewer. The cogl_set_fog()
14382 // function in COGL exposes more of the underlying implementation,
14383 // and allows changing the for progression function. It can be directly
14384 // used by disabling the #ClutterStage:use-fog property and connecting
14385 // a signal handler to the #ClutterActor::paint signal on the @stage,
14389 // clutter_stage_set_use_fog (stage, FALSE);
14390 // g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
14393 // The paint signal handler will call cogl_set_fog() with the
14394 // desired settings:
14398 // on_stage_paint (ClutterActor *actor)
14400 // ClutterColor stage_color = { 0, };
14401 // CoglColor fog_color = { 0, };
14403 // /* set the fog color to the stage background color */
14404 // clutter_stage_get_color (CLUTTER_STAGE (actor), &stage_color);
14405 // cogl_color_init_from_4ub (&fog_color,
14406 // stage_color.red,
14407 // stage_color.green,
14408 // stage_color.blue,
14409 // stage_color.alpha);
14411 // /* enable fog */
14412 // cogl_set_fog (&fog_color,
14413 // COGL_FOG_MODE_EXPONENTIAL, /* mode */
14414 // 0.5, /* density */
14415 // 5.0, 30.0); /* z_near and z_far */
14419 // <note>The fogging functions only work correctly when the visible actors use
14420 // unmultiplied alpha colors. By default Cogl will premultiply textures and
14421 // cogl_set_source_color() will premultiply colors, so unless you explicitly
14422 // load your textures requesting an unmultiplied internal format and use
14423 // cogl_material_set_color() you can only use fogging with fully opaque actors.
14424 // Support for premultiplied colors will improve in the future when we can
14425 // depend on fragment shaders.</note>
14426 // <fog>: a #ClutterFog structure
14427 void set_fog(Fog
* fog
) {
14428 clutter_stage_set_fog(&this, fog
);
14431 // Asks to place the stage window in the fullscreen or unfullscreen
14434 // afterward, because other entities (e.g. the user or window manager)
14435 // could unfullscreen it again, and not all window managers honor
14436 // requests to fullscreen windows.
14438 // If you want to receive notification of the fullscreen state you
14439 // should either use the #ClutterStage::fullscreen and
14440 // #ClutterStage::unfullscreen signals, or use the notify signal
14441 // for the #ClutterStage:fullscreen-set property
14442 // <fullscreen>: %TRUE to to set the stage fullscreen
14443 void set_fullscreen(int fullscreen
) {
14444 clutter_stage_set_fullscreen(&this, fullscreen
);
14447 // Sets the key focus on @actor. An actor with key focus will receive
14448 // all the key events. If @actor is %NULL, the stage will receive
14450 // <actor>: the actor to set key focus to, or %NULL
14451 void set_key_focus(Actor
* actor
=null) {
14452 clutter_stage_set_key_focus(&this, actor
);
14455 // Sets the minimum size for a stage window, if the default backend
14456 // uses #ClutterStage inside a window
14458 // This is a convenience function, and it is equivalent to setting the
14459 // #ClutterActor:min-width and #ClutterActor:min-height on @stage
14461 // If the current size of @stage is smaller than the minimum size, the
14462 // @stage will be resized to the new @width and @height
14464 // This function has no effect if @stage is fullscreen
14465 // <width>: width, in pixels
14466 // <height>: height, in pixels
14467 void set_minimum_size(uint width
, uint height
) {
14468 clutter_stage_set_minimum_size(&this, width
, height
);
14471 // Sets whether per-actor motion events (and relative crossing
14472 // events) should be disabled or not.
14474 // The default is %TRUE.
14476 // If @enable is %FALSE the following events will not be delivered
14477 // to the actors children of @stage.
14480 // <listitem><para>#ClutterActor::motion-event</para></listitem>
14481 // <listitem><para>#ClutterActor::enter-event</para></listitem>
14482 // <listitem><para>#ClutterActor::leave-event</para></listitem>
14485 // The events will still be delivered to the #ClutterStage.
14487 // The main side effect of this function is that disabling the motion
14488 // events will disable picking to detect the #ClutterActor underneath
14489 // the pointer for each motion event. This is useful, for instance,
14490 // when dragging a #ClutterActor across the @stage: the actor underneath
14491 // the pointer is not going to change, so it's meaningless to perform
14493 // <enabled>: %TRUE to enable the motion events delivery, and %FALSE otherwise
14494 void set_motion_events_enabled(int enabled
) {
14495 clutter_stage_set_motion_events_enabled(&this, enabled
);
14498 // Sets whether the @stage should clear itself at the beginning
14499 // of each paint cycle or not.
14501 // Clearing the #ClutterStage can be a costly operation, especially
14502 // if the stage is always covered - for instance, in a full-screen
14503 // video player or in a game with a background texture.
14505 // <note><para>This setting is a hint; Clutter might discard this
14506 // hint depending on its internal state.</para></note>
14508 // <warning><para>If parts of the stage are visible and you disable
14509 // clearing you might end up with visual artifacts while painting the
14510 // contents of the stage.</para></warning>
14511 // <no_clear>: %TRUE if the @stage should not clear itself on every repaint cycle
14512 void set_no_clear_hint(int no_clear
) {
14513 clutter_stage_set_no_clear_hint(&this, no_clear
);
14516 // Sets the stage perspective. Using this function is not recommended
14517 // because it will disable Clutter's attempts to generate an
14518 // appropriate perspective based on the size of the stage.
14519 // <perspective>: A #ClutterPerspective
14520 void set_perspective(Perspective
* perspective
) {
14521 clutter_stage_set_perspective(&this, perspective
);
14524 // Sets whether motion events received between redraws should
14525 // be throttled or not. If motion events are throttled, those
14526 // events received by the windowing system between redraws will
14527 // be compressed so that only the last event will be propagated
14528 // to the @stage and its actors.
14530 // This function should only be used if you want to have all
14531 // the motion events delivered to your application code.
14532 // <throttle>: %TRUE to throttle motion events
14533 void set_throttle_motion_events(int throttle
) {
14534 clutter_stage_set_throttle_motion_events(&this, throttle
);
14537 // Sets the stage title.
14538 // <title>: A utf8 string for the stage windows title.
14539 void set_title(char* title
) {
14540 clutter_stage_set_title(&this, title
);
14543 // Sets whether the @stage should honour the #ClutterActor:opacity and
14544 // the alpha channel of the #ClutterStage:color
14545 // <use_alpha>: whether the stage should honour the opacity or the alpha channel of the stage color
14546 void set_use_alpha(int use_alpha
) {
14547 clutter_stage_set_use_alpha(&this, use_alpha
);
14550 // Sets whether the depth cueing effect on the stage should be enabled
14553 // Depth cueing is a 3D effect that makes actors farther away from the
14554 // viewing point less opaque, by fading them with the stage color.
14555 // The parameters of the GL fog used can be changed using the
14556 // clutter_stage_set_fog() function.
14557 // <fog>: %TRUE for enabling the depth cueing effect
14558 void set_use_fog(int fog
) {
14559 clutter_stage_set_use_fog(&this, fog
);
14562 // Sets if the stage is resizable by user interaction (e.g. via
14563 // window manager controls)
14564 // <resizable>: whether the stage should be user resizable.
14565 void set_user_resizable(int resizable
) {
14566 clutter_stage_set_user_resizable(&this, resizable
);
14568 // Shows the cursor on the stage window
14569 void show_cursor() {
14570 clutter_stage_show_cursor(&this);
14573 // The ::activate signal is emitted when the stage receives key focus
14574 // from the underlying window system.
14575 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_activate
;
14577 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14578 return super_
.signal_connect
!name(cb
, data
, cf
);
14581 ulong signal_connect(string name
:"activate", CB
:signal_activate
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14582 return signal_connect_data(&this, cast(char*)"activate",
14583 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14586 // The ::activate signal is emitted when the stage loses key focus
14587 // from the underlying window system.
14588 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_deactivate
;
14589 ulong signal_connect(string name
:"deactivate", CB
:signal_deactivate
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14590 return signal_connect_data(&this, cast(char*)"deactivate",
14591 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14594 // The ::delete-event signal is emitted when the user closes a
14595 // #ClutterStage window using the window controls.
14597 // Clutter by default will call clutter_main_quit() if @stage is
14598 // the default stage, and clutter_actor_destroy() for any other
14601 // It is possible to override the default behaviour by connecting
14602 // a new handler and returning %TRUE there.
14604 // <note>This signal is emitted only on Clutter backends that
14605 // embed #ClutterStage in native windows. It is not emitted for
14606 // backends that use a static frame buffer.</note>
14607 // <event>: a #ClutterEvent of type %CLUTTER_DELETE
14608 extern (C
) alias static c_int
function (Stage
* this_
, Event
* event
, void* user_data
=null) signal_delete_event
;
14609 ulong signal_connect(string name
:"delete-event", CB
:signal_delete_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14610 return signal_connect_data(&this, cast(char*)"delete-event",
14611 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14613 // The ::fullscreen signal is emitted when the stage is made fullscreen.
14614 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_fullscreen
;
14615 ulong signal_connect(string name
:"fullscreen", CB
:signal_fullscreen
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14616 return signal_connect_data(&this, cast(char*)"fullscreen",
14617 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14620 // The ::unfullscreen signal is emitted when the stage leaves a fullscreen
14622 extern (C
) alias static void function (Stage
* this_
, void* user_data
=null) signal_unfullscreen
;
14623 ulong signal_connect(string name
:"unfullscreen", CB
:signal_unfullscreen
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14624 return signal_connect_data(&this, cast(char*)"unfullscreen",
14625 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14629 // The #ClutterStageClass structure contains only private data
14630 struct StageClass
/* Version 0.1 */ {
14631 private GroupClass parent_class
;
14632 extern (C
) void function (Stage
* stage
) fullscreen
;
14633 extern (C
) void function (Stage
* stage
) unfullscreen
;
14634 extern (C
) void function (Stage
* stage
) activate
;
14635 extern (C
) void function (Stage
* stage
) deactivate
;
14636 extern (C
) int function (Stage
* stage
, Event
* event
) delete_event
;
14637 private void*[31] _padding_dummy
;
14640 // The #ClutterStageManager structure is private.
14641 struct StageManager
/* : GObject.Object */ /* Version 1.0 */ {
14642 alias method_parent
this;
14643 alias method_parent super_
;
14644 alias method_parent object
;
14645 GObject2
.Object method_parent
;
14648 // Returns the default #ClutterStageManager.
14650 // object is owned by Clutter and you should not reference or unreference it.
14651 // RETURNS: the default stage manager instance. The returned
14652 static StageManager
* get_default() {
14653 return clutter_stage_manager_get_default();
14656 // Returns the default #ClutterStage.
14658 // is owned by Clutter and you should never reference or unreference it
14659 // RETURNS: the default stage. The returned object
14660 Stage
* get_default_stage() {
14661 return clutter_stage_manager_get_default_stage(&this);
14664 // Lists all currently used stages.
14666 // allocated list of #ClutterStage objects. Use g_slist_free() to
14667 // deallocate it when done.
14668 // RETURNS: a newly
14669 GLib2
.SList
* /*new container*/ list_stages() {
14670 return clutter_stage_manager_list_stages(&this);
14673 // Lists all currently used stages.
14675 // to the internal list of #ClutterStage objects. The returned list
14676 // is owned by the #ClutterStageManager and should never be modified
14678 // RETURNS: a pointer
14679 GLib2
.SList
* peek_stages() {
14680 return clutter_stage_manager_peek_stages(&this);
14683 // Sets @stage as the default stage.
14684 // <stage>: a #ClutterStage
14685 void set_default_stage(Stage
* stage
) {
14686 clutter_stage_manager_set_default_stage(&this, stage
);
14689 // The ::stage-added signal is emitted each time a new #ClutterStage
14690 // has been added to the stage manager.
14691 // <stage>: the added stage
14692 extern (C
) alias static void function (StageManager
* this_
, Stage
* stage
, void* user_data
=null) signal_stage_added
;
14694 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14695 return super_
.signal_connect
!name(cb
, data
, cf
);
14698 ulong signal_connect(string name
:"stage-added", CB
:signal_stage_added
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14699 return signal_connect_data(&this, cast(char*)"stage-added",
14700 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14703 // The ::stage-removed signal is emitted each time a #ClutterStage
14704 // has been removed from the stage manager.
14705 // <stage>: the removed stage
14706 extern (C
) alias static void function (StageManager
* this_
, Stage
* stage
, void* user_data
=null) signal_stage_removed
;
14707 ulong signal_connect(string name
:"stage-removed", CB
:signal_stage_removed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
14708 return signal_connect_data(&this, cast(char*)"stage-removed",
14709 cast(GObject2
.Callback
)cb
, data
, null, cf
);
14714 // The #ClutterStageManagerClass structure contains only private data
14715 // and should be accessed using the provided API
14716 struct StageManagerClass
/* Version 1.0 */ {
14717 private GObject2
.ObjectClass parent_class
;
14718 extern (C
) void function (StageManager
* stage_manager
, Stage
* stage
) stage_added
;
14719 extern (C
) void function (StageManager
* stage_manager
, Stage
* stage
) stage_removed
;
14722 struct StagePrivate
{
14725 // Stage state masks
14726 enum StageState
/* Version 0.4 */ {
14731 // Event signalling a change in the #ClutterStage state.
14732 struct StageStateEvent
/* Version 0.2 */ {
14738 StageState changed_mask
, new_state
;
14742 // <structname>ClutterStageWindow</structname> is an opaque structure
14743 // whose members should not be accessed directly
14744 struct StageWindow
/* Version 0.8 */ {
14747 // The interface implemented by backends for stage windows
14748 struct StageWindowIface
/* Version 0.8 */ {
14749 private GObject2
.TypeInterface parent_iface
;
14750 // Unintrospectable functionp: get_wrapper() / ()
14751 extern (C
) Actor
* function (StageWindow
* stage_window
) get_wrapper
;
14752 // Unintrospectable functionp: set_title() / ()
14753 extern (C
) void function (StageWindow
* stage_window
, char* title
) set_title
;
14754 // Unintrospectable functionp: set_fullscreen() / ()
14755 extern (C
) void function (StageWindow
* stage_window
, int is_fullscreen
) set_fullscreen
;
14756 // Unintrospectable functionp: set_cursor_visible() / ()
14757 extern (C
) void function (StageWindow
* stage_window
, int cursor_visible
) set_cursor_visible
;
14758 // Unintrospectable functionp: set_user_resizable() / ()
14759 extern (C
) void function (StageWindow
* stage_window
, int is_resizable
) set_user_resizable
;
14760 // Unintrospectable functionp: realize() / ()
14761 extern (C
) int function (StageWindow
* stage_window
) realize
;
14762 // Unintrospectable functionp: unrealize() / ()
14763 extern (C
) void function (StageWindow
* stage_window
) unrealize
;
14764 // Unintrospectable functionp: show() / ()
14765 extern (C
) void function (StageWindow
* stage_window
, int do_raise
) show
;
14766 // Unintrospectable functionp: hide() / ()
14767 extern (C
) void function (StageWindow
* stage_window
) hide
;
14768 // Unintrospectable functionp: resize() / ()
14769 extern (C
) void function (StageWindow
* stage_window
, int width
, int height
) resize
;
14770 // Unintrospectable functionp: get_geometry() / ()
14771 extern (C
) void function (StageWindow
* stage_window
, Geometry
* geometry
) get_geometry
;
14772 // Unintrospectable functionp: get_pending_swaps() / ()
14773 extern (C
) int function (StageWindow
* stage_window
) get_pending_swaps
;
14774 // Unintrospectable functionp: add_redraw_clip() / ()
14775 extern (C
) void function (StageWindow
* stage_window
, Geometry
* stage_rectangle
) add_redraw_clip
;
14776 // Unintrospectable functionp: has_redraw_clips() / ()
14777 extern (C
) int function (StageWindow
* stage_window
) has_redraw_clips
;
14778 // Unintrospectable functionp: ignoring_redraw_clips() / ()
14779 extern (C
) int function (StageWindow
* stage_window
) ignoring_redraw_clips
;
14780 // Unintrospectable functionp: get_redraw_clip_bounds() / ()
14781 extern (C
) int function (StageWindow
* stage_window
, cairo
.RectangleInt
* clip
) get_redraw_clip_bounds
;
14782 // Unintrospectable functionp: set_accept_focus() / ()
14783 extern (C
) void function (StageWindow
* stage_window
, int accept_focus
) set_accept_focus
;
14784 // Unintrospectable functionp: redraw() / ()
14785 extern (C
) void function (StageWindow
* stage_window
) redraw
;
14786 // Unintrospectable functionp: get_active_framebuffer() / ()
14787 extern (C
) Cogl
.Framebuffer
* function (StageWindow
* stage_window
) get_active_framebuffer
;
14790 enum int Standby
= 269025040;
14791 enum int Start
= 269025050;
14793 // The <structname>ClutterState</structname> structure contains only
14794 // private data and should be accessed using the provided API
14795 struct State
/* : GObject.Object */ /* Version 1.4 */ {
14797 alias parent super_
;
14798 alias parent object
;
14799 GObject2
.Object parent
;
14800 private StatePrivate
* priv
;
14803 // Creates a new #ClutterState
14804 // RETURNS: the newly create #ClutterState instance
14805 static State
* /*new*/ new_() {
14806 return clutter_state_new();
14809 // Retrieves the #ClutterAnimator that is being used for transitioning
14810 // between the two states, if any has been set
14811 // RETURNS: a #ClutterAnimator instance, or %NULL
14812 // <source_state_name>: the name of a source state
14813 // <target_state_name>: the name of a target state
14814 Animator
* get_animator(char* source_state_name
, char* target_state_name
) {
14815 return clutter_state_get_animator(&this, source_state_name
, target_state_name
);
14818 // Queries the duration used for transitions between a source and
14819 // target state pair
14821 // The semantics for the query are the same as the semantics used for
14822 // setting the duration with clutter_state_set_duration()
14823 // RETURNS: the duration, in milliseconds
14824 // <source_state_name>: the name of the source state to get the duration of, or %NULL
14825 // <target_state_name>: the name of the source state to get the duration of, or %NULL
14826 uint get_duration(char* source_state_name
=null, char* target_state_name
=null) {
14827 return clutter_state_get_duration(&this, source_state_name
, target_state_name
);
14830 // Returns a list of pointers to opaque structures with accessor functions
14831 // that describe the keys added to an animator.
14833 // newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of
14834 // the returned list are owned by the #ClutterState and should not be
14835 // modified or freed. Use g_list_free() to free the resources allocated
14836 // by the returned list when done using it
14838 // <source_state_name>: the source transition name to query, or %NULL for all source states
14839 // <target_state_name>: the target transition name to query, or %NULL for all target states
14840 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
14841 // <property_name>: the property name to search for, or %NULL for all properties.
14842 GLib2
.List
* /*new container*/ get_keys(char* source_state_name
=null, char* target_state_name
=null, GObject2
.Object
* object
=null, char* property_name
=null) {
14843 return clutter_state_get_keys(&this, source_state_name
, target_state_name
, object
, property_name
);
14846 // Queries the currently set target state.
14848 // During a transition this function will return the target of the transition.
14850 // This function is useful when called from handlers of the
14851 // #ClutterState::completed signal.
14853 // is owned by the #ClutterState and should not be modified or freed
14854 // RETURNS: a string containing the target state. The returned string
14855 char* get_state() {
14856 return clutter_state_get_state(&this);
14859 // Gets a list of all the state names managed by this #ClutterState.
14861 // #GList of state names. The contents of the returned #GList are owned
14862 // by the #ClutterState and should not be modified or freed. Use
14863 // g_list_free() to free the resources allocated by the returned list when
14865 // RETURNS: a newly allocated
14866 GLib2
.List
* /*new container*/ get_states() {
14867 return clutter_state_get_states(&this);
14870 // Gets the timeline driving the #ClutterState
14872 // the state change animations. The returned timeline is owned
14873 // by the #ClutterState and it should not be unreferenced directly
14874 // RETURNS: the #ClutterTimeline that drives
14875 Timeline
* get_timeline() {
14876 return clutter_state_get_timeline(&this);
14879 // Removes all keys matching the search criteria passed in arguments.
14880 // <source_state_name>: the source state name to query, or %NULL for all source states
14881 // <target_state_name>: the target state name to query, or %NULL for all target states
14882 // <object>: the specific object instance to list keys for, or %NULL for all managed objects
14883 // <property_name>: the property name to search for, or %NULL for all properties.
14884 void remove_key(char* source_state_name
=null, char* target_state_name
=null, GObject2
.Object
* object
=null, char* property_name
=null) {
14885 clutter_state_remove_key(&this, source_state_name
, target_state_name
, object
, property_name
);
14888 // Unintrospectable method: set() / clutter_state_set()
14889 // Adds multiple keys to a named state of a #ClutterState instance, specifying
14890 // the easing mode and value a given property of an object should have at a
14891 // given progress of the animation.
14893 // The mode specified is the easing mode used when going to from the previous
14894 // key to the specified key.
14896 // For instance, the code below:
14899 // clutter_state_set (state, NULL, "hover",
14900 // button, "opacity", CLUTTER_LINEAR, 255,
14901 // button, "scale-x", CLUTTER_EASE_OUT_CUBIC, 1.2,
14902 // button, "scale-y", CLUTTER_EASE_OUT_CUBIC, 1.2,
14906 // will create a transition from any state (a @source_state_name or NULL is
14907 // treated as a wildcard) and a state named "hover"; the
14908 // <emphasis>button</emphasis> object will have the #ClutterActor:opacity
14909 // property animated to a value of 255 using %CLUTTER_LINEAR as the animation
14910 // mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties
14911 // animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation
14912 // mode. To change the state (and start the transition) you can use the
14913 // clutter_state_set_state() function:
14916 // clutter_state_set_state (state, "hover");
14919 // If a given object, state_name, property tuple already exist in the
14920 // #ClutterState instance, then the mode and value will be replaced with
14921 // the new specified values.
14923 // If a property name is prefixed with "delayed::" two additional
14924 // arguments per key are expected: a value relative to the full state time
14925 // to pause before transitioning and a similar value to pause after
14926 // transitioning, e.g.:
14929 // clutter_state_set (state, "hover", "toggled",
14930 // button, "delayed::scale-x", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
14931 // button, "delayed::scale-y", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
14935 // will pause for 20% of the duration of the transition before animating,
14936 // and 20% of the duration after animating.
14937 // <source_state_name>: the name of the source state keys are being added for
14938 // <target_state_name>: the name of the target state keys are being added for
14939 // <first_object>: a #GObject
14940 // <first_property_name>: a property of @first_object to specify a key for
14941 // <first_mode>: the id of the alpha function to use
14942 /+ Not available -- variadic methods unsupported - use the C function directly.
14943 alias clutter_state_set set; // Variadic
14946 // Specifies a #ClutterAnimator to be used when transitioning between
14947 // the two named states.
14949 // The @animator allows specifying a transition between the state that is
14950 // more elaborate than the basic transitions allowed by the tweening of
14951 // properties defined in the #ClutterState keys.
14953 // If @animator is %NULL it will unset an existing animator.
14955 // #ClutterState will take a reference on the passed @animator, if any
14956 // <source_state_name>: the name of a source state
14957 // <target_state_name>: the name of a target state
14958 // <animator>: a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator
14959 void set_animator(char* source_state_name
, char* target_state_name
, Animator
* animator
=null) {
14960 clutter_state_set_animator(&this, source_state_name
, target_state_name
, animator
);
14963 // Sets the duration of a transition.
14965 // If both state names are %NULL the default duration for @state is set.
14967 // If only @target_state_name is specified, the passed @duration becomes
14968 // the default duration for transitions to the target state.
14970 // If both states names are specified, the passed @duration only applies
14971 // to the specified transition.
14972 // <source_state_name>: the name of the source state, or %NULL
14973 // <target_state_name>: the name of the target state, or %NULL
14974 // <duration>: the duration of the transition, in milliseconds
14975 void set_duration(char* source_state_name
, char* target_state_name
, uint duration
) {
14976 clutter_state_set_duration(&this, source_state_name
, target_state_name
, duration
);
14979 // Sets one specific end key for a state name, @object, @property_name
14982 // chaining of multiple calls
14983 // RETURNS: the #ClutterState instance, allowing
14984 // <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.
14985 // <target_state_name>: the name of the transition to set a key value for.
14986 // <object>: the #GObject to set a key for
14987 // <property_name>: the property to set a key for
14988 // <mode>: the id of the alpha function to use
14989 // <value>: the value for property_name of object in state_name
14990 // <pre_delay>: relative time of the transition to be idle in the beginning of the transition
14991 // <post_delay>: relative time of the transition to be idle in the end of the transition
14992 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
) {
14993 return clutter_state_set_key(&this, source_state_name
, target_state_name
, object
, property_name
, mode
, value
, pre_delay
, post_delay
);
14996 // Change the current state of #ClutterState to @target_state_name.
14998 // The state will animate during its transition, see
14999 // #clutter_state_warp_to_state for animation-free state switching.
15001 // Setting a %NULL state will stop the current animation and unset
15002 // the current state, but keys will be left intact.
15004 // state transition. The returned timeline is owned by the #ClutterState
15005 // and it should not be unreferenced
15006 // RETURNS: the #ClutterTimeline that drives the
15007 // <target_state_name>: the state to transition to
15008 Timeline
* set_state(char* target_state_name
) {
15009 return clutter_state_set_state(&this, target_state_name
);
15012 // Change to the specified target state immediately with no animation.
15014 // See clutter_state_set_state().
15016 // state transition. The returned timeline is owned by the #ClutterState
15017 // and it should not be unreferenced
15018 // RETURNS: the #ClutterTimeline that drives the
15019 // <target_state_name>: the state to transition to
15020 Timeline
* warp_to_state(char* target_state_name
) {
15021 return clutter_state_warp_to_state(&this, target_state_name
);
15024 // The ::completed signal is emitted when a #ClutterState reaches
15025 // the target state specified by clutter_state_set_state() or
15026 // clutter_state_warp_to_state().
15027 extern (C
) alias static void function (State
* this_
, void* user_data
=null) signal_completed
;
15029 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15030 return super_
.signal_connect
!name(cb
, data
, cf
);
15033 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15034 return signal_connect_data(&this, cast(char*)"completed",
15035 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15040 // The <structname>ClutterStateClass</structname> structure contains
15041 // only private data
15042 struct StateClass
/* Version 1.4 */ {
15043 private GObject2
.ObjectClass parent_class
;
15044 extern (C
) void function (State
* state
) completed
;
15045 private void*[8] _padding_dummy
;
15049 // <structname>ClutterStateKey</structname> is an opaque structure whose
15050 // members cannot be accessed directly
15051 struct StateKey
/* Version 1.4 */ {
15053 // Retrieves the easing mode used for @state_key.
15054 // RETURNS: the mode of a #ClutterStateKey
15055 c_ulong
get_mode() {
15056 return clutter_state_key_get_mode(&this);
15059 // Retrieves the object instance this #ClutterStateKey applies to.
15060 // RETURNS: the object this state key applies to.
15061 GObject2
.Object
* get_object() {
15062 return clutter_state_key_get_object(&this);
15065 // Retrieves the duration of the pause after transitioning is complete
15066 // as a fraction of the total transition time.
15067 // RETURNS: the post delay, used after doing the transition.
15068 double get_post_delay() {
15069 return clutter_state_key_get_post_delay(&this);
15072 // Retrieves the pause before transitioning starts as a fraction of
15073 // the total transition time.
15074 // RETURNS: the pre delay used before starting the transition.
15075 double get_pre_delay() {
15076 return clutter_state_key_get_pre_delay(&this);
15079 // Retrieves the name of the property this #ClutterStateKey applies to
15081 // by the #ClutterStateKey and should never be modified or freed
15082 // RETURNS: the name of the property. The returned string is owned
15083 char* get_property_name() {
15084 return clutter_state_key_get_property_name(&this);
15087 // Retrieves the #GType of the property a key applies to
15089 // You can use this type to initialize the #GValue to pass to
15090 // clutter_state_key_get_value()
15091 // RETURNS: the #GType of the property
15092 Type
get_property_type() {
15093 return clutter_state_key_get_property_type(&this);
15096 // Retrieves the name of the source state of the @state_key
15098 // if this is the generic state key for the given property when
15099 // transitioning to the target state. The returned string is owned
15100 // by the #ClutterStateKey and should never be modified or freed
15101 // RETURNS: the name of the source state for this key, or %NULL
15102 char* get_source_state_name() {
15103 return clutter_state_key_get_source_state_name(&this);
15106 // Get the name of the source state this #ClutterStateKey contains,
15107 // or NULL if this is the generic state key for the given property
15108 // when transitioning to the target state.
15110 // the key is generic
15111 // RETURNS: the name of the source state for this key, or NULL if
15112 char* get_target_state_name() {
15113 return clutter_state_key_get_target_state_name(&this);
15116 // Retrieves a copy of the value for a #ClutterStateKey.
15118 // The #GValue needs to be already initialized for the value type
15119 // of the property or to a type that allow transformation from the value
15120 // type of the key.
15122 // Use g_value_unset() when done.
15124 // and %FALSE otherwise
15125 // RETURNS: %TRUE if the value was successfully retrieved,
15126 // <value>: a #GValue initialized with the correct type for the @state_key
15127 int get_value(GObject2
.Value
* value
) {
15128 return clutter_state_key_get_value(&this, value
);
15132 struct StatePrivate
{
15135 // Named colors, for accessing global colors defined by Clutter
15136 enum StaticColor
/* Version 1.6 */ {
15161 CHOCOLATE_LIGHT
= 24,
15162 CHOCOLATE_DARK
= 25,
15164 CHAMELEON_LIGHT
= 27,
15165 CHAMELEON_DARK
= 28,
15167 SKY_BLUE_LIGHT
= 30,
15168 SKY_BLUE_DARK
= 31,
15173 SCARLET_RED_LIGHT
= 36,
15174 SCARLET_RED_DARK
= 37,
15183 enum int StickyKeys_Enable
= 65141;
15184 enum int Stop
= 269025064;
15185 enum int Subtitle
= 269025178;
15186 enum int Super_L
= 65515;
15187 enum int Super_R
= 65516;
15188 enum int Support
= 269025150;
15189 enum int Suspend
= 269025191;
15191 // The <structname>ClutterSwipeAction</structname> structure contains
15192 // only private data and should be accessed using the provided API
15193 struct SwipeAction
/* : GestureAction */ /* Version 1.8 */ {
15194 alias parent_instance
this;
15195 alias parent_instance super_
;
15196 alias parent_instance gestureaction
;
15197 GestureAction parent_instance
;
15198 private SwipeActionPrivate
* priv
;
15201 // Creates a new #ClutterSwipeAction instance
15202 // RETURNS: the newly created #ClutterSwipeAction
15203 static SwipeAction
* new_() {
15204 return clutter_swipe_action_new();
15207 // The ::swept signal is emitted when a swipe gesture is recognized on the
15209 // <actor>: the #ClutterActor attached to the @action
15210 // <direction>: the main direction of the swipe gesture
15211 extern (C
) alias static void function (SwipeAction
* this_
, Actor
* actor
, SwipeDirection
* direction
, void* user_data
=null) signal_swept
;
15213 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15214 return super_
.signal_connect
!name(cb
, data
, cf
);
15217 ulong signal_connect(string name
:"swept", CB
:signal_swept
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
15218 return signal_connect_data(&this, cast(char*)"swept",
15219 cast(GObject2
.Callback
)cb
, data
, null, cf
);
15224 // The <structname>ClutterSwipeActionClass</structname> structure contains
15225 // only private data.
15226 struct SwipeActionClass
/* Version 1.8 */ {
15227 private GestureActionClass parent_class
;
15228 extern (C
) void function (SwipeAction
* action
, Actor
* actor
, SwipeDirection direction
) swept
;
15229 extern (C
) void function () _clutter_swipe_action1
;
15230 extern (C
) void function () _clutter_swipe_action2
;
15231 extern (C
) void function () _clutter_swipe_action3
;
15232 extern (C
) void function () _clutter_swipe_action4
;
15233 extern (C
) void function () _clutter_swipe_action5
;
15234 extern (C
) void function () _clutter_swipe_action6
;
15235 extern (C
) void function () _clutter_swipe_action7
;
15238 struct SwipeActionPrivate
{
15241 // The main direction of the swipe gesture
15242 enum SwipeDirection
/* Version 1.8 */ {
15248 enum int Switch_VT_1
= 269024769;
15249 enum int Switch_VT_10
= 269024778;
15250 enum int Switch_VT_11
= 269024779;
15251 enum int Switch_VT_12
= 269024780;
15252 enum int Switch_VT_2
= 269024770;
15253 enum int Switch_VT_3
= 269024771;
15254 enum int Switch_VT_4
= 269024772;
15255 enum int Switch_VT_5
= 269024773;
15256 enum int Switch_VT_6
= 269024774;
15257 enum int Switch_VT_7
= 269024775;
15258 enum int Switch_VT_8
= 269024776;
15259 enum int Switch_VT_9
= 269024777;
15260 enum int Sys_Req
= 65301;
15262 enum int THORN
= 222;
15263 enum int Tab
= 65289;
15264 // The alignment policies available on each axis of the #ClutterTableLayout
15265 enum TableAlignment
/* Version 1.4 */ {
15271 // The #ClutterTableLayout structure contains only private data
15272 // and should be accessed using the provided API
15273 struct TableLayout
/* : LayoutManager */ /* Version 1.4 */ {
15274 alias parent_instance
this;
15275 alias parent_instance super_
;
15276 alias parent_instance layoutmanager
;
15277 LayoutManager parent_instance
;
15278 private TableLayoutPrivate
* priv
;
15281 // Creates a new #ClutterTableLayout layout manager
15282 // RETURNS: the newly created #ClutterTableLayout
15283 static TableLayout
* new_() {
15284 return clutter_table_layout_new();
15287 // Retrieves the horizontal and vertical alignment policies for @actor
15288 // as set using clutter_table_layout_pack() or
15289 // clutter_table_layout_set_alignment().
15290 // <actor>: a #ClutterActor child of @layout
15291 // <x_align>: return location for the horizontal alignment policy
15292 // <y_align>: return location for the vertical alignment policy
15293 void get_alignment(Actor
* actor
, /*out*/ TableAlignment
* x_align
, /*out*/ TableAlignment
* y_align
) {
15294 clutter_table_layout_get_alignment(&this, actor
, x_align
, y_align
);
15297 // Retrieve the current number of columns in @layout
15298 // RETURNS: the number of columns
15299 int get_column_count() {
15300 return clutter_table_layout_get_column_count(&this);
15303 // Retrieves the spacing set using clutter_table_layout_set_column_spacing()
15304 // RETURNS: the spacing between columns of the #ClutterTableLayout
15305 uint get_column_spacing() {
15306 return clutter_table_layout_get_column_spacing(&this);
15309 // Retrieves the duration set using clutter_table_layout_set_easing_duration()
15310 // RETURNS: the duration of the animations, in milliseconds
15311 uint get_easing_duration() {
15312 return clutter_table_layout_get_easing_duration(&this);
15315 // Retrieves the easing mode set using clutter_table_layout_set_easing_mode()
15316 // RETURNS: an easing mode
15317 c_ulong
get_easing_mode() {
15318 return clutter_table_layout_get_easing_mode(&this);
15321 // Retrieves the horizontal and vertical expand policies for @actor
15322 // as set using clutter_table_layout_pack() or clutter_table_layout_set_expand()
15323 // <actor>: a #ClutterActor child of @layout
15324 // <x_expand>: return location for the horizontal expand policy
15325 // <y_expand>: return location for the vertical expand policy
15326 void get_expand(Actor
* actor
, /*out*/ int* x_expand
, /*out*/ int* y_expand
) {
15327 clutter_table_layout_get_expand(&this, actor
, x_expand
, y_expand
);
15330 // Retrieves the horizontal and vertical fill policies for @actor
15331 // as set using clutter_table_layout_pack() or clutter_table_layout_set_fill()
15332 // <actor>: a #ClutterActor child of @layout
15333 // <x_fill>: return location for the horizontal fill policy
15334 // <y_fill>: return location for the vertical fill policy
15335 void get_fill(Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
) {
15336 clutter_table_layout_get_fill(&this, actor
, x_fill
, y_fill
);
15339 // Retrieve the current number rows in the @layout
15340 // RETURNS: the number of rows
15341 int get_row_count() {
15342 return clutter_table_layout_get_row_count(&this);
15345 // Retrieves the spacing set using clutter_table_layout_set_row_spacing()
15346 // RETURNS: the spacing between rows of the #ClutterTableLayout
15347 uint get_row_spacing() {
15348 return clutter_table_layout_get_row_spacing(&this);
15351 // Retrieves the row and column span for @actor as set using
15352 // clutter_table_layout_pack() or clutter_table_layout_set_span()
15353 // <actor>: a #ClutterActor child of @layout
15354 // <column_span>: return location for the col span
15355 // <row_span>: return location for the row span
15356 void get_span(Actor
* actor
, /*out*/ int* column_span
, /*out*/ int* row_span
) {
15357 clutter_table_layout_get_span(&this, actor
, column_span
, row_span
);
15360 // Retrieves whether @layout should animate changes in the layout properties
15362 // Since clutter_table_layout_set_use_animations()
15363 // RETURNS: %TRUE if the animations should be used, %FALSE otherwise
15364 int get_use_animations() {
15365 return clutter_table_layout_get_use_animations(&this);
15368 // Packs @actor inside the #ClutterContainer associated to @layout
15369 // at the given row and column.
15370 // <actor>: a #ClutterActor
15371 // <column>: the column the @actor should be put, or -1 to append
15372 // <row>: the row the @actor should be put, or -1 to append
15373 void pack(Actor
* actor
, int column
, int row
) {
15374 clutter_table_layout_pack(&this, actor
, column
, row
);
15377 // Sets the horizontal and vertical alignment policies for @actor
15379 // <actor>: a #ClutterActor child of @layout
15380 // <x_align>: Horizontal alignment policy for @actor
15381 // <y_align>: Vertical alignment policy for @actor
15382 void set_alignment(Actor
* actor
, TableAlignment x_align
, TableAlignment y_align
) {
15383 clutter_table_layout_set_alignment(&this, actor
, x_align
, y_align
);
15386 // Sets the spacing between columns of @layout
15387 // <spacing>: the spacing between columns of the layout, in pixels
15388 void set_column_spacing(uint spacing
) {
15389 clutter_table_layout_set_column_spacing(&this, spacing
);
15392 // Sets the duration of the animations used by @layout when animating changes
15393 // in the layout properties
15395 // Use clutter_table_layout_set_use_animations() to enable and disable the
15397 // <msecs>: the duration of the animations, in milliseconds
15398 void set_easing_duration(uint msecs
) {
15399 clutter_table_layout_set_easing_duration(&this, msecs
);
15402 // Sets the easing mode to be used by @layout when animating changes in layout
15405 // Use clutter_table_layout_set_use_animations() to enable and disable the
15407 // <mode>: an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
15408 void set_easing_mode(c_ulong mode
) {
15409 clutter_table_layout_set_easing_mode(&this, mode
);
15412 // Sets the horizontal and vertical expand policies for @actor
15414 // <actor>: a #ClutterActor child of @layout
15415 // <x_expand>: whether @actor should allocate extra space horizontally
15416 // <y_expand>: whether @actor should allocate extra space vertically
15417 void set_expand(Actor
* actor
, int x_expand
, int y_expand
) {
15418 clutter_table_layout_set_expand(&this, actor
, x_expand
, y_expand
);
15421 // Sets the horizontal and vertical fill policies for @actor
15423 // <actor>: a #ClutterActor child of @layout
15424 // <x_fill>: whether @actor should fill horizontally the allocated space
15425 // <y_fill>: whether @actor should fill vertically the allocated space
15426 void set_fill(Actor
* actor
, int x_fill
, int y_fill
) {
15427 clutter_table_layout_set_fill(&this, actor
, x_fill
, y_fill
);
15430 // Sets the spacing between rows of @layout
15431 // <spacing>: the spacing between rows of the layout, in pixels
15432 void set_row_spacing(uint spacing
) {
15433 clutter_table_layout_set_row_spacing(&this, spacing
);
15436 // Sets the row and column span for @actor
15438 // <actor>: a #ClutterActor child of @layout
15439 // <column_span>: Column span for @actor
15440 // <row_span>: Row span for @actor
15441 void set_span(Actor
* actor
, int column_span
, int row_span
) {
15442 clutter_table_layout_set_span(&this, actor
, column_span
, row_span
);
15445 // Sets whether @layout should animate changes in the layout properties
15447 // The duration of the animations is controlled by
15448 // clutter_table_layout_set_easing_duration(); the easing mode to be used
15449 // by the animations is controlled by clutter_table_layout_set_easing_mode()
15450 // <animate>: %TRUE if the @layout should use animations
15451 void set_use_animations(int animate
) {
15452 clutter_table_layout_set_use_animations(&this, animate
);
15457 // The #ClutterTableLayoutClass structure contains only private
15458 // data and should be accessed using the provided API
15459 struct TableLayoutClass
/* Version 1.4 */ {
15460 private LayoutManagerClass parent_class
;
15463 struct TableLayoutPrivate
{
15466 enum int Tabovedot
= 16785002;
15467 enum int TaskPane
= 269025151;
15468 enum int Tcaron
= 427;
15469 enum int Tcedilla
= 478;
15470 enum int Terminal
= 269025152;
15471 enum int Terminate_Server
= 65237;
15472 // The #ClutterText struct contains only private data.
15473 struct Text
/* : Actor */ /* Version 1.0 */ {
15474 alias parent_instance
this;
15475 alias parent_instance super_
;
15476 alias parent_instance actor
;
15477 Actor parent_instance
;
15478 private TextPrivate
* priv
;
15481 // Creates a new #ClutterText actor. This actor can be used to
15482 // display and edit text.
15483 // RETURNS: the newly created #ClutterText actor
15484 static Text
* new_() {
15485 return clutter_text_new();
15488 // Creates a new #ClutterText actor, using @font_name as the font
15489 // description; @text will be used to set the contents of the actor;
15490 // and @color will be used as the color to render @text.
15492 // This function is equivalent to calling clutter_text_new(),
15493 // clutter_text_set_font_name(), clutter_text_set_text() and
15494 // clutter_text_set_color().
15495 // RETURNS: the newly created #ClutterText actor
15496 // <font_name>: a string with a font description
15497 // <text>: the contents of the actor
15498 // <color>: the color to be used to render @text
15499 static Text
* new_full(char* font_name
, char* text
, Color
* color
) {
15500 return clutter_text_new_full(font_name
, text
, color
);
15503 // Creates a new #ClutterText actor, using @font_name as the font
15504 // description; @text will be used to set the contents of the actor.
15506 // This function is equivalent to calling clutter_text_new(),
15507 // clutter_text_set_font_name(), and clutter_text_set_text().
15508 // RETURNS: the newly created #ClutterText actor
15509 // <font_name>: a string with a font description
15510 // <text>: the contents of the actor
15511 static Text
* new_with_text(char* font_name
, char* text
) {
15512 return clutter_text_new_with_text(font_name
, text
);
15515 // Emits the #ClutterText::activate signal, if @self has been set
15516 // as activatable using clutter_text_set_activatable().
15518 // This function can be used to emit the ::activate signal inside
15519 // a #ClutterActor::captured-event or #ClutterActor::key-press-event
15520 // signal handlers before the default signal handler for the
15521 // #ClutterText is invoked.
15523 // and %FALSE otherwise
15524 // RETURNS: %TRUE if the ::activate signal has been emitted,
15526 return clutter_text_activate(&this);
15529 // Deletes @n_chars inside a #ClutterText actor, starting from the
15530 // current cursor position.
15531 // <n_chars>: the number of characters to delete
15532 void delete_chars(uint n_chars
) {
15533 clutter_text_delete_chars(&this, n_chars
);
15536 // Deletes the currently selected text
15538 // This function is only useful in subclasses of #ClutterText
15540 // is empty, and %FALSE otherwise
15541 // RETURNS: %TRUE if text was deleted or if the text actor
15542 int delete_selection() {
15543 return clutter_text_delete_selection(&this);
15546 // Deletes the text inside a #ClutterText actor between @start_pos
15549 // The starting and ending positions are expressed in characters,
15551 // <start_pos>: starting position
15552 // <end_pos>: ending position
15553 void delete_text(ssize_t start_pos
, ssize_t end_pos
) {
15554 clutter_text_delete_text(&this, start_pos
, end_pos
);
15557 // Retrieves whether a #ClutterText is activatable or not.
15558 // RETURNS: %TRUE if the actor is activatable
15559 int get_activatable() {
15560 return clutter_text_get_activatable(&this);
15563 // Gets the attribute list that was set on the #ClutterText actor
15564 // clutter_text_set_attributes(), if any.
15566 // returned value is owned by the #ClutterText and should not be unreferenced.
15567 // RETURNS: the attribute list, or %NULL if none was set. The
15568 Pango
.AttrList
* get_attributes() {
15569 return clutter_text_get_attributes(&this);
15572 // Retrieves the contents of the #ClutterText actor between
15573 // @start_pos and @end_pos, but not including @end_pos.
15575 // The positions are specified in characters, not in bytes.
15577 // the text actor between the specified positions. Use g_free()
15578 // to free the resources when done
15579 // RETURNS: a newly allocated string with the contents of
15580 // <start_pos>: start of text, in characters
15581 // <end_pos>: end of text, in characters
15582 char* /*new*/ get_chars(ssize_t start_pos
, ssize_t end_pos
) {
15583 return clutter_text_get_chars(&this, start_pos
, end_pos
);
15586 // Retrieves the text color as set by clutter_text_set_color().
15587 // <color>: return location for a #ClutterColor
15588 void get_color(/*out*/ Color
* color
) {
15589 clutter_text_get_color(&this, color
);
15592 // Retrieves the color of the cursor of a #ClutterText actor.
15593 // <color>: return location for a #ClutterColor
15594 void get_cursor_color(/*out*/ Color
* color
) {
15595 clutter_text_get_cursor_color(&this, color
);
15598 // Retrieves the cursor position.
15599 // RETURNS: the cursor position, in characters
15600 int get_cursor_position() {
15601 return clutter_text_get_cursor_position(&this);
15604 // Retrieves the size of the cursor of a #ClutterText actor.
15605 // RETURNS: the size of the cursor, in pixels
15606 uint get_cursor_size() {
15607 return clutter_text_get_cursor_size(&this);
15610 // Retrieves whether the cursor of a #ClutterText actor is visible.
15611 // RETURNS: %TRUE if the cursor is visible
15612 int get_cursor_visible() {
15613 return clutter_text_get_cursor_visible(&this);
15616 // Retrieves whether a #ClutterText is editable or not.
15617 // RETURNS: %TRUE if the actor is editable
15618 int get_editable() {
15619 return clutter_text_get_editable(&this);
15622 // Returns the ellipsizing position of a #ClutterText actor, as
15623 // set by clutter_text_set_ellipsize().
15624 // RETURNS: #PangoEllipsizeMode
15625 Pango
.EllipsizeMode
get_ellipsize() {
15626 return clutter_text_get_ellipsize(&this);
15629 // Retrieves the #PangoFontDescription used by @self
15631 // by the #ClutterText actor and it should not be modified or freed
15632 // RETURNS: a #PangoFontDescription. The returned value is owned
15633 Pango
.FontDescription
* /*new*/ get_font_description() {
15634 return clutter_text_get_font_description(&this);
15637 // Retrieves the font name as set by clutter_text_set_font_name().
15639 // string is owned by the #ClutterText actor and should not be
15640 // modified or freed
15641 // RETURNS: a string containing the font name. The returned
15642 char* get_font_name() {
15643 return clutter_text_get_font_name(&this);
15646 // Retrieves whether the #ClutterText actor should justify its contents
15647 // on both margins.
15648 // RETURNS: %TRUE if the text should be justified
15649 int get_justify() {
15650 return clutter_text_get_justify(&this);
15653 // Retrieves the current #PangoLayout used by a #ClutterText actor.
15655 // the #ClutterText actor and should not be modified or freed
15656 // RETURNS: a #PangoLayout. The returned object is owned by
15657 Pango
.Layout
* get_layout() {
15658 return clutter_text_get_layout(&this);
15661 // Obtains the coordinates where the #ClutterText will draw the #PangoLayout
15662 // representing the text.
15663 // <x>: location to store X offset of layout, or %NULL
15664 // <y>: location to store Y offset of layout, or %NULL
15665 void get_layout_offsets(/*out*/ int* x
, /*out*/ int* y
) {
15666 clutter_text_get_layout_offsets(&this, x
, y
);
15669 // Retrieves the alignment of a #ClutterText, as set by
15670 // clutter_text_set_line_alignment().
15671 // RETURNS: a #PangoAlignment
15672 Pango
.Alignment
get_line_alignment() {
15673 return clutter_text_get_line_alignment(&this);
15676 // Retrieves the value set using clutter_text_set_line_wrap().
15679 // RETURNS: %TRUE if the #ClutterText actor should wrap
15680 int get_line_wrap() {
15681 return clutter_text_get_line_wrap(&this);
15684 // Retrieves the line wrap mode used by the #ClutterText actor.
15686 // See clutter_text_set_line_wrap_mode ().
15687 // RETURNS: the wrap mode used by the #ClutterText
15688 Pango
.WrapMode
get_line_wrap_mode() {
15689 return clutter_text_get_line_wrap_mode(&this);
15692 // Gets the maximum length of text that can be set into a text actor.
15694 // See clutter_text_set_max_length().
15695 // RETURNS: the maximum number of characters.
15696 int get_max_length() {
15697 return clutter_text_get_max_length(&this);
15700 // Retrieves the character to use in place of the actual text
15701 // as set by clutter_text_set_password_char().
15703 // character is not set
15704 // RETURNS: a Unicode character or 0 if the password
15705 dchar get_password_char() {
15706 return clutter_text_get_password_char(&this);
15709 // Retrieves whether a #ClutterText is selectable or not.
15710 // RETURNS: %TRUE if the actor is selectable
15711 int get_selectable() {
15712 return clutter_text_get_selectable(&this);
15715 // Retrieves the color of selected text of a #ClutterText actor.
15716 // <color>: return location for a #ClutterColor
15717 void get_selected_text_color(/*out*/ Color
* color
) {
15718 clutter_text_get_selected_text_color(&this, color
);
15721 // Retrieves the currently selected text.
15723 // selected text, or %NULL. Use g_free() to free the returned
15725 // RETURNS: a newly allocated string containing the currently
15726 char* /*new*/ get_selection() {
15727 return clutter_text_get_selection(&this);
15730 // Retrieves the other end of the selection of a #ClutterText actor,
15731 // in characters from the current cursor position.
15732 // RETURNS: the position of the other end of the selection
15733 int get_selection_bound() {
15734 return clutter_text_get_selection_bound(&this);
15737 // Retrieves the color of the selection of a #ClutterText actor.
15738 // <color>: return location for a #ClutterColor
15739 void get_selection_color(/*out*/ Color
* color
) {
15740 clutter_text_get_selection_color(&this, color
);
15743 // Retrieves whether the #ClutterText actor is in single line mode.
15744 // RETURNS: %TRUE if the #ClutterText actor is in single line mode
15745 int get_single_line_mode() {
15746 return clutter_text_get_single_line_mode(&this);
15749 // Retrieves a pointer to the current contents of a #ClutterText
15752 // If you need a copy of the contents for manipulating, either
15753 // use g_strdup() on the returned string, or use:
15756 // copy = clutter_text_get_chars (text, 0, -1);
15759 // Which will return a newly allocated string.
15761 // If the #ClutterText actor is empty, this function will return
15762 // an empty string, and not %NULL.
15764 // string is owned by the #ClutterText actor and should never be modified
15766 // RETURNS: the contents of the actor. The returned
15768 return clutter_text_get_text(&this);
15771 // Retrieves whether the contents of the #ClutterText actor should be
15772 // parsed for the Pango text markup.
15773 // RETURNS: %TRUE if the contents will be parsed for markup
15774 int get_use_markup() {
15775 return clutter_text_get_use_markup(&this);
15778 // Inserts @text into a #ClutterActor at the given position.
15780 // If @position is a negative number, the text will be appended
15781 // at the end of the current contents of the #ClutterText.
15783 // The position is expressed in characters, not in bytes.
15784 // <text>: the text to be inserted
15785 // <position>: the position of the insertion, or -1
15786 void insert_text(char* text
, ssize_t position
) {
15787 clutter_text_insert_text(&this, text
, position
);
15790 // Inserts @wc at the current cursor position of a
15791 // #ClutterText actor.
15792 // <wc>: a Unicode character
15793 void insert_unichar(dchar wc
) {
15794 clutter_text_insert_unichar(&this, wc
);
15797 // Retrieves the coordinates of the given @position.
15798 // RETURNS: %TRUE if the conversion was successful
15799 // <position>: position in characters
15800 // <x>: return location for the X coordinate, or %NULL
15801 // <y>: return location for the Y coordinate, or %NULL
15802 // <line_height>: return location for the line height, or %NULL
15803 int position_to_coords(int position
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* line_height
) {
15804 return clutter_text_position_to_coords(&this, position
, x
, y
, line_height
);
15807 // Sets whether a #ClutterText actor should be activatable.
15809 // An activatable #ClutterText actor will emit the #ClutterText::activate
15810 // signal whenever the 'Enter' (or 'Return') key is pressed; if it is not
15811 // activatable, a new line will be appended to the current content.
15813 // An activatable #ClutterText must also be set as editable using
15814 // clutter_text_set_editable().
15815 // <activatable>: whether the #ClutterText actor should be activatable
15816 void set_activatable(int activatable
) {
15817 clutter_text_set_activatable(&this, activatable
);
15820 // Sets the attributes list that are going to be applied to the
15821 // #ClutterText contents.
15823 // The #ClutterText actor will take a reference on the #PangoAttrList
15824 // passed to this function.
15825 // <attrs>: a #PangoAttrList or %NULL to unset the attributes
15826 void set_attributes(Pango
.AttrList
* attrs
) {
15827 clutter_text_set_attributes(&this, attrs
);
15830 // Sets the color of the contents of a #ClutterText actor.
15832 // The overall opacity of the #ClutterText actor will be the
15833 // result of the alpha value of @color and the composited
15834 // opacity of the actor itself on the scenegraph, as returned
15835 // by clutter_actor_get_paint_opacity().
15836 // <color>: a #ClutterColor
15837 void set_color(Color
* color
) {
15838 clutter_text_set_color(&this, color
);
15841 // Sets the color of the cursor of a #ClutterText actor.
15843 // If @color is %NULL, the cursor color will be the same as the
15845 // <color>: the color of the cursor, or %NULL to unset it
15846 void set_cursor_color(Color
* color
) {
15847 clutter_text_set_cursor_color(&this, color
);
15850 // Sets the cursor of a #ClutterText actor at @position.
15852 // The position is expressed in characters, not in bytes.
15853 // <position>: the new cursor position, in characters
15854 void set_cursor_position(int position
) {
15855 clutter_text_set_cursor_position(&this, position
);
15858 // Sets the size of the cursor of a #ClutterText. The cursor
15859 // will only be visible if the #ClutterText:cursor-visible property
15860 // is set to %TRUE.
15861 // <size>: the size of the cursor, in pixels, or -1 to use the default value
15862 void set_cursor_size(int size
) {
15863 clutter_text_set_cursor_size(&this, size
);
15866 // Sets whether the cursor of a #ClutterText actor should be
15869 // The color of the cursor will be the same as the text color
15870 // unless clutter_text_set_cursor_color() has been called.
15872 // The size of the cursor can be set using clutter_text_set_cursor_size().
15874 // The position of the cursor can be changed programmatically using
15875 // clutter_text_set_cursor_position().
15876 // <cursor_visible>: whether the cursor should be visible
15877 void set_cursor_visible(int cursor_visible
) {
15878 clutter_text_set_cursor_visible(&this, cursor_visible
);
15881 // Sets whether the #ClutterText actor should be editable.
15883 // An editable #ClutterText with key focus set using
15884 // clutter_actor_grab_key_focus() or clutter_stage_set_key_focus()
15885 // will receive key events and will update its contents accordingly.
15886 // <editable>: whether the #ClutterText should be editable
15887 void set_editable(int editable
) {
15888 clutter_text_set_editable(&this, editable
);
15891 // Sets the mode used to ellipsize (add an ellipsis: "...") to the
15892 // text if there is not enough space to render the entire contents
15893 // of a #ClutterText actor
15894 // <mode>: a #PangoEllipsizeMode
15895 void set_ellipsize(Pango
.EllipsizeMode mode
) {
15896 clutter_text_set_ellipsize(&this, mode
);
15899 // Sets @font_desc as the font description for a #ClutterText
15901 // The #PangoFontDescription is copied by the #ClutterText actor
15902 // so you can safely call pango_font_description_free() on it after
15903 // calling this function.
15904 // <font_desc>: a #PangoFontDescription
15905 void set_font_description(Pango
.FontDescription
* font_desc
) {
15906 clutter_text_set_font_description(&this, font_desc
);
15909 // Sets the font used by a #ClutterText. The @font_name string
15910 // must either be %NULL, which means that the font name from the
15911 // default #ClutterBackend will be used; or be something that can
15912 // be parsed by the pango_font_description_from_string() function,
15916 // clutter_text_set_font_name (text, "Sans 10pt");
15917 // clutter_text_set_font_name (text, "Serif 16px");
15918 // clutter_text_set_font_name (text, "Helvetica 10");
15920 // <font_name>: a font name, or %NULL to set the default font name
15921 void set_font_name(char* font_name
=null) {
15922 clutter_text_set_font_name(&this, font_name
);
15925 // Sets whether the text of the #ClutterText actor should be justified
15926 // on both margins. This setting is ignored if Clutter is compiled
15927 // against Pango < 1.18.
15928 // <justify>: whether the text should be justified
15929 void set_justify(int justify
) {
15930 clutter_text_set_justify(&this, justify
);
15933 // Sets the way that the lines of a wrapped label are aligned with
15934 // respect to each other. This does not affect the overall alignment
15935 // of the label within its allocated or specified width.
15937 // To align a #ClutterText actor you should add it to a container
15938 // that supports alignment, or use the anchor point.
15939 // <alignment>: A #PangoAlignment
15940 void set_line_alignment(Pango
.Alignment alignment
) {
15941 clutter_text_set_line_alignment(&this, alignment
);
15944 // Sets whether the contents of a #ClutterText actor should wrap,
15945 // if they don't fit the size assigned to the actor.
15946 // <line_wrap>: whether the contents should wrap
15947 void set_line_wrap(int line_wrap
) {
15948 clutter_text_set_line_wrap(&this, line_wrap
);
15951 // If line wrapping is enabled (see clutter_text_set_line_wrap()) this
15952 // function controls how the line wrapping is performed. The default is
15953 // %PANGO_WRAP_WORD which means wrap on word boundaries.
15954 // <wrap_mode>: the line wrapping mode
15955 void set_line_wrap_mode(Pango
.WrapMode wrap_mode
) {
15956 clutter_text_set_line_wrap_mode(&this, wrap_mode
);
15959 // Sets @markup as the contents of a #ClutterText.
15961 // This is a convenience function for setting a string containing
15962 // Pango markup, and it is logically equivalent to:
15965 // /* the order is important */
15966 // clutter_text_set_text (CLUTTER_TEXT (actor), markup);
15967 // clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
15969 // <markup>: a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string)
15970 void set_markup(char* markup
) {
15971 clutter_text_set_markup(&this, markup
);
15974 // Sets the maximum allowed length of the contents of the actor. If the
15975 // current contents are longer than the given length, then they will be
15976 // truncated to fit.
15977 // <max>: the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string
15978 void set_max_length(int max
) {
15979 clutter_text_set_max_length(&this, max
);
15982 // Sets the character to use in place of the actual text in a
15983 // password text actor.
15985 // If @wc is 0 the text will be displayed as it is entered in the
15986 // #ClutterText actor.
15987 // <wc>: a Unicode character, or 0 to unset the password character
15988 void set_password_char(dchar wc
) {
15989 clutter_text_set_password_char(&this, wc
);
15992 // Sets, or unsets, the pre-edit string. This function is useful
15993 // for input methods to display a string (with eventual specific
15994 // Pango attributes) before it is entered inside the #ClutterText
15997 // The preedit string and attributes are ignored if the #ClutterText
15998 // actor is not editable.
16000 // This function should not be used by applications
16001 // <preedit_str>: the pre-edit string, or %NULL to unset it
16002 // <preedit_attrs>: the pre-edit string attributes
16003 // <cursor_pos>: the cursor position for the pre-edit string
16004 void set_preedit_string(char* preedit_str
, Pango
.AttrList
* preedit_attrs
, uint cursor_pos
) {
16005 clutter_text_set_preedit_string(&this, preedit_str
, preedit_attrs
, cursor_pos
);
16008 // Sets whether a #ClutterText actor should be selectable.
16010 // A selectable #ClutterText will allow selecting its contents using
16011 // the pointer or the keyboard.
16012 // <selectable>: whether the #ClutterText actor should be selectable
16013 void set_selectable(int selectable
) {
16014 clutter_text_set_selectable(&this, selectable
);
16017 // Sets the selected text color of a #ClutterText actor.
16019 // If @color is %NULL, the selected text color will be the same as the
16020 // selection color, which then falls back to cursor, and then text color.
16021 // <color>: the selected text color, or %NULL to unset it
16022 void set_selected_text_color(Color
* color
) {
16023 clutter_text_set_selected_text_color(&this, color
);
16026 // Selects the region of text between @start_pos and @end_pos.
16028 // This function changes the position of the cursor to match
16029 // @start_pos and the selection bound to match @end_pos.
16030 // <start_pos>: start of the selection, in characters
16031 // <end_pos>: end of the selection, in characters
16032 void set_selection(ssize_t start_pos
, ssize_t end_pos
) {
16033 clutter_text_set_selection(&this, start_pos
, end_pos
);
16036 // Sets the other end of the selection, starting from the current
16037 // cursor position.
16039 // If @selection_bound is -1, the selection unset.
16040 // <selection_bound>: the position of the end of the selection, in characters
16041 void set_selection_bound(int selection_bound
) {
16042 clutter_text_set_selection_bound(&this, selection_bound
);
16045 // Sets the color of the selection of a #ClutterText actor.
16047 // If @color is %NULL, the selection color will be the same as the
16048 // cursor color, or if no cursor color is set either then it will be
16049 // the same as the text color.
16050 // <color>: the color of the selection, or %NULL to unset it
16051 void set_selection_color(Color
* color
) {
16052 clutter_text_set_selection_color(&this, color
);
16055 // Sets whether a #ClutterText actor should be in single line mode
16056 // or not. Only editable #ClutterText<!-- -->s can be in single line
16059 // A text actor in single line mode will not wrap text and will clip
16060 // the visible area to the predefined size. The contents of the
16061 // text actor will scroll to display the end of the text if its length
16062 // is bigger than the allocated width.
16064 // When setting the single line mode the #ClutterText:activatable
16065 // property is also set as a side effect. Instead of entering a new
16066 // line character, the text actor will emit the #ClutterText::activate
16068 // <single_line>: whether to enable single line mode
16069 void set_single_line_mode(int single_line
) {
16070 clutter_text_set_single_line_mode(&this, single_line
);
16073 // Sets the contents of a #ClutterText actor.
16075 // If the #ClutterText:use-markup property was set to %TRUE it
16076 // will be reset to %FALSE as a side effect. If you want to
16077 // maintain the #ClutterText:use-markup you should use the
16078 // clutter_text_set_markup() function instead
16079 // <text>: the text to set. Passing %NULL is the same as passing "" (the empty string)
16080 void set_text(char* text
) {
16081 clutter_text_set_text(&this, text
);
16084 // Sets whether the contents of the #ClutterText actor contains markup
16085 // in <link linkend="PangoMarkupFormat">Pango's text markup language</link>.
16087 // Setting #ClutterText:use-markup on an editable #ClutterText will
16088 // not have any effect except hiding the markup.
16090 // See also #ClutterText:use-markup.
16091 // <setting>: %TRUE if the text should be parsed for markup.
16092 void set_use_markup(int setting
) {
16093 clutter_text_set_use_markup(&this, setting
);
16096 // The ::activate signal is emitted each time the actor is 'activated'
16097 // by the user, normally by pressing the 'Enter' key. The signal is
16098 // emitted only if #ClutterText:activatable is set to %TRUE.
16099 extern (C
) alias static void function (Text
* this_
, void* user_data
=null) signal_activate
;
16101 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16102 return super_
.signal_connect
!name(cb
, data
, cf
);
16105 ulong signal_connect(string name
:"activate", CB
:signal_activate
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16106 return signal_connect_data(&this, cast(char*)"activate",
16107 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16110 // The ::cursor-event signal is emitted whenever the cursor position
16111 // changes inside a #ClutterText actor. Inside @geometry it is stored
16112 // the current position and size of the cursor, relative to the actor
16114 // <geometry>: the coordinates of the cursor
16115 extern (C
) alias static void function (Text
* this_
, Geometry
* geometry
, void* user_data
=null) signal_cursor_event
;
16116 ulong signal_connect(string name
:"cursor-event", CB
:signal_cursor_event
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16117 return signal_connect_data(&this, cast(char*)"cursor-event",
16118 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16121 // This signal is emitted when text is deleted from the actor by
16122 // the user. It is emitted before @self text changes.
16123 // <start_pos>: the starting position
16124 // <end_pos>: the end position
16125 extern (C
) alias static void function (Text
* this_
, int start_pos
, int end_pos
, void* user_data
=null) signal_delete_text
;
16126 ulong signal_connect(string name
:"delete-text", CB
:signal_delete_text
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16127 return signal_connect_data(&this, cast(char*)"delete-text",
16128 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16131 // This signal is emitted when text is inserted into the actor by
16132 // the user. It is emitted before @self text changes.
16133 // <new_text>: the new text to insert
16134 // <new_text_length>: the length of the new text, in bytes, or -1 if new_text is nul-terminated
16135 // <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.
16136 extern (C
) alias static void function (Text
* this_
, char* new_text
, int new_text_length
, void* position
, void* user_data
=null) signal_insert_text
;
16137 ulong signal_connect(string name
:"insert-text", CB
:signal_insert_text
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16138 return signal_connect_data(&this, cast(char*)"insert-text",
16139 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16141 // The ::text-changed signal is emitted after @actor's text changes
16142 extern (C
) alias static void function (Text
* this_
, void* user_data
=null) signal_text_changed
;
16143 ulong signal_connect(string name
:"text-changed", CB
:signal_text_changed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16144 return signal_connect_data(&this, cast(char*)"text-changed",
16145 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16149 // The #ClutterTextClass struct contains only private data.
16150 struct TextClass
/* Version 1.0 */ {
16151 private ActorClass parent_class
;
16152 extern (C
) void function (Text
* self
) text_changed
;
16153 extern (C
) void function (Text
* self
) activate
;
16154 extern (C
) void function (Text
* self
, Geometry
* geometry
) cursor_event
;
16155 extern (C
) void function () _clutter_reserved1
;
16156 extern (C
) void function () _clutter_reserved2
;
16157 extern (C
) void function () _clutter_reserved3
;
16158 extern (C
) void function () _clutter_reserved4
;
16159 extern (C
) void function () _clutter_reserved5
;
16160 extern (C
) void function () _clutter_reserved6
;
16161 extern (C
) void function () _clutter_reserved7
;
16162 extern (C
) void function () _clutter_reserved8
;
16165 // The text direction to be used by #ClutterActor<!-- -->s
16166 enum TextDirection
/* Version 1.2 */ {
16171 struct TextPrivate
{
16175 // The #ClutterTexture structure contains only private data
16176 // and should be accessed using the provided API
16177 struct Texture
/* : Actor */ /* Version 0.1 */ {
16179 alias parent super_
;
16180 alias parent actor
;
16182 private TexturePrivate
* priv
;
16185 // Creates a new empty #ClutterTexture object.
16186 // RETURNS: A newly created #ClutterTexture object.
16187 static Texture
* new_() {
16188 return clutter_texture_new();
16191 // Creates a new #ClutterTexture object with its source a prexisting
16192 // actor (and associated children). The textures content will contain
16193 // 'live' redirected output of the actors scene.
16195 // Note this function is intented as a utility call for uniformly applying
16196 // shaders to groups and other potential visual effects. It requires that
16197 // the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend
16198 // and the target system.
16200 // Some tips on usage:
16204 // <para>The source actor must be made visible (i.e by calling
16205 // #clutter_actor_show).</para>
16208 // <para>The source actor must have a parent in order for it to be
16209 // allocated a size from the layouting mechanism. If the source
16210 // actor does not have a parent when this function is called then
16211 // the ClutterTexture will adopt it and allocate it at its
16212 // preferred size. Using this you can clone an actor that is
16213 // otherwise not displayed. Because of this feature if you do
16214 // intend to display the source actor then you must make sure that
16215 // the actor is parented before calling
16216 // clutter_texture_new_from_actor() or that you unparent it before
16217 // adding it to a container.</para>
16220 // <para>When getting the image for the clone texture, Clutter
16221 // will attempt to render the source actor exactly as it would
16222 // appear if it was rendered on screen. The source actor's parent
16223 // transformations are taken into account. Therefore if your
16224 // source actor is rotated along the X or Y axes so that it has
16225 // some depth, the texture will appear differently depending on
16226 // the on-screen location of the source actor. While painting the
16227 // source actor, Clutter will set up a temporary asymmetric
16228 // perspective matrix as the projection matrix so that the source
16229 // actor will be projected as if a small section of the screen was
16230 // being viewed. Before version 0.8.2, an orthogonal identity
16231 // projection was used which meant that the source actor would be
16232 // clipped if any part of it was not on the zero Z-plane.</para>
16235 // <para>Avoid reparenting the source with the created texture.</para>
16238 // <para>A group can be padded with a transparent rectangle as to
16239 // provide a border to contents for shader output (blurring text
16240 // for example).</para>
16243 // <para>The texture will automatically resize to contain a further
16244 // transformed source. However, this involves overhead and can be
16245 // avoided by placing the source actor in a bounding group
16246 // sized large enough to contain any child tranformations.</para>
16249 // <para>Uploading pixel data to the texture (e.g by using
16250 // clutter_texture_set_from_file()) will destroy the offscreen texture
16251 // data and end redirection.</para>
16254 // <para>cogl_texture_get_data() with the handle returned by
16255 // clutter_texture_get_cogl_texture() can be used to read the
16256 // offscreen texture pixels into a pixbuf.</para>
16261 // directly on the intended #ClutterActor to replace the functionality of
16263 // RETURNS: A newly created #ClutterTexture object, or %NULL on failure.
16264 // <actor>: A source #ClutterActor
16265 static Texture
* new_from_actor(Actor
* actor
) {
16266 return clutter_texture_new_from_actor(actor
);
16269 // Creates a new ClutterTexture actor to display the image contained a
16270 // file. If the image failed to load then NULL is returned and @error
16274 // RETURNS: A newly created #ClutterTexture object or NULL on
16275 // <filename>: The name of an image file to load.
16276 static Texture
* new_from_file(char* filename
, GLib2
.Error
** error
=null) {
16277 return clutter_texture_new_from_file(filename
, error
);
16280 // Gets the size in pixels of the untransformed underlying image
16281 // <width>: return location for the width, or %NULL
16282 // <height>: return location for the height, or %NULL
16283 void get_base_size(/*out*/ int* width
, /*out*/ int* height
) {
16284 clutter_texture_get_base_size(&this, width
, height
);
16287 // Returns a handle to the underlying COGL material used for drawing
16290 // material is owned by the #ClutterTexture and it should not be
16292 // RETURNS: a handle for a #CoglMaterial. The
16293 Cogl
.Handle
get_cogl_material() {
16294 return clutter_texture_get_cogl_material(&this);
16297 // Retrieves the handle to the underlying COGL texture used for drawing
16298 // the actor. No extra reference is taken so if you need to keep the
16299 // handle then you should call cogl_handle_ref() on it.
16301 // The texture handle returned is the first layer of the material
16302 // handle used by the #ClutterTexture. If you need to access the other
16303 // layers you should use clutter_texture_get_cogl_material() instead
16304 // and use the #CoglMaterial API.
16306 // handle is owned by the #ClutterTexture and it should not be unreferenced
16307 // RETURNS: a #CoglHandle for the texture. The returned
16308 Cogl
.Handle
get_cogl_texture() {
16309 return clutter_texture_get_cogl_texture(&this);
16312 // Gets the filter quality used when scaling a texture.
16313 // RETURNS: The filter quality value.
16314 TextureQuality
get_filter_quality() {
16315 return clutter_texture_get_filter_quality(&this);
16318 // Retrieves the value set using clutter_texture_set_keep_aspect_ratio()
16320 // aspect ratio of the underlying image
16321 // RETURNS: %TRUE if the #ClutterTexture should maintain the
16322 int get_keep_aspect_ratio() {
16323 return clutter_texture_get_keep_aspect_ratio(&this);
16326 // Retrieves the value set using clutter_texture_set_load_async()
16328 // disk asynchronously
16329 // RETURNS: %TRUE if the #ClutterTexture should load the data from
16330 int get_load_async() {
16331 return clutter_texture_get_load_async(&this);
16334 // Retrieves the value set by clutter_texture_set_load_data_async()
16336 // data from a file asynchronously
16337 // RETURNS: %TRUE if the #ClutterTexture should load the image
16338 int get_load_data_async() {
16339 return clutter_texture_get_load_data_async(&this);
16342 // Gets the maximum waste that will be used when creating a texture or
16343 // -1 if slicing is disabled.
16346 // RETURNS: The maximum waste or -1 if the texture waste is
16347 int get_max_tile_waste() {
16348 return clutter_texture_get_max_tile_waste(&this);
16351 // Retrieves the value set by clutter_texture_set_load_data_async()
16353 // using the alpha channel when picking.
16354 // RETURNS: %TRUE if the #ClutterTexture should define its shape
16355 int get_pick_with_alpha() {
16356 return clutter_texture_get_pick_with_alpha(&this);
16359 // Retrieves the pixel format used by @texture. This is
16363 // handle = clutter_texture_get_pixel_format (texture);
16365 // if (handle != COGL_INVALID_HANDLE)
16366 // format = cogl_texture_get_format (handle);
16368 // RETURNS: a #CoglPixelFormat value
16369 Cogl
.PixelFormat
get_pixel_format() {
16370 return clutter_texture_get_pixel_format(&this);
16373 // Retrieves the horizontal and vertical repeat values set
16374 // using clutter_texture_set_repeat()
16375 // <repeat_x>: return location for the horizontal repeat
16376 // <repeat_y>: return location for the vertical repeat
16377 void get_repeat(/*out*/ int* repeat_x
, /*out*/ int* repeat_y
) {
16378 clutter_texture_get_repeat(&this, repeat_x
, repeat_y
);
16381 // Retrieves the value set with clutter_texture_set_sync_size()
16383 // preferred size of the underlying image data
16384 // RETURNS: %TRUE if the #ClutterTexture should have the same
16385 int get_sync_size() {
16386 return clutter_texture_get_sync_size(&this);
16389 // Updates a sub-region of the pixel data in a #ClutterTexture.
16390 // RETURNS: %TRUE on success, %FALSE on failure.
16391 // <data>: Image data in RGB type colorspace.
16392 // <has_alpha>: Set to TRUE if image data has an alpha channel.
16393 // <x>: X coordinate of upper left corner of region to update.
16394 // <y>: Y coordinate of upper left corner of region to update.
16395 // <width>: Width in pixels of region to update.
16396 // <height>: Height in pixels of region to update.
16397 // <rowstride>: Distance in bytes between row starts on source buffer.
16398 // <bpp>: bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
16399 // <flags>: #ClutterTextureFlags
16400 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) {
16401 return clutter_texture_set_area_from_rgb_data(&this, data
, has_alpha
, x
, y
, width
, height
, rowstride
, bpp
, flags
, error
);
16404 // Replaces the underlying Cogl material drawn by this actor with
16405 // @cogl_material. A reference to the material is taken so if the
16406 // handle is no longer needed it should be deref'd with
16407 // cogl_handle_unref. Texture data is attached to the material so
16408 // calling this function also replaces the Cogl
16409 // texture. #ClutterTexture requires that the material have a texture
16410 // layer so you should set one on the material before calling this
16412 // <cogl_material>: A CoglHandle for a material
16413 void set_cogl_material(Cogl
.Handle cogl_material
) {
16414 clutter_texture_set_cogl_material(&this, cogl_material
);
16417 // Replaces the underlying COGL texture drawn by this actor with
16418 // @cogl_tex. A reference to the texture is taken so if the handle is
16419 // no longer needed it should be deref'd with cogl_handle_unref.
16420 // <cogl_tex>: A CoglHandle for a texture
16421 void set_cogl_texture(Cogl
.Handle cogl_tex
) {
16422 clutter_texture_set_cogl_texture(&this, cogl_tex
);
16425 // Sets the filter quality when scaling a texture. The quality is an
16426 // enumeration currently the following values are supported:
16427 // %CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour
16428 // interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a
16429 // bit more expensive (bilinear interpolation), and
16430 // %CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to
16431 // improve scaled down rendering as well (by using mipmaps). The default value
16432 // is %CLUTTER_TEXTURE_QUALITY_MEDIUM.
16433 // <filter_quality>: new filter quality value
16434 void set_filter_quality(TextureQuality filter_quality
) {
16435 clutter_texture_set_filter_quality(&this, filter_quality
);
16438 // Sets the #ClutterTexture image data from an image file. In case of
16439 // failure, %FALSE is returned and @error is set.
16441 // If #ClutterTexture:load-async is set to %TRUE, this function
16442 // will return as soon as possible, and the actual image loading
16443 // from disk will be performed asynchronously. #ClutterTexture::size-change
16444 // will be emitten when the size of the texture is available and
16445 // #ClutterTexture::load-finished will be emitted when the image has been
16446 // loaded or if an error occurred.
16447 // RETURNS: %TRUE if the image was successfully loaded and set
16448 // <filename>: The filename of the image in GLib file name encoding
16449 int set_from_file(char* filename
, GLib2
.Error
** error
=null) {
16450 return clutter_texture_set_from_file(&this, filename
, error
);
16453 // Sets #ClutterTexture image data.
16454 // RETURNS: %TRUE on success, %FALSE on failure.
16455 // <data>: Image data in RGBA type colorspace.
16456 // <has_alpha>: Set to TRUE if image data has an alpha channel.
16457 // <width>: Width in pixels of image data.
16458 // <height>: Height in pixels of image data
16459 // <rowstride>: Distance in bytes between row starts.
16460 // <bpp>: bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
16461 // <flags>: #ClutterTextureFlags
16462 int set_from_rgb_data(ubyte* data
, int has_alpha
, int width
, int height
, int rowstride
, int bpp
, TextureFlags flags
, GLib2
.Error
** error
=null) {
16463 return clutter_texture_set_from_rgb_data(&this, data
, has_alpha
, width
, height
, rowstride
, bpp
, flags
, error
);
16466 // Sets a #ClutterTexture from YUV image data. If an error occurred,
16467 // %FALSE is returned and @error is set.
16468 // RETURNS: %TRUE if the texture was successfully updated
16469 // <data>: Image data in YUV type colorspace.
16470 // <width>: Width in pixels of image data.
16471 // <height>: Height in pixels of image data
16472 // <flags>: #ClutterTextureFlags
16473 int set_from_yuv_data(ubyte* data
, int width
, int height
, TextureFlags flags
, GLib2
.Error
** error
=null) {
16474 return clutter_texture_set_from_yuv_data(&this, data
, width
, height
, flags
, error
);
16477 // Sets whether @texture should have a preferred size maintaining
16478 // the aspect ratio of the underlying image
16479 // <keep_aspect>: %TRUE to maintain aspect ratio
16480 void set_keep_aspect_ratio(int keep_aspect
) {
16481 clutter_texture_set_keep_aspect_ratio(&this, keep_aspect
);
16484 // Sets whether @texture should use a worker thread to load the data
16485 // from disk asynchronously. Setting @load_async to %TRUE will make
16486 // clutter_texture_set_from_file() return immediately.
16488 // See the #ClutterTexture:load-async property documentation, and
16489 // clutter_texture_set_load_data_async().
16490 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
16491 void set_load_async(int load_async
) {
16492 clutter_texture_set_load_async(&this, load_async
);
16495 // Sets whether @texture should use a worker thread to load the data
16496 // from disk asynchronously. Setting @load_async to %TRUE will make
16497 // clutter_texture_set_from_file() block until the #ClutterTexture has
16498 // determined the width and height of the image data.
16500 // See the #ClutterTexture:load-async property documentation, and
16501 // clutter_texture_set_load_async().
16502 // <load_async>: %TRUE if the texture should asynchronously load data from a filename
16503 void set_load_data_async(int load_async
) {
16504 clutter_texture_set_load_data_async(&this, load_async
);
16507 // Sets whether @texture should have it's shape defined by the alpha
16508 // channel when picking.
16510 // Be aware that this is a bit more costly than the default picking
16511 // due to the texture lookup, extra test against the alpha value and
16512 // the fact that it will also interrupt the batching of geometry done
16515 // Also there is currently no control over the threshold used to
16516 // determine what value of alpha is considered pickable, and so only
16517 // fully opaque parts of the texture will react to picking.
16518 // <pick_with_alpha>: %TRUE if the alpha channel should affect the picking shape
16519 void set_pick_with_alpha(int pick_with_alpha
) {
16520 clutter_texture_set_pick_with_alpha(&this, pick_with_alpha
);
16523 // Sets whether the @texture should repeat horizontally or
16524 // vertically when the actor size is bigger than the image size
16525 // <repeat_x>: %TRUE if the texture should repeat horizontally
16526 // <repeat_y>: %TRUE if the texture should repeat vertically
16527 void set_repeat(int repeat_x
, int repeat_y
) {
16528 clutter_texture_set_repeat(&this, repeat_x
, repeat_y
);
16531 // Sets whether @texture should have the same preferred size as the
16532 // underlying image data.
16533 // <sync_size>: %TRUE if the texture should have the same size of the underlying image data
16534 void set_sync_size(int sync_size
) {
16535 clutter_texture_set_sync_size(&this, sync_size
);
16538 // The ::load-finished signal is emitted when a texture load has
16539 // completed. If there was an error during loading, @error will
16540 // be set, otherwise it will be %NULL
16541 // <error>: A set error, or %NULL
16542 extern (C
) alias static void function (Texture
* this_
, GLib2
.Error
* error
, void* user_data
=null) signal_load_finished
;
16544 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16545 return super_
.signal_connect
!name(cb
, data
, cf
);
16548 ulong signal_connect(string name
:"load-finished", CB
:signal_load_finished
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16549 return signal_connect_data(&this, cast(char*)"load-finished",
16550 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16553 // The ::pixbuf-change signal is emitted each time the pixbuf
16554 // used by @texture changes.
16555 extern (C
) alias static void function (Texture
* this_
, void* user_data
=null) signal_pixbuf_change
;
16556 ulong signal_connect(string name
:"pixbuf-change", CB
:signal_pixbuf_change
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16557 return signal_connect_data(&this, cast(char*)"pixbuf-change",
16558 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16561 // The ::size-change signal is emitted each time the size of the
16562 // pixbuf used by @texture changes. The new size is given as
16563 // argument to the callback.
16564 // <width>: the width of the new texture
16565 // <height>: the height of the new texture
16566 extern (C
) alias static void function (Texture
* this_
, int width
, int height
, void* user_data
=null) signal_size_change
;
16567 ulong signal_connect(string name
:"size-change", CB
:signal_size_change
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16568 return signal_connect_data(&this, cast(char*)"size-change",
16569 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16573 // The #ClutterTextureClass structure contains only private data
16574 struct TextureClass
/* Version 0.1 */ {
16575 private ActorClass parent_class
;
16576 extern (C
) void function (Texture
* texture
, int width
, int height
) size_change
;
16577 extern (C
) void function (Texture
* texture
) pixbuf_change
;
16578 extern (C
) void function (Texture
* texture
, GLib2
.Error
* error
) load_finished
;
16579 extern (C
) void function () _clutter_texture1
;
16580 extern (C
) void function () _clutter_texture2
;
16581 extern (C
) void function () _clutter_texture3
;
16582 extern (C
) void function () _clutter_texture4
;
16583 extern (C
) void function () _clutter_texture5
;
16586 // Error enumeration for #ClutterTexture
16587 enum TextureError
/* Version 0.4 */ {
16593 // Flags for clutter_texture_set_from_rgb_data() and
16594 // clutter_texture_set_from_yuv_data().
16595 enum TextureFlags
/* Version 0.4 */ {
16598 RGB_FLAG_PREMULT
= 4,
16601 struct TexturePrivate
{
16604 // Enumaration controlling the texture quality.
16605 enum TextureQuality
/* Version 0.8 */ {
16610 enum int Thai_baht
= 3551;
16611 enum int Thai_bobaimai
= 3514;
16612 enum int Thai_chochan
= 3496;
16613 enum int Thai_chochang
= 3498;
16614 enum int Thai_choching
= 3497;
16615 enum int Thai_chochoe
= 3500;
16616 enum int Thai_dochada
= 3502;
16617 enum int Thai_dodek
= 3508;
16618 enum int Thai_fofa
= 3517;
16619 enum int Thai_fofan
= 3519;
16620 enum int Thai_hohip
= 3531;
16621 enum int Thai_honokhuk
= 3534;
16622 enum int Thai_khokhai
= 3490;
16623 enum int Thai_khokhon
= 3493;
16624 enum int Thai_khokhuat
= 3491;
16625 enum int Thai_khokhwai
= 3492;
16626 enum int Thai_khorakhang
= 3494;
16627 enum int Thai_kokai
= 3489;
16628 enum int Thai_lakkhangyao
= 3557;
16629 enum int Thai_lekchet
= 3575;
16630 enum int Thai_lekha
= 3573;
16631 enum int Thai_lekhok
= 3574;
16632 enum int Thai_lekkao
= 3577;
16633 enum int Thai_leknung
= 3569;
16634 enum int Thai_lekpaet
= 3576;
16635 enum int Thai_leksam
= 3571;
16636 enum int Thai_leksi
= 3572;
16637 enum int Thai_leksong
= 3570;
16638 enum int Thai_leksun
= 3568;
16639 enum int Thai_lochula
= 3532;
16640 enum int Thai_loling
= 3525;
16641 enum int Thai_lu
= 3526;
16642 enum int Thai_maichattawa
= 3563;
16643 enum int Thai_maiek
= 3560;
16644 enum int Thai_maihanakat
= 3537;
16645 enum int Thai_maihanakat_maitho
= 3550;
16646 enum int Thai_maitaikhu
= 3559;
16647 enum int Thai_maitho
= 3561;
16648 enum int Thai_maitri
= 3562;
16649 enum int Thai_maiyamok
= 3558;
16650 enum int Thai_moma
= 3521;
16651 enum int Thai_ngongu
= 3495;
16652 enum int Thai_nikhahit
= 3565;
16653 enum int Thai_nonen
= 3507;
16654 enum int Thai_nonu
= 3513;
16655 enum int Thai_oang
= 3533;
16656 enum int Thai_paiyannoi
= 3535;
16657 enum int Thai_phinthu
= 3546;
16658 enum int Thai_phophan
= 3518;
16659 enum int Thai_phophung
= 3516;
16660 enum int Thai_phosamphao
= 3520;
16661 enum int Thai_popla
= 3515;
16662 enum int Thai_rorua
= 3523;
16663 enum int Thai_ru
= 3524;
16664 enum int Thai_saraa
= 3536;
16665 enum int Thai_saraaa
= 3538;
16666 enum int Thai_saraae
= 3553;
16667 enum int Thai_saraaimaimalai
= 3556;
16668 enum int Thai_saraaimaimuan
= 3555;
16669 enum int Thai_saraam
= 3539;
16670 enum int Thai_sarae
= 3552;
16671 enum int Thai_sarai
= 3540;
16672 enum int Thai_saraii
= 3541;
16673 enum int Thai_sarao
= 3554;
16674 enum int Thai_sarau
= 3544;
16675 enum int Thai_saraue
= 3542;
16676 enum int Thai_sarauee
= 3543;
16677 enum int Thai_sarauu
= 3545;
16678 enum int Thai_sorusi
= 3529;
16679 enum int Thai_sosala
= 3528;
16680 enum int Thai_soso
= 3499;
16681 enum int Thai_sosua
= 3530;
16682 enum int Thai_thanthakhat
= 3564;
16683 enum int Thai_thonangmontho
= 3505;
16684 enum int Thai_thophuthao
= 3506;
16685 enum int Thai_thothahan
= 3511;
16686 enum int Thai_thothan
= 3504;
16687 enum int Thai_thothong
= 3512;
16688 enum int Thai_thothung
= 3510;
16689 enum int Thai_topatak
= 3503;
16690 enum int Thai_totao
= 3509;
16691 enum int Thai_wowaen
= 3527;
16692 enum int Thai_yoyak
= 3522;
16693 enum int Thai_yoying
= 3501;
16694 enum int Thorn
= 222;
16695 enum int Time
= 269025183;
16697 // The #ClutterTimeline structure contains only private data
16698 // and should be accessed using the provided API
16699 struct Timeline
/* : GObject.Object */ /* Version 0.2 */ {
16701 alias parent super_
;
16702 alias parent object
;
16703 GObject2
.Object parent
;
16704 private TimelinePrivate
* priv
;
16707 // Creates a new #ClutterTimeline with a duration of @msecs.
16709 // g_object_unref() when done using it
16710 // RETURNS: the newly created #ClutterTimeline instance. Use
16711 // <msecs>: Duration of the timeline in milliseconds
16712 static Timeline
* /*new*/ new_(uint msecs
) {
16713 return clutter_timeline_new(msecs
);
16716 // Adds a named marker that will be hit when the timeline has been
16717 // running for @msecs milliseconds. Markers are unique string
16718 // identifiers for a given time. Once @timeline reaches
16719 // @msecs, it will emit a ::marker-reached signal for each marker
16720 // attached to that time.
16722 // A marker can be removed with clutter_timeline_remove_marker(). The
16723 // timeline can be advanced to a marker using
16724 // clutter_timeline_advance_to_marker().
16725 // <marker_name>: the unique name for this marker
16726 // <msecs>: position of the marker in milliseconds
16727 void add_marker_at_time(char* marker_name
, uint msecs
) {
16728 clutter_timeline_add_marker_at_time(&this, marker_name
, msecs
);
16731 // Advance timeline to the requested point. The point is given as a
16732 // time in milliseconds since the timeline started.
16734 // <note><para>The @timeline will not emit the #ClutterTimeline::new-frame
16735 // signal for the given time. The first ::new-frame signal after the call to
16736 // clutter_timeline_advance() will be emit the skipped markers.
16738 // <msecs>: Time to advance to
16739 void advance(uint msecs
) {
16740 clutter_timeline_advance(&this, msecs
);
16743 // Advances @timeline to the time of the given @marker_name.
16745 // <note><para>Like clutter_timeline_advance(), this function will not
16746 // emit the #ClutterTimeline::new-frame for the time where @marker_name
16747 // is set, nor it will emit #ClutterTimeline::marker-reached for
16748 // @marker_name.</para></note>
16749 // <marker_name>: the name of the marker
16750 void advance_to_marker(char* marker_name
) {
16751 clutter_timeline_advance_to_marker(&this, marker_name
);
16754 // Create a new #ClutterTimeline instance which has property values
16755 // matching that of supplied timeline. The cloned timeline will not
16756 // be started and will not be positioned to the current position of
16759 // RETURNS: a new #ClutterTimeline, cloned
16760 Timeline
* /*new*/ clone() {
16761 return clutter_timeline_clone(&this);
16764 // Retrieves the value set by clutter_timeline_set_auto_reverse().
16766 // %FALSE otherwise
16767 // RETURNS: %TRUE if the timeline should automatically reverse, and
16768 int get_auto_reverse() {
16769 return clutter_timeline_get_auto_reverse(&this);
16772 // Retrieves the delay set using clutter_timeline_set_delay().
16773 // RETURNS: the delay in milliseconds.
16775 return clutter_timeline_get_delay(&this);
16778 // Retrieves the amount of time elapsed since the last
16779 // ClutterTimeline::new-frame signal.
16781 // This function is only useful inside handlers for the ::new-frame
16782 // signal, and its behaviour is undefined if the timeline is not
16786 // RETURNS: the amount of time in milliseconds elapsed since the
16788 return clutter_timeline_get_delta(&this);
16791 // Retrieves the direction of the timeline set with
16792 // clutter_timeline_set_direction().
16793 // RETURNS: the direction of the timeline
16794 TimelineDirection
get_direction() {
16795 return clutter_timeline_get_direction(&this);
16798 // Retrieves the duration of a #ClutterTimeline in milliseconds.
16799 // See clutter_timeline_set_duration().
16800 // RETURNS: the duration of the timeline, in milliseconds.
16801 uint get_duration() {
16802 return clutter_timeline_get_duration(&this);
16805 // Request the current time position of the timeline.
16806 // RETURNS: current elapsed time in milliseconds.
16807 uint get_elapsed_time() {
16808 return clutter_timeline_get_elapsed_time(&this);
16811 // Gets whether @timeline is looping
16812 // RETURNS: %TRUE if the timeline is looping
16814 return clutter_timeline_get_loop(&this);
16817 // The position of the timeline in a [0, 1] interval.
16818 // RETURNS: the position of the timeline.
16819 double get_progress() {
16820 return clutter_timeline_get_progress(&this);
16823 // Checks whether @timeline has a marker set with the given name.
16824 // RETURNS: %TRUE if the marker was found
16825 // <marker_name>: the name of the marker
16826 int has_marker(char* marker_name
) {
16827 return clutter_timeline_has_marker(&this, marker_name
);
16830 // Queries state of a #ClutterTimeline.
16831 // RETURNS: %TRUE if timeline is currently playing
16833 return clutter_timeline_is_playing(&this);
16836 // Retrieves the list of markers at time @msecs. If @msecs is a
16837 // negative integer, all the markers attached to @timeline will be
16840 // a newly allocated, %NULL terminated string array containing the names
16841 // of the markers. Use g_strfreev() when done.
16842 // <msecs>: the time to check, or -1
16843 // <n_markers>: the number of markers returned
16844 char** /*new*/ list_markers(int msecs
, /*out*/ size_t
* n_markers
) {
16845 return clutter_timeline_list_markers(&this, msecs
, n_markers
);
16847 // Pauses the #ClutterTimeline on current frame
16849 clutter_timeline_pause(&this);
16852 // Removes @marker_name, if found, from @timeline.
16853 // <marker_name>: the name of the marker to remove
16854 void remove_marker(char* marker_name
) {
16855 clutter_timeline_remove_marker(&this, marker_name
);
16858 // Rewinds #ClutterTimeline to the first frame if its direction is
16859 // %CLUTTER_TIMELINE_FORWARD and the last frame if it is
16860 // %CLUTTER_TIMELINE_BACKWARD.
16862 clutter_timeline_rewind(&this);
16865 // Sets whether @timeline should reverse the direction after the
16866 // emission of the #ClutterTimeline::completed signal.
16868 // Setting the #ClutterTimeline:auto-reverse property to %TRUE is the
16869 // equivalent of connecting a callback to the #ClutterTimeline::completed
16870 // signal and changing the direction of the timeline from that callback;
16871 // for instance, this code:
16875 // reverse_timeline (ClutterTimeline *timeline)
16877 // ClutterTimelineDirection dir = clutter_timeline_get_direction (timeline);
16879 // if (dir == CLUTTER_TIMELINE_FORWARD)
16880 // dir = CLUTTER_TIMELINE_BACKWARD;
16882 // dir = CLUTTER_TIMELINE_FORWARD;
16884 // clutter_timeline_set_direction (timeline, dir);
16887 // timeline = clutter_timeline_new (1000);
16888 // clutter_timeline_set_loop (timeline);
16889 // g_signal_connect (timeline, "completed",
16890 // G_CALLBACK (reverse_timeline),
16894 // can be effectively replaced by:
16897 // timeline = clutter_timeline_new (1000);
16898 // clutter_timeline_set_loop (timeline);
16899 // clutter_timeline_set_auto_reverse (timeline);
16901 // <reverse>: %TRUE if the @timeline should reverse the direction
16902 void set_auto_reverse(int reverse
) {
16903 clutter_timeline_set_auto_reverse(&this, reverse
);
16906 // Sets the delay, in milliseconds, before @timeline should start.
16907 // <msecs>: delay in milliseconds
16908 void set_delay(uint msecs
) {
16909 clutter_timeline_set_delay(&this, msecs
);
16912 // Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
16913 // %CLUTTER_TIMELINE_BACKWARD.
16914 // <direction>: the direction of the timeline
16915 void set_direction(TimelineDirection direction
) {
16916 clutter_timeline_set_direction(&this, direction
);
16919 // Sets the duration of the timeline, in milliseconds. The speed
16920 // of the timeline depends on the ClutterTimeline:fps setting.
16921 // <msecs>: duration of the timeline in milliseconds
16922 void set_duration(uint msecs
) {
16923 clutter_timeline_set_duration(&this, msecs
);
16926 // Sets whether @timeline should loop.
16927 // <loop>: %TRUE for enable looping
16928 void set_loop(int loop) {
16929 clutter_timeline_set_loop(&this, loop);
16932 // Advance timeline by the requested time in milliseconds
16933 // <msecs>: Amount of time to skip
16934 void skip(uint msecs
) {
16935 clutter_timeline_skip(&this, msecs
);
16937 // Starts the #ClutterTimeline playing.
16939 clutter_timeline_start(&this);
16941 // Stops the #ClutterTimeline and moves to frame 0
16943 clutter_timeline_stop(&this);
16946 // The ::completed signal is emitted when the timeline reaches the
16947 // number of frames specified by the ClutterTimeline:num-frames property.
16948 extern (C
) alias static void function (Timeline
* this_
, void* user_data
=null) signal_completed
;
16950 ulong signal_connect(string name
, CB
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16951 return super_
.signal_connect
!name(cb
, data
, cf
);
16954 ulong signal_connect(string name
:"completed", CB
:signal_completed
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16955 return signal_connect_data(&this, cast(char*)"completed",
16956 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16959 // The ::marker-reached signal is emitted each time a timeline
16960 // reaches a marker set with
16961 // clutter_timeline_add_marker_at_time(). This signal is detailed
16962 // with the name of the marker as well, so it is possible to connect
16963 // a callback to the ::marker-reached signal for a specific marker
16966 // <informalexample><programlisting>
16967 // clutter_timeline_add_marker_at_time (timeline, "foo", 500);
16968 // clutter_timeline_add_marker_at_time (timeline, "bar", 750);
16970 // g_signal_connect (timeline, "marker-reached",
16971 // G_CALLBACK (each_marker_reached), NULL);
16972 // g_signal_connect (timeline, "marker-reached::foo",
16973 // G_CALLBACK (foo_marker_reached), NULL);
16974 // g_signal_connect (timeline, "marker-reached::bar",
16975 // G_CALLBACK (bar_marker_reached), NULL);
16976 // </programlisting></informalexample>
16978 // In the example, the first callback will be invoked for both
16979 // the "foo" and "bar" marker, while the second and third callbacks
16980 // will be invoked for the "foo" or "bar" markers, respectively.
16981 // <marker_name>: the name of the marker reached
16982 // <msecs>: the elapsed time
16983 extern (C
) alias static void function (Timeline
* this_
, char* marker_name
, int msecs
, void* user_data
=null) signal_marker_reached
;
16984 ulong signal_connect(string name
:"marker-reached", CB
:signal_marker_reached
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16985 return signal_connect_data(&this, cast(char*)"marker-reached",
16986 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16989 // The ::new-frame signal is emitted for each timeline running
16990 // timeline before a new frame is drawn to give animations a chance
16991 // to update the scene.
16992 // <msecs>: the elapsed time between 0 and duration
16993 extern (C
) alias static void function (Timeline
* this_
, int msecs
, void* user_data
=null) signal_new_frame
;
16994 ulong signal_connect(string name
:"new-frame", CB
:signal_new_frame
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
16995 return signal_connect_data(&this, cast(char*)"new-frame",
16996 cast(GObject2
.Callback
)cb
, data
, null, cf
);
16998 // The ::paused signal is emitted when clutter_timeline_pause() is invoked.
16999 extern (C
) alias static void function (Timeline
* this_
, void* user_data
=null) signal_paused
;
17000 ulong signal_connect(string name
:"paused", CB
:signal_paused
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17001 return signal_connect_data(&this, cast(char*)"paused",
17002 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17005 // The ::started signal is emitted when the timeline starts its run.
17006 // This might be as soon as clutter_timeline_start() is invoked or
17007 // after the delay set in the ClutterTimeline:delay property has
17009 extern (C
) alias static void function (Timeline
* this_
, void* user_data
=null) signal_started
;
17010 ulong signal_connect(string name
:"started", CB
:signal_started
)(CB cb
, void* data
=null, ConnectFlags cf
=cast(ConnectFlags
)0) {
17011 return signal_connect_data(&this, cast(char*)"started",
17012 cast(GObject2
.Callback
)cb
, data
, null, cf
);
17016 // The #ClutterTimelineClass structure contains only private data
17017 struct TimelineClass
/* Version 0.2 */ {
17018 private GObject2
.ObjectClass parent_class
;
17019 extern (C
) void function (Timeline
* timeline
) started
;
17020 extern (C
) void function (Timeline
* timeline
) completed
;
17021 extern (C
) void function (Timeline
* timeline
) paused
;
17022 extern (C
) void function (Timeline
* timeline
, int msecs
) new_frame
;
17023 extern (C
) void function (Timeline
* timeline
, char* marker_name
, int msecs
) marker_reached
;
17024 extern (C
) void function () _clutter_timeline_1
;
17025 extern (C
) void function () _clutter_timeline_2
;
17026 extern (C
) void function () _clutter_timeline_3
;
17027 extern (C
) void function () _clutter_timeline_4
;
17028 extern (C
) void function () _clutter_timeline_5
;
17031 // The direction of a #ClutterTimeline
17032 enum TimelineDirection
/* Version 0.6 */ {
17036 struct TimelinePrivate
{
17040 // <structname>ClutterTimeoutPool</structname> is an opaque structure
17041 // whose members cannot be directly accessed.
17042 struct TimeoutPool
/* Version 0.6 */ {
17044 // Sets a function to be called at regular intervals, and puts it inside
17045 // the @pool. The function is repeatedly called until it returns %FALSE,
17046 // at which point the timeout is automatically destroyed and the function
17047 // won't be called again. If @notify is not %NULL, the @notify function
17048 // will be called. The first call to @func will be at the end of @interval.
17050 // Since Clutter 0.8 this will try to compensate for delays. For
17051 // example, if @func takes half the interval time to execute then the
17052 // function will be called again half the interval time after it
17053 // finished. Before version 0.8 it would not fire until a full
17054 // interval after the function completes so the delay between calls
17055 // would be @interval * 1.5. This function does not however try to
17056 // invoke the function multiple times to catch up missing frames if
17057 // @func takes more than @interval ms to execute.
17059 // Use clutter_timeout_pool_remove() to stop the timeout.
17060 // RETURNS: the ID (greater than 0) of the timeout inside the pool.
17061 // <fps>: the time between calls to the function, in frames per second
17062 // <func>: function to call
17063 // <data>: data to pass to the function, or %NULL
17064 // <notify>: function to call when the timeout is removed, or %NULL
17065 uint add(uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
17066 return clutter_timeout_pool_add(&this, fps
, func
, data
, notify
);
17069 // Removes a timeout function with @id_ from the timeout pool. The id
17070 // is the same returned when adding a function to the timeout pool with
17071 // clutter_timeout_pool_add().
17072 // <id_>: the id of the timeout to remove
17073 void remove(uint id_
) {
17074 clutter_timeout_pool_remove(&this, id_
);
17077 // Unintrospectable function: new() / clutter_timeout_pool_new()
17078 // Creates a new timeout pool source. A timeout pool should be used when
17079 // multiple timeout functions, running at the same priority, are needed and
17080 // the g_timeout_add() API might lead to starvation of the time slice of
17081 // the main loop. A timeout pool allocates a single time slice of the main
17082 // loop and runs every timeout function inside it. The timeout pool is
17083 // always sorted, so that the extraction of the next timeout function is
17084 // a constant time operation.
17086 // is owned by the GLib default context and will be automatically
17087 // destroyed when the context is destroyed. It is possible to force
17088 // the destruction of the timeout pool using g_source_destroy()
17089 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
17090 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
17091 static TimeoutPool
* new_(int priority
) {
17092 return clutter_timeout_pool_new(priority
);
17096 enum int ToDoList
= 269025055;
17097 enum int Tools
= 269025153;
17098 enum int TopMenu
= 269025186;
17099 enum int TouchpadOff
= 269025201;
17100 enum int TouchpadOn
= 269025200;
17101 enum int TouchpadToggle
= 269025193;
17102 enum int Touroku
= 65323;
17103 enum int Travel
= 269025154;
17104 enum int Tslash
= 940;
17106 enum int UWB
= 269025174;
17107 enum int Uacute
= 218;
17108 enum int Ubelowdot
= 16785124;
17109 enum int Ubreve
= 733;
17110 enum int Ucircumflex
= 219;
17111 enum int Udiaeresis
= 220;
17112 enum int Udoubleacute
= 475;
17113 enum int Ugrave
= 217;
17114 enum int Uhook
= 16785126;
17115 enum int Uhorn
= 16777647;
17116 enum int Uhornacute
= 16785128;
17117 enum int Uhornbelowdot
= 16785136;
17118 enum int Uhorngrave
= 16785130;
17119 enum int Uhornhook
= 16785132;
17120 enum int Uhorntilde
= 16785134;
17121 enum int Ukrainian_GHE_WITH_UPTURN
= 1725;
17122 enum int Ukrainian_I
= 1718;
17123 enum int Ukrainian_IE
= 1716;
17124 enum int Ukrainian_YI
= 1719;
17125 enum int Ukrainian_ghe_with_upturn
= 1709;
17126 enum int Ukrainian_i
= 1702;
17127 enum int Ukrainian_ie
= 1700;
17128 enum int Ukrainian_yi
= 1703;
17129 enum int Ukranian_I
= 1718;
17130 enum int Ukranian_JE
= 1716;
17131 enum int Ukranian_YI
= 1719;
17132 enum int Ukranian_i
= 1702;
17133 enum int Ukranian_je
= 1700;
17134 enum int Ukranian_yi
= 1703;
17135 enum int Umacron
= 990;
17136 enum int Undo
= 65381;
17137 enum int Ungrab
= 269024800;
17139 // The type of unit in which a value is expressed
17141 // This enumeration might be expanded at later date
17142 enum UnitType
/* Version 1.0 */ {
17150 // An opaque structure, to be used to store sizing and positioning
17151 // values along with their unit.
17152 struct Units
/* Version 1.0 */ {
17153 private UnitType unit_type
;
17154 private float value
, pixels
;
17155 private uint pixels_set
;
17156 private int serial
, __padding_1
;
17157 private long __padding_2
;
17162 // #ClutterUnits structure. Use clutter_units_free() to free
17163 // the allocated resources
17164 // RETURNS: the newly created copy of a
17165 Units
* /*new*/ copy() {
17166 return clutter_units_copy(&this);
17169 // Frees the resources allocated by @units
17171 // You should only call this function on a #ClutterUnits
17172 // created using clutter_units_copy()
17174 clutter_units_free(&this);
17177 // Stores a value in centimeters inside @units
17178 // <cm>: centimeters
17179 void from_cm(float cm
) {
17180 clutter_units_from_cm(&this, cm
);
17183 // Stores a value in em inside @units, using the default font
17184 // name as returned by clutter_backend_get_font_name()
17186 void from_em(float em
) {
17187 clutter_units_from_em(&this, em
);
17190 // Stores a value in em inside @units using @font_name
17191 // <font_name>: the font name and size
17193 void from_em_for_font(char* font_name
, float em
) {
17194 clutter_units_from_em_for_font(&this, font_name
, em
);
17197 // Stores a value in millimiters inside @units
17198 // <mm>: millimeters
17199 void from_mm(float mm
) {
17200 clutter_units_from_mm(&this, mm
);
17203 // Stores a value in pixels inside @units
17205 void from_pixels(int px
) {
17206 clutter_units_from_pixels(&this, px
);
17209 // Stores a value in typographic points inside @units
17210 // <pt>: typographic points
17211 void from_pt(float pt
) {
17212 clutter_units_from_pt(&this, pt
);
17215 // Parses a value and updates @units with it
17217 // A #ClutterUnits expressed in string should match:
17220 // units: wsp* unit-value wsp* unit-name? wsp*
17221 // unit-value: number
17222 // unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm'
17224 // | digit* sep digit+
17226 // digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
17227 // wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+
17230 // For instance, these are valid strings:
17240 // While these are not:
17247 // <note><para>If no unit is specified, pixels are assumed.</para></note>
17249 // and %FALSE otherwise
17250 // RETURNS: %TRUE if the string was successfully parsed,
17251 // <str>: the string to convert
17252 int from_string(char* str) {
17253 return clutter_units_from_string(&this, str);
17256 // Retrieves the unit type of the value stored inside @units
17257 // RETURNS: a unit type
17258 UnitType
get_unit_type() {
17259 return clutter_units_get_unit_type(&this);
17262 // Retrieves the value stored inside @units
17263 // RETURNS: the value stored inside a #ClutterUnits
17264 float get_unit_value() {
17265 return clutter_units_get_unit_value(&this);
17268 // Converts a value in #ClutterUnits to pixels
17269 // RETURNS: the value in pixels
17270 float to_pixels() {
17271 return clutter_units_to_pixels(&this);
17274 // Converts @units into a string
17276 // See clutter_units_from_string() for the units syntax and for
17277 // examples of output
17279 // <note>Fractional values are truncated to the second decimal
17280 // position for em, mm and cm, and to the first decimal position for
17281 // typographic points. Pixels are integers.</note>
17283 // #ClutterUnits value. Use g_free() to free the string
17284 // RETURNS: a newly allocated string containing the encoded
17285 char* /*new*/ to_string() {
17286 return clutter_units_to_string(&this);
17290 enum int Uogonek
= 985;
17291 enum int Up
= 65362;
17292 enum int Uring
= 473;
17293 enum int User1KB
= 269025157;
17294 enum int User2KB
= 269025158;
17295 enum int UserPB
= 269025156;
17296 enum int Utilde
= 989;
17298 enum double VERSION
= 1.800000;
17299 enum int VERSION_HEX
= 0;
17300 enum VERSION_S
= "1.8.3";
17301 enum int VendorHome
= 269025076;
17302 // Vertex of an actor in 3D space, expressed in pixels
17303 struct Vertex
/* Version 0.4 */ {
17307 // Creates a new #ClutterVertex for the point in 3D space
17308 // identified by the 3 coordinates @x, @y, @z
17310 // clutter_vertex_free() to free the resources
17311 // RETURNS: the newly allocate #ClutterVertex. Use
17312 // <x>: X coordinate
17313 // <y>: Y coordinate
17314 // <z>: Z coordinate
17315 static Vertex
* /*new*/ new_(float x
, float y
, float z
) {
17316 return clutter_vertex_new(x
, y
, z
);
17321 // clutter_vertex_free() to free the allocated resources
17322 // RETURNS: a newly allocated copy of #ClutterVertex. Use
17323 Vertex
* /*new*/ copy() {
17324 return clutter_vertex_copy(&this);
17327 // Compares @vertex_a and @vertex_b for equality
17328 // RETURNS: %TRUE if the passed #ClutterVertex are equal
17329 // <vertex_b>: a #ClutterVertex
17330 int equal(Vertex
* vertex_b
) {
17331 return clutter_vertex_equal(&this, vertex_b
);
17333 // Frees a #ClutterVertex allocated using clutter_vertex_copy()
17335 clutter_vertex_free(&this);
17339 enum int Video
= 269025159;
17340 enum int View
= 269025185;
17341 enum int VoidSymbol
= 16777215;
17343 enum int WINDOWING_GLX
= 1;
17344 enum int WINDOWING_X11
= 1;
17345 enum int WLAN
= 269025173;
17346 enum int WWW
= 269025070;
17347 enum int Wacute
= 16785026;
17348 enum int WakeUp
= 269025067;
17349 enum int Wcircumflex
= 16777588;
17350 enum int Wdiaeresis
= 16785028;
17351 enum int WebCam
= 269025167;
17352 enum int Wgrave
= 16785024;
17353 enum int WheelButton
= 269025160;
17354 enum int WindowClear
= 269025109;
17355 enum int WonSign
= 16785577;
17356 enum int Word
= 269025161;
17358 enum X11FilterReturn
{
17363 enum X11XInputEventTypes
{
17364 KEY_PRESS_EVENT
= 0,
17365 KEY_RELEASE_EVENT
= 1,
17366 BUTTON_PRESS_EVENT
= 2,
17367 BUTTON_RELEASE_EVENT
= 3,
17368 MOTION_NOTIFY_EVENT
= 4,
17371 enum int Xabovedot
= 16785034;
17372 enum int Xfer
= 269025162;
17374 enum int Yacute
= 221;
17375 enum int Ybelowdot
= 16785140;
17376 enum int Ycircumflex
= 16777590;
17377 enum int Ydiaeresis
= 5054;
17378 enum int Yellow
= 269025189;
17379 enum int Ygrave
= 16785138;
17380 enum int Yhook
= 16785142;
17381 enum int Ytilde
= 16785144;
17383 enum int Zabovedot
= 431;
17384 enum int Zacute
= 428;
17385 enum int Zcaron
= 430;
17386 enum int Zen_Koho
= 65341;
17387 enum int Zenkaku
= 65320;
17388 enum int Zenkaku_Hankaku
= 65322;
17389 enum int ZoomIn
= 269025163;
17390 enum int ZoomOut
= 269025164;
17391 enum int Zstroke
= 16777653;
17393 enum int aacute
= 225;
17394 enum int abelowdot
= 16785057;
17395 enum int abovedot
= 511;
17396 enum int abreve
= 483;
17397 enum int abreveacute
= 16785071;
17398 enum int abrevebelowdot
= 16785079;
17399 enum int abrevegrave
= 16785073;
17400 enum int abrevehook
= 16785075;
17401 enum int abrevetilde
= 16785077;
17402 enum int acircumflex
= 226;
17403 enum int acircumflexacute
= 16785061;
17404 enum int acircumflexbelowdot
= 16785069;
17405 enum int acircumflexgrave
= 16785063;
17406 enum int acircumflexhook
= 16785065;
17407 enum int acircumflextilde
= 16785067;
17408 enum int acute
= 180;
17409 enum int adiaeresis
= 228;
17411 enum int agrave
= 224;
17412 enum int ahook
= 16785059;
17413 enum int amacron
= 992;
17414 enum int ampersand
= 38;
17415 enum int aogonek
= 433;
17416 enum int apostrophe
= 39;
17417 enum int approxeq
= 16785992;
17418 enum int approximate
= 2248;
17419 enum int aring
= 229;
17420 enum int asciicircum
= 94;
17421 enum int asciitilde
= 126;
17422 enum int asterisk
= 42;
17424 enum int atilde
= 227;
17426 enum int babovedot
= 16784899;
17427 enum int backslash
= 92;
17428 enum int ballotcross
= 2804;
17429 enum int bar
= 124;
17430 static void base_init() {
17431 clutter_base_init();
17434 enum int because
= 16785973;
17435 enum int blank
= 2527;
17436 enum int botintegral
= 2213;
17437 enum int botleftparens
= 2220;
17438 enum int botleftsqbracket
= 2216;
17439 enum int botleftsummation
= 2226;
17440 enum int botrightparens
= 2222;
17441 enum int botrightsqbracket
= 2218;
17442 enum int botrightsummation
= 2230;
17443 enum int bott
= 2550;
17444 enum int botvertsummationconnector
= 2228;
17445 enum int braceleft
= 123;
17446 enum int braceright
= 125;
17447 enum int bracketleft
= 91;
17448 enum int bracketright
= 93;
17449 enum int braille_blank
= 16787456;
17450 enum int braille_dot_1
= 65521;
17451 enum int braille_dot_10
= 65530;
17452 enum int braille_dot_2
= 65522;
17453 enum int braille_dot_3
= 65523;
17454 enum int braille_dot_4
= 65524;
17455 enum int braille_dot_5
= 65525;
17456 enum int braille_dot_6
= 65526;
17457 enum int braille_dot_7
= 65527;
17458 enum int braille_dot_8
= 65528;
17459 enum int braille_dot_9
= 65529;
17460 enum int braille_dots_1
= 16787457;
17461 enum int braille_dots_12
= 16787459;
17462 enum int braille_dots_123
= 16787463;
17463 enum int braille_dots_1234
= 16787471;
17464 enum int braille_dots_12345
= 16787487;
17465 enum int braille_dots_123456
= 16787519;
17466 enum int braille_dots_1234567
= 16787583;
17467 enum int braille_dots_12345678
= 16787711;
17468 enum int braille_dots_1234568
= 16787647;
17469 enum int braille_dots_123457
= 16787551;
17470 enum int braille_dots_1234578
= 16787679;
17471 enum int braille_dots_123458
= 16787615;
17472 enum int braille_dots_12346
= 16787503;
17473 enum int braille_dots_123467
= 16787567;
17474 enum int braille_dots_1234678
= 16787695;
17475 enum int braille_dots_123468
= 16787631;
17476 enum int braille_dots_12347
= 16787535;
17477 enum int braille_dots_123478
= 16787663;
17478 enum int braille_dots_12348
= 16787599;
17479 enum int braille_dots_1235
= 16787479;
17480 enum int braille_dots_12356
= 16787511;
17481 enum int braille_dots_123567
= 16787575;
17482 enum int braille_dots_1235678
= 16787703;
17483 enum int braille_dots_123568
= 16787639;
17484 enum int braille_dots_12357
= 16787543;
17485 enum int braille_dots_123578
= 16787671;
17486 enum int braille_dots_12358
= 16787607;
17487 enum int braille_dots_1236
= 16787495;
17488 enum int braille_dots_12367
= 16787559;
17489 enum int braille_dots_123678
= 16787687;
17490 enum int braille_dots_12368
= 16787623;
17491 enum int braille_dots_1237
= 16787527;
17492 enum int braille_dots_12378
= 16787655;
17493 enum int braille_dots_1238
= 16787591;
17494 enum int braille_dots_124
= 16787467;
17495 enum int braille_dots_1245
= 16787483;
17496 enum int braille_dots_12456
= 16787515;
17497 enum int braille_dots_124567
= 16787579;
17498 enum int braille_dots_1245678
= 16787707;
17499 enum int braille_dots_124568
= 16787643;
17500 enum int braille_dots_12457
= 16787547;
17501 enum int braille_dots_124578
= 16787675;
17502 enum int braille_dots_12458
= 16787611;
17503 enum int braille_dots_1246
= 16787499;
17504 enum int braille_dots_12467
= 16787563;
17505 enum int braille_dots_124678
= 16787691;
17506 enum int braille_dots_12468
= 16787627;
17507 enum int braille_dots_1247
= 16787531;
17508 enum int braille_dots_12478
= 16787659;
17509 enum int braille_dots_1248
= 16787595;
17510 enum int braille_dots_125
= 16787475;
17511 enum int braille_dots_1256
= 16787507;
17512 enum int braille_dots_12567
= 16787571;
17513 enum int braille_dots_125678
= 16787699;
17514 enum int braille_dots_12568
= 16787635;
17515 enum int braille_dots_1257
= 16787539;
17516 enum int braille_dots_12578
= 16787667;
17517 enum int braille_dots_1258
= 16787603;
17518 enum int braille_dots_126
= 16787491;
17519 enum int braille_dots_1267
= 16787555;
17520 enum int braille_dots_12678
= 16787683;
17521 enum int braille_dots_1268
= 16787619;
17522 enum int braille_dots_127
= 16787523;
17523 enum int braille_dots_1278
= 16787651;
17524 enum int braille_dots_128
= 16787587;
17525 enum int braille_dots_13
= 16787461;
17526 enum int braille_dots_134
= 16787469;
17527 enum int braille_dots_1345
= 16787485;
17528 enum int braille_dots_13456
= 16787517;
17529 enum int braille_dots_134567
= 16787581;
17530 enum int braille_dots_1345678
= 16787709;
17531 enum int braille_dots_134568
= 16787645;
17532 enum int braille_dots_13457
= 16787549;
17533 enum int braille_dots_134578
= 16787677;
17534 enum int braille_dots_13458
= 16787613;
17535 enum int braille_dots_1346
= 16787501;
17536 enum int braille_dots_13467
= 16787565;
17537 enum int braille_dots_134678
= 16787693;
17538 enum int braille_dots_13468
= 16787629;
17539 enum int braille_dots_1347
= 16787533;
17540 enum int braille_dots_13478
= 16787661;
17541 enum int braille_dots_1348
= 16787597;
17542 enum int braille_dots_135
= 16787477;
17543 enum int braille_dots_1356
= 16787509;
17544 enum int braille_dots_13567
= 16787573;
17545 enum int braille_dots_135678
= 16787701;
17546 enum int braille_dots_13568
= 16787637;
17547 enum int braille_dots_1357
= 16787541;
17548 enum int braille_dots_13578
= 16787669;
17549 enum int braille_dots_1358
= 16787605;
17550 enum int braille_dots_136
= 16787493;
17551 enum int braille_dots_1367
= 16787557;
17552 enum int braille_dots_13678
= 16787685;
17553 enum int braille_dots_1368
= 16787621;
17554 enum int braille_dots_137
= 16787525;
17555 enum int braille_dots_1378
= 16787653;
17556 enum int braille_dots_138
= 16787589;
17557 enum int braille_dots_14
= 16787465;
17558 enum int braille_dots_145
= 16787481;
17559 enum int braille_dots_1456
= 16787513;
17560 enum int braille_dots_14567
= 16787577;
17561 enum int braille_dots_145678
= 16787705;
17562 enum int braille_dots_14568
= 16787641;
17563 enum int braille_dots_1457
= 16787545;
17564 enum int braille_dots_14578
= 16787673;
17565 enum int braille_dots_1458
= 16787609;
17566 enum int braille_dots_146
= 16787497;
17567 enum int braille_dots_1467
= 16787561;
17568 enum int braille_dots_14678
= 16787689;
17569 enum int braille_dots_1468
= 16787625;
17570 enum int braille_dots_147
= 16787529;
17571 enum int braille_dots_1478
= 16787657;
17572 enum int braille_dots_148
= 16787593;
17573 enum int braille_dots_15
= 16787473;
17574 enum int braille_dots_156
= 16787505;
17575 enum int braille_dots_1567
= 16787569;
17576 enum int braille_dots_15678
= 16787697;
17577 enum int braille_dots_1568
= 16787633;
17578 enum int braille_dots_157
= 16787537;
17579 enum int braille_dots_1578
= 16787665;
17580 enum int braille_dots_158
= 16787601;
17581 enum int braille_dots_16
= 16787489;
17582 enum int braille_dots_167
= 16787553;
17583 enum int braille_dots_1678
= 16787681;
17584 enum int braille_dots_168
= 16787617;
17585 enum int braille_dots_17
= 16787521;
17586 enum int braille_dots_178
= 16787649;
17587 enum int braille_dots_18
= 16787585;
17588 enum int braille_dots_2
= 16787458;
17589 enum int braille_dots_23
= 16787462;
17590 enum int braille_dots_234
= 16787470;
17591 enum int braille_dots_2345
= 16787486;
17592 enum int braille_dots_23456
= 16787518;
17593 enum int braille_dots_234567
= 16787582;
17594 enum int braille_dots_2345678
= 16787710;
17595 enum int braille_dots_234568
= 16787646;
17596 enum int braille_dots_23457
= 16787550;
17597 enum int braille_dots_234578
= 16787678;
17598 enum int braille_dots_23458
= 16787614;
17599 enum int braille_dots_2346
= 16787502;
17600 enum int braille_dots_23467
= 16787566;
17601 enum int braille_dots_234678
= 16787694;
17602 enum int braille_dots_23468
= 16787630;
17603 enum int braille_dots_2347
= 16787534;
17604 enum int braille_dots_23478
= 16787662;
17605 enum int braille_dots_2348
= 16787598;
17606 enum int braille_dots_235
= 16787478;
17607 enum int braille_dots_2356
= 16787510;
17608 enum int braille_dots_23567
= 16787574;
17609 enum int braille_dots_235678
= 16787702;
17610 enum int braille_dots_23568
= 16787638;
17611 enum int braille_dots_2357
= 16787542;
17612 enum int braille_dots_23578
= 16787670;
17613 enum int braille_dots_2358
= 16787606;
17614 enum int braille_dots_236
= 16787494;
17615 enum int braille_dots_2367
= 16787558;
17616 enum int braille_dots_23678
= 16787686;
17617 enum int braille_dots_2368
= 16787622;
17618 enum int braille_dots_237
= 16787526;
17619 enum int braille_dots_2378
= 16787654;
17620 enum int braille_dots_238
= 16787590;
17621 enum int braille_dots_24
= 16787466;
17622 enum int braille_dots_245
= 16787482;
17623 enum int braille_dots_2456
= 16787514;
17624 enum int braille_dots_24567
= 16787578;
17625 enum int braille_dots_245678
= 16787706;
17626 enum int braille_dots_24568
= 16787642;
17627 enum int braille_dots_2457
= 16787546;
17628 enum int braille_dots_24578
= 16787674;
17629 enum int braille_dots_2458
= 16787610;
17630 enum int braille_dots_246
= 16787498;
17631 enum int braille_dots_2467
= 16787562;
17632 enum int braille_dots_24678
= 16787690;
17633 enum int braille_dots_2468
= 16787626;
17634 enum int braille_dots_247
= 16787530;
17635 enum int braille_dots_2478
= 16787658;
17636 enum int braille_dots_248
= 16787594;
17637 enum int braille_dots_25
= 16787474;
17638 enum int braille_dots_256
= 16787506;
17639 enum int braille_dots_2567
= 16787570;
17640 enum int braille_dots_25678
= 16787698;
17641 enum int braille_dots_2568
= 16787634;
17642 enum int braille_dots_257
= 16787538;
17643 enum int braille_dots_2578
= 16787666;
17644 enum int braille_dots_258
= 16787602;
17645 enum int braille_dots_26
= 16787490;
17646 enum int braille_dots_267
= 16787554;
17647 enum int braille_dots_2678
= 16787682;
17648 enum int braille_dots_268
= 16787618;
17649 enum int braille_dots_27
= 16787522;
17650 enum int braille_dots_278
= 16787650;
17651 enum int braille_dots_28
= 16787586;
17652 enum int braille_dots_3
= 16787460;
17653 enum int braille_dots_34
= 16787468;
17654 enum int braille_dots_345
= 16787484;
17655 enum int braille_dots_3456
= 16787516;
17656 enum int braille_dots_34567
= 16787580;
17657 enum int braille_dots_345678
= 16787708;
17658 enum int braille_dots_34568
= 16787644;
17659 enum int braille_dots_3457
= 16787548;
17660 enum int braille_dots_34578
= 16787676;
17661 enum int braille_dots_3458
= 16787612;
17662 enum int braille_dots_346
= 16787500;
17663 enum int braille_dots_3467
= 16787564;
17664 enum int braille_dots_34678
= 16787692;
17665 enum int braille_dots_3468
= 16787628;
17666 enum int braille_dots_347
= 16787532;
17667 enum int braille_dots_3478
= 16787660;
17668 enum int braille_dots_348
= 16787596;
17669 enum int braille_dots_35
= 16787476;
17670 enum int braille_dots_356
= 16787508;
17671 enum int braille_dots_3567
= 16787572;
17672 enum int braille_dots_35678
= 16787700;
17673 enum int braille_dots_3568
= 16787636;
17674 enum int braille_dots_357
= 16787540;
17675 enum int braille_dots_3578
= 16787668;
17676 enum int braille_dots_358
= 16787604;
17677 enum int braille_dots_36
= 16787492;
17678 enum int braille_dots_367
= 16787556;
17679 enum int braille_dots_3678
= 16787684;
17680 enum int braille_dots_368
= 16787620;
17681 enum int braille_dots_37
= 16787524;
17682 enum int braille_dots_378
= 16787652;
17683 enum int braille_dots_38
= 16787588;
17684 enum int braille_dots_4
= 16787464;
17685 enum int braille_dots_45
= 16787480;
17686 enum int braille_dots_456
= 16787512;
17687 enum int braille_dots_4567
= 16787576;
17688 enum int braille_dots_45678
= 16787704;
17689 enum int braille_dots_4568
= 16787640;
17690 enum int braille_dots_457
= 16787544;
17691 enum int braille_dots_4578
= 16787672;
17692 enum int braille_dots_458
= 16787608;
17693 enum int braille_dots_46
= 16787496;
17694 enum int braille_dots_467
= 16787560;
17695 enum int braille_dots_4678
= 16787688;
17696 enum int braille_dots_468
= 16787624;
17697 enum int braille_dots_47
= 16787528;
17698 enum int braille_dots_478
= 16787656;
17699 enum int braille_dots_48
= 16787592;
17700 enum int braille_dots_5
= 16787472;
17701 enum int braille_dots_56
= 16787504;
17702 enum int braille_dots_567
= 16787568;
17703 enum int braille_dots_5678
= 16787696;
17704 enum int braille_dots_568
= 16787632;
17705 enum int braille_dots_57
= 16787536;
17706 enum int braille_dots_578
= 16787664;
17707 enum int braille_dots_58
= 16787600;
17708 enum int braille_dots_6
= 16787488;
17709 enum int braille_dots_67
= 16787552;
17710 enum int braille_dots_678
= 16787680;
17711 enum int braille_dots_68
= 16787616;
17712 enum int braille_dots_7
= 16787520;
17713 enum int braille_dots_78
= 16787648;
17714 enum int braille_dots_8
= 16787584;
17715 enum int breve
= 418;
17716 enum int brokenbar
= 166;
17718 enum int cabovedot
= 741;
17719 enum int cacute
= 486;
17721 // Utility function for setting the source color of @cr using
17722 // a #ClutterColor. This function is the equivalent of:
17725 // cairo_set_source_rgba (cr,
17726 // color->red / 255.0,
17727 // color->green / 255.0,
17728 // color->blue / 255.0,
17729 // color->alpha / 255.0);
17731 // <cr>: a Cairo context
17732 // <color>: a #ClutterColor
17733 static void cairo_set_source_color(cairo
.Context
* cr
, Color
* color
) {
17734 clutter_cairo_set_source_color(cr
, color
);
17737 enum int careof
= 2744;
17738 enum int caret
= 2812;
17739 enum int caron
= 439;
17740 enum int ccaron
= 488;
17741 enum int ccedilla
= 231;
17742 enum int ccircumflex
= 742;
17743 enum int cedilla
= 184;
17744 enum int cent_
= 162;
17746 // Run-time version check, to check the version the Clutter library
17747 // that an application is currently linked against
17749 // This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION
17750 // pre-processor macro
17752 // greater than (@major, @minor, @micro), and %FALSE otherwise
17753 // RETURNS: %TRUE if the version of the Clutter library is
17754 // <major>: major version, like 1 in 1.2.3
17755 // <minor>: minor version, like 2 in 1.2.3
17756 // <micro>: micro version, like 3 in 1.2.3
17757 static int check_version(uint major
, uint minor
, uint micro
) {
17758 return clutter_check_version(major
, minor
, micro
);
17761 enum int checkerboard
= 2529;
17762 enum int checkmark
= 2803;
17763 enum int circle
= 3023;
17765 // Clears the internal cache of glyphs used by the Pango
17766 // renderer. This will free up some memory and GL texture
17767 // resources. The cache will be automatically refilled as more text is
17769 static void clear_glyph_cache() {
17770 clutter_clear_glyph_cache();
17773 enum int club
= 2796;
17774 enum int colon
= 58;
17776 // Compares two #ClutterColor<!-- -->s and checks if they are the same.
17778 // This function can be passed to g_hash_table_new() as the @key_equal_func
17779 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
17780 // RETURNS: %TRUE if the two colors are the same.
17781 // <v1>: a #ClutterColor
17782 // <v2>: a #ClutterColor
17783 static int color_equal(const(void)* v1
, const(void)* v2
) {
17784 return clutter_color_equal(v1
, v2
);
17788 // Retrieves a static color for the given @color name
17790 // Static colors are created by Clutter and are guaranteed to always be
17791 // available and valid
17793 // is owned by Clutter and it should never be modified or freed
17794 // RETURNS: a pointer to a static color; the returned pointer
17795 // <color>: the named global color
17796 static Color
* color_get_static(StaticColor color
) {
17797 return clutter_color_get_static(color
);
17801 // Converts a #ClutterColor to a hash value.
17803 // This function can be passed to g_hash_table_new() as the @hash_func
17804 // parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
17805 // RETURNS: a hash value corresponding to the color
17806 // <v>: a #ClutterColor
17807 static uint color_hash(const(void)* v
) {
17808 return clutter_color_hash(v
);
17811 enum int comma
= 44;
17813 // Looks up the #GParamSpec for a child property of @klass.
17815 // if no such property exist.
17816 // RETURNS: The #GParamSpec for the property or %NULL
17817 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
17818 // <property_name>: a property name.
17819 static GObject2
.ParamSpec
* container_class_find_child_property(GObject2
.ObjectClass
* klass
, char* property_name
) {
17820 return clutter_container_class_find_child_property(klass
, property_name
);
17824 // Returns an array of #GParamSpec for all child properties.
17826 // of #GParamSpec<!-- -->s which should be freed after use.
17827 // RETURNS: an array
17828 // <klass>: a #GObjectClass implementing the #ClutterContainer interface.
17829 // <n_properties>: return location for length of returned array.
17830 static GObject2
.ParamSpec
** /*new*/ container_class_list_child_properties(GObject2
.ObjectClass
* klass
, /*out*/ uint* n_properties
) {
17831 return clutter_container_class_list_child_properties(klass
, n_properties
);
17834 enum int containsas
= 16785931;
17835 enum int copyright
= 169;
17836 enum int cr
= 2532;
17837 enum int crossinglines
= 2542;
17838 enum int cuberoot
= 16785947;
17839 enum int currency
= 164;
17840 enum int cursor
= 2815;
17842 enum int dabovedot
= 16784907;
17843 enum int dagger
= 2801;
17844 enum int dcaron
= 495;
17845 enum int dead_A
= 65153;
17846 enum int dead_E
= 65155;
17847 enum int dead_I
= 65157;
17848 enum int dead_O
= 65159;
17849 enum int dead_U
= 65161;
17850 enum int dead_a
= 65152;
17851 enum int dead_abovecomma
= 65124;
17852 enum int dead_abovedot
= 65110;
17853 enum int dead_abovereversedcomma
= 65125;
17854 enum int dead_abovering
= 65112;
17855 enum int dead_acute
= 65105;
17856 enum int dead_belowbreve
= 65131;
17857 enum int dead_belowcircumflex
= 65129;
17858 enum int dead_belowcomma
= 65134;
17859 enum int dead_belowdiaeresis
= 65132;
17860 enum int dead_belowdot
= 65120;
17861 enum int dead_belowmacron
= 65128;
17862 enum int dead_belowring
= 65127;
17863 enum int dead_belowtilde
= 65130;
17864 enum int dead_breve
= 65109;
17865 enum int dead_capital_schwa
= 65163;
17866 enum int dead_caron
= 65114;
17867 enum int dead_cedilla
= 65115;
17868 enum int dead_circumflex
= 65106;
17869 enum int dead_currency
= 65135;
17870 enum int dead_dasia
= 65125;
17871 enum int dead_diaeresis
= 65111;
17872 enum int dead_doubleacute
= 65113;
17873 enum int dead_doublegrave
= 65126;
17874 enum int dead_e
= 65154;
17875 enum int dead_grave
= 65104;
17876 enum int dead_hook
= 65121;
17877 enum int dead_horn
= 65122;
17878 enum int dead_i
= 65156;
17879 enum int dead_invertedbreve
= 65133;
17880 enum int dead_iota
= 65117;
17881 enum int dead_macron
= 65108;
17882 enum int dead_o
= 65158;
17883 enum int dead_ogonek
= 65116;
17884 enum int dead_perispomeni
= 65107;
17885 enum int dead_psili
= 65124;
17886 enum int dead_semivoiced_sound
= 65119;
17887 enum int dead_small_schwa
= 65162;
17888 enum int dead_stroke
= 65123;
17889 enum int dead_tilde
= 65107;
17890 enum int dead_u
= 65160;
17891 enum int dead_voiced_sound
= 65118;
17892 enum int decimalpoint
= 2749;
17893 enum int degree
= 176;
17894 enum int diaeresis
= 168;
17895 enum int diamond
= 2797;
17896 enum int digitspace
= 2725;
17897 enum int dintegral
= 16785964;
17898 enum int division
= 247;
17900 // Processes an event.
17902 // The @event must be a valid #ClutterEvent and have a #ClutterStage
17903 // associated to it.
17905 // This function is only useful when embedding Clutter inside another
17906 // toolkit, and it should never be called by applications.
17907 // <event>: a #ClutterEvent.
17908 static void do_event(Event
* event
) {
17909 clutter_do_event(event
);
17912 enum int dollar
= 36;
17913 enum int doubbaselinedot
= 2735;
17914 enum int doubleacute
= 445;
17915 enum int doubledagger
= 2802;
17916 enum int doublelowquotemark
= 2814;
17917 enum int downarrow
= 2302;
17918 enum int downcaret
= 2984;
17919 enum int downshoe
= 3030;
17920 enum int downstile
= 3012;
17921 enum int downtack
= 3010;
17922 enum int dstroke
= 496;
17924 enum int eabovedot
= 1004;
17925 enum int eacute
= 233;
17926 enum int ebelowdot
= 16785081;
17927 enum int ecaron
= 492;
17928 enum int ecircumflex
= 234;
17929 enum int ecircumflexacute
= 16785087;
17930 enum int ecircumflexbelowdot
= 16785095;
17931 enum int ecircumflexgrave
= 16785089;
17932 enum int ecircumflexhook
= 16785091;
17933 enum int ecircumflextilde
= 16785093;
17934 enum int ediaeresis
= 235;
17935 enum int egrave
= 232;
17936 enum int ehook
= 16785083;
17937 enum int eightsubscript
= 16785544;
17938 enum int eightsuperior
= 16785528;
17939 enum int elementof
= 16785928;
17940 enum int ellipsis
= 2734;
17941 enum int em3space
= 2723;
17942 enum int em4space
= 2724;
17943 enum int emacron
= 954;
17944 enum int emdash
= 2729;
17945 enum int emfilledcircle
= 2782;
17946 enum int emfilledrect
= 2783;
17947 enum int emopencircle
= 2766;
17948 enum int emopenrectangle
= 2767;
17949 enum int emptyset
= 16785925;
17950 enum int emspace
= 2721;
17951 enum int endash
= 2730;
17952 enum int enfilledcircbullet
= 2790;
17953 enum int enfilledsqbullet
= 2791;
17954 enum int eng
= 959;
17955 enum int enopencircbullet
= 2784;
17956 enum int enopensquarebullet
= 2785;
17957 enum int enspace
= 2722;
17958 enum int eogonek
= 490;
17959 enum int equal
= 61;
17960 enum int eth
= 240;
17961 enum int etilde
= 16785085;
17963 // Pops an event off the event queue. Applications should not need to call
17965 // RETURNS: A #ClutterEvent or NULL if queue empty
17966 static Event
* /*new*/ event_get() {
17967 return clutter_event_get();
17971 // Returns a pointer to the first event from the event queue but
17972 // does not remove it.
17973 // RETURNS: A #ClutterEvent or NULL if queue empty.
17974 static Event
* event_peek() {
17975 return clutter_event_peek();
17979 // Checks if events are pending in the event queue.
17980 // RETURNS: TRUE if there are pending events, FALSE otherwise.
17981 static int events_pending() {
17982 return clutter_events_pending();
17985 enum int exclam
= 33;
17986 enum int exclamdown
= 161;
17988 enum int fabovedot
= 16784927;
17990 // Checks whether @feature is available. @feature can be a logical
17991 // OR of #ClutterFeatureFlags.
17992 // RETURNS: %TRUE if a feature is available
17993 // <feature>: a #ClutterFeatureFlags
17994 static int feature_available(FeatureFlags feature
) {
17995 return clutter_feature_available(feature
);
17999 // Returns all the supported features.
18000 // RETURNS: a logical OR of all the supported features.
18001 static FeatureFlags
feature_get_all() {
18002 return clutter_feature_get_all();
18005 enum int femalesymbol
= 2808;
18006 enum int ff
= 2531;
18007 enum int figdash
= 2747;
18008 enum int filledlefttribullet
= 2780;
18009 enum int filledrectbullet
= 2779;
18010 enum int filledrighttribullet
= 2781;
18011 enum int filledtribulletdown
= 2793;
18012 enum int filledtribulletup
= 2792;
18013 enum int fiveeighths
= 2757;
18014 enum int fivesixths
= 2743;
18015 enum int fivesubscript
= 16785541;
18016 enum int fivesuperior
= 16785525;
18017 enum int fourfifths
= 2741;
18018 enum int foursubscript
= 16785540;
18019 enum int foursuperior
= 16785524;
18020 enum int fourthroot
= 16785948;
18022 // Unintrospectable function: frame_source_add() / clutter_frame_source_add()
18023 // Simple wrapper around clutter_frame_source_add_full().
18024 // RETURNS: the ID (greater than 0) of the event source.
18025 // <fps>: the number of times per second to call the function
18026 // <func>: function to call
18027 // <data>: data to pass to the function
18028 static uint frame_source_add(uint fps
, GLib2
.SourceFunc func
, void* data
) {
18029 return clutter_frame_source_add(fps
, func
, data
);
18033 // Sets a function to be called at regular intervals with the given
18034 // priority. The function is called repeatedly until it returns
18035 // %FALSE, at which point the timeout is automatically destroyed and
18036 // the function will not be called again. The @notify function is
18037 // called when the timeout is destroyed. The first call to the
18038 // function will be at the end of the first @interval.
18040 // This function is similar to g_timeout_add_full() except that it
18041 // will try to compensate for delays. For example, if @func takes half
18042 // the interval time to execute then the function will be called again
18043 // half the interval time after it finished. In contrast
18044 // g_timeout_add_full() would not fire until a full interval after the
18045 // function completes so the delay between calls would be 1.0 / @fps *
18046 // 1.5. This function does not however try to invoke the function
18047 // multiple times to catch up missing frames if @func takes more than
18048 // @interval ms to execute.
18049 // RETURNS: the ID (greater than 0) of the event source.
18050 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
18051 // <fps>: the number of times per second to call the function
18052 // <func>: function to call
18053 // <data>: data to pass to the function
18054 // <notify>: function to call when the timeout source is removed
18055 static uint frame_source_add_full(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
18056 return clutter_frame_source_add_full(priority
, fps
, func
, data
, notify
);
18059 enum int function_
= 2294;
18061 enum int gabovedot
= 757;
18062 enum int gbreve
= 699;
18063 enum int gcaron
= 16777703;
18064 enum int gcedilla
= 955;
18065 enum int gcircumflex
= 760;
18067 // Returns whether Clutter has accessibility support enabled. As
18068 // least, a value of TRUE means that there are a proper AtkUtil
18069 // implementation available
18070 // RETURNS: %TRUE if Clutter has accessibility support enabled
18071 static int get_accessibility_enabled() {
18072 return clutter_get_accessibility_enabled();
18076 // Retrieves the #ClutterActor with @id_.
18078 // The returned actor does not have its reference count increased.
18079 // RETURNS: the actor with the passed id or %NULL.
18080 // <id_>: a #ClutterActor unique id.
18081 static Actor
* get_actor_by_gid(uint id_
) {
18082 return clutter_get_actor_by_gid(id_
);
18086 // If an event is currently being processed, return that event.
18087 // This function is intended to be used to access event state
18088 // that might not be exposed by higher-level widgets. For
18089 // example, to get the key modifier state from a Button 'clicked'
18091 // RETURNS: The current ClutterEvent, or %NULL if none
18092 static Event
* get_current_event() {
18093 return clutter_get_current_event();
18097 // Retrieves the timestamp of the last event, if there is an
18098 // event or if the event has a timestamp.
18099 // RETURNS: the event timestamp, or %CLUTTER_CURRENT_TIME
18100 static uint get_current_event_time() {
18101 return clutter_get_current_event_time();
18105 // Check if clutter has debugging turned on.
18106 // RETURNS: TRUE if debugging is turned on, FALSE otherwise.
18107 static int get_debug_enabled() {
18108 return clutter_get_debug_enabled();
18112 // Retrieves the default #ClutterBackend used by Clutter. The
18113 // #ClutterBackend holds backend-specific configuration options.
18115 // not ref or unref the returned object. Applications should rarely
18116 // need to use this.
18117 // RETURNS: the default backend. You should
18118 static Backend
* get_default_backend() {
18119 return clutter_get_default_backend();
18123 // Retrieves the default frame rate. See clutter_set_default_frame_rate().
18124 // RETURNS: the default frame rate
18125 static uint get_default_frame_rate() {
18126 return clutter_get_default_frame_rate();
18130 // Retrieves the default direction for the text. The text direction is
18131 // determined by the locale and/or by the <varname>CLUTTER_TEXT_DIRECTION</varname>
18132 // environment variable.
18134 // The default text direction can be overridden on a per-actor basis by using
18135 // clutter_actor_set_text_direction().
18136 // RETURNS: the default text direction
18137 static TextDirection
get_default_text_direction() {
18138 return clutter_get_default_text_direction();
18142 // Gets the current font flags for rendering text. See
18143 // clutter_set_font_flags().
18144 // RETURNS: The font flags
18145 static FontFlags
get_font_flags() {
18146 return clutter_get_font_flags();
18150 // Retrieves the #PangoFontMap instance used by Clutter.
18151 // You can use the global font map object with the COGL
18154 // value is owned by Clutter and it should never be unreferenced.
18155 // RETURNS: the #PangoFontMap instance. The returned
18156 static Pango
.FontMap
* get_font_map() {
18157 return clutter_get_font_map();
18161 // Retrieves the #ClutterInputDevice from its @id_. This is a convenience
18162 // wrapper for clutter_device_manager_get_device() and it is functionally
18166 // ClutterDeviceManager *manager;
18167 // ClutterInputDevice *device;
18169 // manager = clutter_device_manager_get_default ();
18170 // device = clutter_device_manager_get_device (manager, id);
18172 // RETURNS: a #ClutterInputDevice, or %NULL
18173 // <id_>: the unique id for a device
18174 static InputDevice
* get_input_device_for_id(int id_
) {
18175 return clutter_get_input_device_for_id(id_
);
18179 // Queries the current keyboard grab of clutter.
18180 // RETURNS: the actor currently holding the keyboard grab, or NULL if there is no grab.
18181 static Actor
* get_keyboard_grab() {
18182 return clutter_get_keyboard_grab();
18186 // Gets whether the per-actor motion events are enabled.
18187 // RETURNS: %TRUE if the motion events are enabled
18188 static int get_motion_events_enabled() {
18189 return clutter_get_motion_events_enabled();
18193 // Unintrospectable function: get_option_group() / clutter_get_option_group()
18194 // Returns a #GOptionGroup for the command line arguments recognized
18195 // by Clutter. You should add this group to your #GOptionContext with
18196 // g_option_context_add_group(), if you are using g_option_context_parse()
18197 // to parse your commandline arguments.
18199 // Calling g_option_context_parse() with Clutter's #GOptionGroup will result
18200 // in Clutter's initialization. That is, the following code:
18203 // g_option_context_set_main_group (context, clutter_get_option_group ());
18204 // res = g_option_context_parse (context, &argc, &argc, NULL);
18207 // is functionally equivalent to:
18210 // clutter_init (&argc, &argv);
18213 // After g_option_context_parse() on a #GOptionContext containing the
18214 // Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be
18217 // recognized by Clutter
18218 // RETURNS: a #GOptionGroup for the commandline arguments
18219 static GLib2
.OptionGroup
* /*new*/ get_option_group() {
18220 return clutter_get_option_group();
18224 // Unintrospectable function: get_option_group_without_init() / clutter_get_option_group_without_init()
18225 // Returns a #GOptionGroup for the command line arguments recognized
18226 // by Clutter. You should add this group to your #GOptionContext with
18227 // g_option_context_add_group(), if you are using g_option_context_parse()
18228 // to parse your commandline arguments.
18230 // Unlike clutter_get_option_group(), calling g_option_context_parse() with
18231 // the #GOptionGroup returned by this function requires a subsequent explicit
18232 // call to clutter_init(); use this function when needing to set foreign
18233 // display connection with clutter_x11_set_display(), or with
18234 // <function>gtk_clutter_init()</function>.
18236 // recognized by Clutter
18237 // RETURNS: a #GOptionGroup for the commandline arguments
18238 static GLib2
.OptionGroup
* /*new*/ get_option_group_without_init() {
18239 return clutter_get_option_group_without_init();
18243 // Queries the current pointer grab of clutter.
18244 // RETURNS: the actor currently holding the pointer grab, or NULL if there is no grab.
18245 static Actor
* get_pointer_grab() {
18246 return clutter_get_pointer_grab();
18250 // Retrieves the Clutter script id, if any.
18252 // a UI definition file. The returned string is owned by the object and
18253 // should never be modified or freed.
18254 // RETURNS: the script id, or %NULL if @object was not defined inside
18255 // <gobject>: a #GObject
18256 static char* get_script_id(GObject2
.Object
* gobject
) {
18257 return clutter_get_script_id(gobject
);
18261 // Returns whether Clutter should print out the frames per second on the
18262 // console. You can enable this setting either using the
18263 // <literal>CLUTTER_SHOW_FPS</literal> environment variable or passing
18264 // the <literal>--clutter-show-fps</literal> command line argument. *
18265 // RETURNS: %TRUE if Clutter should show the FPS.
18266 static int get_show_fps() {
18267 return clutter_get_show_fps();
18271 // Returns the approximate number of microseconds passed since clutter was
18273 // RETURNS: Number of microseconds since clutter_init() was called.
18274 static c_ulong
get_timestamp() {
18275 return clutter_get_timestamp();
18279 // Grabs keyboard events, after the grab is done keyboard
18280 // events (#ClutterActor::key-press-event and #ClutterActor::key-release-event)
18281 // are delivered to this actor directly. The source set in the event will be
18282 // the actor that would have received the event if the keyboard grab was not
18285 // Like pointer grabs, keyboard grabs should only be used as a last
18288 // See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus()
18289 // to perform a "soft" key grab and assign key focus to a specific actor.
18290 // <actor>: a #ClutterActor
18291 static void grab_keyboard(Actor
* actor
) {
18292 clutter_grab_keyboard(actor
);
18296 // Grabs pointer events, after the grab is done all pointer related events
18297 // (press, motion, release, enter, leave and scroll) are delivered to this
18298 // actor directly without passing through both capture and bubble phases of
18299 // the event delivery chain. The source set in the event will be the actor
18300 // that would have received the event if the pointer grab was not in effect.
18302 // <note><para>Grabs completely override the entire event delivery chain
18303 // done by Clutter. Pointer grabs should only be used as a last resource;
18304 // using the #ClutterActor::captured-event signal should always be the
18305 // preferred way to intercept event delivery to reactive actors.</para></note>
18307 // If you wish to grab all the pointer events for a specific input device,
18308 // you should use clutter_grab_pointer_for_device().
18309 // <actor>: a #ClutterActor
18310 static void grab_pointer(Actor
* actor
) {
18311 clutter_grab_pointer(actor
);
18315 // Grabs all the pointer events coming from the device @id for @actor.
18317 // If @id is -1 then this function is equivalent to clutter_grab_pointer().
18318 // <actor>: a #ClutterActor
18319 // <id_>: a device id, or -1
18320 static void grab_pointer_for_device(Actor
* actor
, int id_
) {
18321 clutter_grab_pointer_for_device(actor
, id_
);
18324 enum int grave
= 96;
18325 enum int greater
= 62;
18326 enum int greaterthanequal
= 2238;
18327 enum int guillemotleft
= 171;
18328 enum int guillemotright
= 187;
18330 enum int hairspace
= 2728;
18331 enum int hcircumflex
= 694;
18332 enum int heart
= 2798;
18333 enum int hebrew_aleph
= 3296;
18334 enum int hebrew_ayin
= 3314;
18335 enum int hebrew_bet
= 3297;
18336 enum int hebrew_beth
= 3297;
18337 enum int hebrew_chet
= 3303;
18338 enum int hebrew_dalet
= 3299;
18339 enum int hebrew_daleth
= 3299;
18340 enum int hebrew_doublelowline
= 3295;
18341 enum int hebrew_finalkaph
= 3306;
18342 enum int hebrew_finalmem
= 3309;
18343 enum int hebrew_finalnun
= 3311;
18344 enum int hebrew_finalpe
= 3315;
18345 enum int hebrew_finalzade
= 3317;
18346 enum int hebrew_finalzadi
= 3317;
18347 enum int hebrew_gimel
= 3298;
18348 enum int hebrew_gimmel
= 3298;
18349 enum int hebrew_he
= 3300;
18350 enum int hebrew_het
= 3303;
18351 enum int hebrew_kaph
= 3307;
18352 enum int hebrew_kuf
= 3319;
18353 enum int hebrew_lamed
= 3308;
18354 enum int hebrew_mem
= 3310;
18355 enum int hebrew_nun
= 3312;
18356 enum int hebrew_pe
= 3316;
18357 enum int hebrew_qoph
= 3319;
18358 enum int hebrew_resh
= 3320;
18359 enum int hebrew_samech
= 3313;
18360 enum int hebrew_samekh
= 3313;
18361 enum int hebrew_shin
= 3321;
18362 enum int hebrew_taf
= 3322;
18363 enum int hebrew_taw
= 3322;
18364 enum int hebrew_tet
= 3304;
18365 enum int hebrew_teth
= 3304;
18366 enum int hebrew_waw
= 3301;
18367 enum int hebrew_yod
= 3305;
18368 enum int hebrew_zade
= 3318;
18369 enum int hebrew_zadi
= 3318;
18370 enum int hebrew_zain
= 3302;
18371 enum int hebrew_zayin
= 3302;
18372 enum int hexagram
= 2778;
18373 enum int horizconnector
= 2211;
18374 enum int horizlinescan1
= 2543;
18375 enum int horizlinescan3
= 2544;
18376 enum int horizlinescan5
= 2545;
18377 enum int horizlinescan7
= 2546;
18378 enum int horizlinescan9
= 2547;
18379 enum int hstroke
= 689;
18380 enum int ht
= 2530;
18381 enum int hyphen
= 173;
18383 enum int iTouch
= 269025120;
18384 enum int iacute
= 237;
18385 enum int ibelowdot
= 16785099;
18386 enum int ibreve
= 16777517;
18387 enum int icircumflex
= 238;
18388 enum int identical
= 2255;
18389 enum int idiaeresis
= 239;
18390 enum int idotless
= 697;
18391 enum int ifonlyif
= 2253;
18392 enum int igrave
= 236;
18393 enum int ihook
= 16785097;
18394 enum int imacron
= 1007;
18395 enum int implies
= 2254;
18396 enum int includedin
= 2266;
18397 enum int includes
= 2267;
18398 enum int infinity
= 2242;
18400 // Initialises everything needed to operate with Clutter and parses some
18401 // standard command line options; @argc and @argv are adjusted accordingly
18402 // so your own code will never see those standard arguments.
18404 // It is safe to call this function multiple times.
18406 // <note>This function will not abort in case of errors during
18407 // initialization; clutter_init() will print out the error message on
18408 // stderr, and will return an error code. It is up to the application
18409 // code to handle this case. If you need to display the error message
18410 // yourself, you can use clutter_init_with_args(), which takes a #GError
18412 // RETURNS: a #ClutterInitError value
18413 // <argc>: The number of arguments in @argv
18414 // <argv>: A pointer to an array of arguments.
18415 static InitError
init(/*inout*/ int* argc
, /*inout*/ char*** argv
=null) {
18416 return clutter_init(argc
, argv
);
18419 static GLib2
.Quark
init_error_quark() {
18420 return clutter_init_error_quark();
18424 // This function does the same work as clutter_init(). Additionally,
18425 // it allows you to add your own command line options, and it
18426 // automatically generates nicely formatted <option>--help</option>
18427 // output. Note that your program will be terminated after writing
18428 // out the help output. Also note that, in case of error, the
18429 // error message will be placed inside @error instead of being
18430 // printed on the display.
18432 // initialised, or other values or #ClutterInitError in case of
18434 // RETURNS: %CLUTTER_INIT_SUCCESS if Clutter has been successfully
18435 // <argc>: a pointer to the number of command line arguments
18436 // <argv>: a pointer to the array of command line arguments
18437 // <parameter_string>: a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal>
18438 // <entries>: a %NULL terminated array of #GOptionEntry<!-- -->s describing the options of your program
18439 // <translation_domain>: a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL
18440 static InitError
init_with_args(/*inout*/ int* argc
, /*inout*/ char*** argv
, char* parameter_string
, GLib2
.OptionEntry
* entries
, char* translation_domain
, GLib2
.Error
** error
=null) {
18441 return clutter_init_with_args(argc
, argv
, parameter_string
, entries
, translation_domain
, error
);
18444 enum int integral
= 2239;
18445 enum int intersection
= 2268;
18446 enum int iogonek
= 999;
18447 enum int itilde
= 949;
18449 enum int jcircumflex
= 700;
18450 enum int jot
= 3018;
18452 enum int kana_A
= 1201;
18453 enum int kana_CHI
= 1217;
18454 enum int kana_E
= 1204;
18455 enum int kana_FU
= 1228;
18456 enum int kana_HA
= 1226;
18457 enum int kana_HE
= 1229;
18458 enum int kana_HI
= 1227;
18459 enum int kana_HO
= 1230;
18460 enum int kana_HU
= 1228;
18461 enum int kana_I
= 1202;
18462 enum int kana_KA
= 1206;
18463 enum int kana_KE
= 1209;
18464 enum int kana_KI
= 1207;
18465 enum int kana_KO
= 1210;
18466 enum int kana_KU
= 1208;
18467 enum int kana_MA
= 1231;
18468 enum int kana_ME
= 1234;
18469 enum int kana_MI
= 1232;
18470 enum int kana_MO
= 1235;
18471 enum int kana_MU
= 1233;
18472 enum int kana_N
= 1245;
18473 enum int kana_NA
= 1221;
18474 enum int kana_NE
= 1224;
18475 enum int kana_NI
= 1222;
18476 enum int kana_NO
= 1225;
18477 enum int kana_NU
= 1223;
18478 enum int kana_O
= 1205;
18479 enum int kana_RA
= 1239;
18480 enum int kana_RE
= 1242;
18481 enum int kana_RI
= 1240;
18482 enum int kana_RO
= 1243;
18483 enum int kana_RU
= 1241;
18484 enum int kana_SA
= 1211;
18485 enum int kana_SE
= 1214;
18486 enum int kana_SHI
= 1212;
18487 enum int kana_SO
= 1215;
18488 enum int kana_SU
= 1213;
18489 enum int kana_TA
= 1216;
18490 enum int kana_TE
= 1219;
18491 enum int kana_TI
= 1217;
18492 enum int kana_TO
= 1220;
18493 enum int kana_TSU
= 1218;
18494 enum int kana_TU
= 1218;
18495 enum int kana_U
= 1203;
18496 enum int kana_WA
= 1244;
18497 enum int kana_WO
= 1190;
18498 enum int kana_YA
= 1236;
18499 enum int kana_YO
= 1238;
18500 enum int kana_YU
= 1237;
18501 enum int kana_a
= 1191;
18502 enum int kana_closingbracket
= 1187;
18503 enum int kana_comma
= 1188;
18504 enum int kana_conjunctive
= 1189;
18505 enum int kana_e
= 1194;
18506 enum int kana_fullstop
= 1185;
18507 enum int kana_i
= 1192;
18508 enum int kana_middledot
= 1189;
18509 enum int kana_o
= 1195;
18510 enum int kana_openingbracket
= 1186;
18511 enum int kana_switch
= 65406;
18512 enum int kana_tsu
= 1199;
18513 enum int kana_tu
= 1199;
18514 enum int kana_u
= 1193;
18515 enum int kana_ya
= 1196;
18516 enum int kana_yo
= 1198;
18517 enum int kana_yu
= 1197;
18518 enum int kappa
= 930;
18519 enum int kcedilla
= 1011;
18521 // Converts @keyval from a Clutter key symbol to the corresponding
18522 // ISO10646 (Unicode) character.
18525 // RETURNS: a Unicode character, or 0 if there is no corresponding
18526 // <keyval>: a key symbol
18527 static uint keysym_to_unicode(uint keyval
) {
18528 return clutter_keysym_to_unicode(keyval
);
18531 enum int kra
= 930;
18533 enum int lacute
= 485;
18534 enum int latincross
= 2777;
18535 enum int lbelowdot
= 16784951;
18536 enum int lcaron
= 437;
18537 enum int lcedilla
= 950;
18538 enum int leftanglebracket
= 2748;
18539 enum int leftarrow
= 2299;
18540 enum int leftcaret
= 2979;
18541 enum int leftdoublequotemark
= 2770;
18542 enum int leftmiddlecurlybrace
= 2223;
18543 enum int leftopentriangle
= 2764;
18544 enum int leftpointer
= 2794;
18545 enum int leftradical
= 2209;
18546 enum int leftshoe
= 3034;
18547 enum int leftsinglequotemark
= 2768;
18548 enum int leftt
= 2548;
18549 enum int lefttack
= 3036;
18550 enum int less
= 60;
18551 enum int lessthanequal
= 2236;
18552 enum int lf
= 2533;
18553 enum int logicaland
= 2270;
18554 enum int logicalor
= 2271;
18555 enum int lowleftcorner
= 2541;
18556 enum int lowrightcorner
= 2538;
18557 enum int lstroke
= 435;
18559 enum int mabovedot
= 16784961;
18560 enum int macron
= 175;
18561 // Starts the Clutter mainloop.
18562 static void main_() {
18567 // Retrieves the depth of the Clutter mainloop.
18568 // RETURNS: The level of the mainloop.
18569 static int main_level() {
18570 return clutter_main_level();
18573 // Terminates the Clutter mainloop.
18574 static void main_quit() {
18575 clutter_main_quit();
18578 enum int malesymbol
= 2807;
18579 enum int maltesecross
= 2800;
18580 enum int marker
= 2751;
18581 enum int masculine
= 186;
18582 enum int minus
= 45;
18583 enum int minutes
= 2774;
18585 enum int multiply
= 215;
18586 enum int musicalflat
= 2806;
18587 enum int musicalsharp
= 2805;
18589 enum int nabla
= 2245;
18590 enum int nacute
= 497;
18591 enum int ncaron
= 498;
18592 enum int ncedilla
= 1009;
18593 enum int ninesubscript
= 16785545;
18594 enum int ninesuperior
= 16785529;
18595 enum int nl
= 2536;
18596 enum int nobreakspace
= 160;
18597 enum int notapproxeq
= 16785991;
18598 enum int notelementof
= 16785929;
18599 enum int notequal
= 2237;
18600 enum int notidentical
= 16786018;
18601 enum int notsign
= 172;
18602 enum int ntilde
= 241;
18603 enum int numbersign
= 35;
18604 enum int numerosign
= 1712;
18606 enum int oacute
= 243;
18607 enum int obarred
= 16777845;
18608 enum int obelowdot
= 16785101;
18609 enum int ocaron
= 16777682;
18610 enum int ocircumflex
= 244;
18611 enum int ocircumflexacute
= 16785105;
18612 enum int ocircumflexbelowdot
= 16785113;
18613 enum int ocircumflexgrave
= 16785107;
18614 enum int ocircumflexhook
= 16785109;
18615 enum int ocircumflextilde
= 16785111;
18616 enum int odiaeresis
= 246;
18617 enum int odoubleacute
= 501;
18618 enum int oe
= 5053;
18619 enum int ogonek
= 434;
18620 enum int ograve
= 242;
18621 enum int ohook
= 16785103;
18622 enum int ohorn
= 16777633;
18623 enum int ohornacute
= 16785115;
18624 enum int ohornbelowdot
= 16785123;
18625 enum int ohorngrave
= 16785117;
18626 enum int ohornhook
= 16785119;
18627 enum int ohorntilde
= 16785121;
18628 enum int omacron
= 1010;
18629 enum int oneeighth
= 2755;
18630 enum int onefifth
= 2738;
18631 enum int onehalf
= 189;
18632 enum int onequarter
= 188;
18633 enum int onesixth
= 2742;
18634 enum int onesubscript
= 16785537;
18635 enum int onesuperior
= 185;
18636 enum int onethird
= 2736;
18637 enum int ooblique
= 248;
18638 enum int openrectbullet
= 2786;
18639 enum int openstar
= 2789;
18640 enum int opentribulletdown
= 2788;
18641 enum int opentribulletup
= 2787;
18642 enum int ordfeminine
= 170;
18643 enum int oslash
= 248;
18644 enum int otilde
= 245;
18645 enum int overbar
= 3008;
18646 enum int overline
= 1150;
18648 enum int pabovedot
= 16784983;
18649 enum int paragraph
= 182;
18651 // Unintrospectable function: param_spec_color() / clutter_param_spec_color()
18652 // Creates a #GParamSpec for properties using #ClutterColor.
18653 // RETURNS: the newly created #GParamSpec
18654 // <name>: name of the property
18655 // <nick>: short name
18656 // <blurb>: description (can be translatable)
18657 // <default_value>: default value
18658 // <flags>: flags for the param spec
18659 static GObject2
.ParamSpec
* param_spec_color(char* name
, char* nick
, char* blurb
, Color
* default_value
, GObject2
.ParamFlags flags
) {
18660 return clutter_param_spec_color(name
, nick
, blurb
, default_value
, flags
);
18664 // Unintrospectable function: param_spec_fixed() / clutter_param_spec_fixed()
18665 // Creates a #GParamSpec for properties using #CoglFixed values
18666 // RETURNS: the newly created #GParamSpec
18667 // <name>: name of the property
18668 // <nick>: short name
18669 // <blurb>: description (can be translatable)
18670 // <minimum>: lower boundary
18671 // <maximum>: higher boundary
18672 // <default_value>: default value
18673 // <flags>: flags for the param spec
18674 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
) {
18675 return clutter_param_spec_fixed(name
, nick
, blurb
, minimum
, maximum
, default_value
, flags
);
18679 // Unintrospectable function: param_spec_units() / clutter_param_spec_units()
18680 // Creates a #GParamSpec for properties using #ClutterUnits.
18681 // RETURNS: the newly created #GParamSpec
18682 // <name>: name of the property
18683 // <nick>: short name
18684 // <blurb>: description (can be translatable)
18685 // <default_type>: the default type for the #ClutterUnits
18686 // <minimum>: lower boundary
18687 // <maximum>: higher boundary
18688 // <default_value>: default value
18689 // <flags>: flags for the param spec
18690 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
) {
18691 return clutter_param_spec_units(name
, nick
, blurb
, default_type
, minimum
, maximum
, default_value
, flags
);
18694 enum int parenleft
= 40;
18695 enum int parenright
= 41;
18696 enum int partdifferential
= 16785922;
18697 enum int partialderivative
= 2287;
18698 enum int percent
= 37;
18699 enum int period
= 46;
18700 enum int periodcentered
= 183;
18701 enum int phonographcopyright
= 2811;
18702 enum int plus
= 43;
18703 enum int plusminus
= 177;
18704 enum int prescription
= 2772;
18705 enum int prolongedsound
= 1200;
18706 enum int punctspace
= 2726;
18708 enum int quad
= 3020;
18709 enum int question
= 63;
18710 enum int questiondown
= 191;
18711 enum int quotedbl
= 34;
18712 enum int quoteleft
= 96;
18713 enum int quoteright
= 39;
18715 enum int racute
= 480;
18716 enum int radical
= 2262;
18717 enum int rcaron
= 504;
18718 enum int rcedilla
= 947;
18720 // Forces a redraw of the entire stage. Applications should never use this
18721 // function, but queue a redraw using clutter_actor_queue_redraw().
18723 // This function should only be used by libraries integrating Clutter from
18724 // within another toolkit.
18725 static void redraw(Stage
* stage
) {
18726 clutter_redraw(stage
);
18729 enum int registered
= 174;
18730 enum int rightanglebracket
= 2750;
18731 enum int rightarrow
= 2301;
18732 enum int rightcaret
= 2982;
18733 enum int rightdoublequotemark
= 2771;
18734 enum int rightmiddlecurlybrace
= 2224;
18735 enum int rightmiddlesummation
= 2231;
18736 enum int rightopentriangle
= 2765;
18737 enum int rightpointer
= 2795;
18738 enum int rightshoe
= 3032;
18739 enum int rightsinglequotemark
= 2769;
18740 enum int rightt
= 2549;
18741 enum int righttack
= 3068;
18743 enum int sabovedot
= 16784993;
18744 enum int sacute
= 438;
18745 enum int scaron
= 441;
18746 enum int scedilla
= 442;
18747 enum int schwa
= 16777817;
18748 enum int scircumflex
= 766;
18749 static GLib2
.Quark
script_error_quark() {
18750 return clutter_script_error_quark();
18753 enum int script_switch
= 65406;
18754 enum int seconds
= 2775;
18755 enum int section
= 167;
18756 enum int semicolon
= 59;
18757 enum int semivoicedsound
= 1247;
18759 // Sets the default frame rate. This frame rate will be used to limit
18760 // the number of frames drawn if Clutter is not able to synchronize
18761 // with the vertical refresh rate of the display. When synchronization
18762 // is possible, this value is ignored.
18763 // <frames_per_sec>: the new default frame rate
18764 static void set_default_frame_rate(uint frames_per_sec
) {
18765 clutter_set_default_frame_rate(frames_per_sec
);
18769 // Sets the font quality options for subsequent text rendering
18772 // Using mipmapped textures will improve the quality for scaled down
18773 // text but will use more texture memory.
18775 // Enabling hinting improves text quality for static text but may
18776 // introduce some artifacts if the text is animated.
18777 // <flags>: The new flags
18778 static void set_font_flags(FontFlags flags
) {
18779 clutter_set_font_flags(flags
);
18783 // Sets whether per-actor motion events should be enabled or not on
18784 // all #ClutterStage<!-- -->s managed by Clutter.
18786 // If @enable is %FALSE the following events will not work:
18788 // <listitem><para>ClutterActor::motion-event, unless on the
18789 // #ClutterStage</para></listitem>
18790 // <listitem><para>ClutterActor::enter-event</para></listitem>
18791 // <listitem><para>ClutterActor::leave-event</para></listitem>
18793 // <enable>: %TRUE to enable per-actor motion events
18794 static void set_motion_events_enabled(int enable
) {
18795 clutter_set_motion_events_enabled(enable
);
18798 enum int seveneighths
= 2758;
18799 enum int sevensubscript
= 16785543;
18800 enum int sevensuperior
= 16785527;
18801 static GLib2
.Quark
shader_error_quark() {
18802 return clutter_shader_error_quark();
18805 enum int signaturemark
= 2762;
18806 enum int signifblank
= 2732;
18807 enum int similarequal
= 2249;
18808 enum int singlelowquotemark
= 2813;
18809 enum int sixsubscript
= 16785542;
18810 enum int sixsuperior
= 16785526;
18811 enum int slash
= 47;
18812 enum int soliddiamond
= 2528;
18813 enum int space
= 32;
18814 enum int squareroot
= 16785946;
18815 enum int ssharp
= 223;
18816 enum int sterling
= 163;
18817 enum int stricteq
= 16786019;
18819 enum int tabovedot
= 16785003;
18820 enum int tcaron
= 443;
18821 enum int tcedilla
= 510;
18822 enum int telephone
= 2809;
18823 enum int telephonerecorder
= 2810;
18824 static GLib2
.Quark
texture_error_quark() {
18825 return clutter_texture_error_quark();
18828 enum int therefore
= 2240;
18829 enum int thinspace
= 2727;
18830 enum int thorn
= 254;
18832 // Unintrospectable function: threads_add_frame_source() / clutter_threads_add_frame_source()
18833 // Simple wrapper around clutter_threads_add_frame_source_full().
18834 // RETURNS: the ID (greater than 0) of the event source.
18835 // <fps>: the number of times per second to call the function
18836 // <func>: function to call
18837 // <data>: data to pass to the function
18838 static uint threads_add_frame_source(uint fps
, GLib2
.SourceFunc func
, void* data
) {
18839 return clutter_threads_add_frame_source(fps
, func
, data
);
18843 // Sets a function to be called at regular intervals holding the Clutter
18844 // threads lock, with the given priority. The function is called repeatedly
18845 // until it returns %FALSE, at which point the timeout is automatically
18846 // removed and the function will not be called again. The @notify function
18847 // is called when the timeout is removed.
18849 // This function is similar to clutter_threads_add_timeout_full()
18850 // except that it will try to compensate for delays. For example, if
18851 // @func takes half the interval time to execute then the function
18852 // will be called again half the interval time after it finished. In
18853 // contrast clutter_threads_add_timeout_full() would not fire until a
18854 // full interval after the function completes so the delay between
18855 // calls would be @interval * 1.5. This function does not however try
18856 // to invoke the function multiple times to catch up missing frames if
18857 // @func takes more than @interval ms to execute.
18859 // See also clutter_threads_add_idle_full().
18860 // RETURNS: the ID (greater than 0) of the event source.
18861 // <priority>: the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
18862 // <fps>: the number of times per second to call the function
18863 // <func>: function to call
18864 // <data>: data to pass to the function
18865 // <notify>: function to call when the timeout source is removed
18866 static uint threads_add_frame_source_full(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
18867 return clutter_threads_add_frame_source_full(priority
, fps
, func
, data
, notify
);
18871 // Unintrospectable function: threads_add_idle() / clutter_threads_add_idle()
18872 // Simple wrapper around clutter_threads_add_idle_full() using the
18873 // default priority.
18874 // RETURNS: the ID (greater than 0) of the event source.
18875 // <func>: function to call
18876 // <data>: data to pass to the function
18877 static uint threads_add_idle(GLib2
.SourceFunc func
, void* data
) {
18878 return clutter_threads_add_idle(func
, data
);
18882 // Adds a function to be called whenever there are no higher priority
18883 // events pending. If the function returns %FALSE it is automatically
18884 // removed from the list of event sources and will not be called again.
18886 // This function can be considered a thread-safe variant of g_idle_add_full():
18887 // it will call @function while holding the Clutter lock. It is logically
18888 // equivalent to the following implementation:
18892 // idle_safe_callback (gpointer data)
18894 // SafeClosure *closure = data;
18895 // gboolean res = FALSE;
18897 // /* mark the critical section */
18899 // clutter_threads_enter();
18901 // /* the callback does not need to acquire the Clutter
18902 // * lock itself, as it is held by the this proxy handler
18904 // res = closure->callback (closure->data);
18906 // clutter_threads_leave();
18911 // add_safe_idle (GSourceFunc callback,
18914 // SafeClosure *closure = g_new0 (SafeClosure, 1);
18916 // closure->callback = callback;
18917 // closure->data = data;
18919 // return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
18920 // idle_safe_callback,
18926 // This function should be used by threaded applications to make sure
18927 // that @func is emitted under the Clutter threads lock and invoked
18928 // from the same thread that started the Clutter main loop. For instance,
18929 // it can be used to update the UI using the results from a worker
18934 // update_ui (gpointer data)
18936 // SomeClosure *closure = data;
18938 // /* it is safe to call Clutter API from this function because
18939 // * it is invoked from the same thread that started the main
18940 // * loop and under the Clutter thread lock
18942 // clutter_label_set_text (CLUTTER_LABEL (closure->label),
18943 // closure->text);
18945 // g_object_unref (closure->label);
18946 // g_free (closure);
18951 // /* within another thread */
18952 // closure = g_new0 (SomeClosure, 1);
18953 // /* always take a reference on GObject instances */
18954 // closure->label = g_object_ref (my_application->label);
18955 // closure->text = g_strdup (processed_text_to_update_the_label);
18957 // clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
18962 // RETURNS: the ID (greater than 0) of the event source.
18963 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE
18964 // <func>: function to call
18965 // <data>: data to pass to the function
18966 // <notify>: functio to call when the idle source is removed
18967 static uint threads_add_idle_full(int priority
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
18968 return clutter_threads_add_idle_full(priority
, func
, data
, notify
);
18972 // Adds a function to be called whenever Clutter is repainting a Stage.
18973 // If the function returns %FALSE it is automatically removed from the
18974 // list of repaint functions and will not be called again.
18976 // This function is guaranteed to be called from within the same thread
18977 // that called clutter_main(), and while the Clutter lock is being held.
18979 // A repaint function is useful to ensure that an update of the scenegraph
18980 // is performed before the scenegraph is repainted; for instance, uploading
18981 // a frame from a video into a #ClutterTexture.
18983 // When the repaint function is removed (either because it returned %FALSE
18984 // or because clutter_threads_remove_repaint_func() has been called) the
18985 // @notify function will be called, if any is set.
18987 // can use the returned integer to remove the repaint function by
18988 // calling clutter_threads_remove_repaint_func().
18989 // RETURNS: the ID (greater than 0) of the repaint function. You
18990 // <func>: the function to be called within the paint cycle
18991 // <data>: data to be passed to the function, or %NULL
18992 // <notify>: function to be called when removing the repaint function, or %NULL
18993 static uint threads_add_repaint_func(GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
18994 return clutter_threads_add_repaint_func(func
, data
, notify
);
18998 // Unintrospectable function: threads_add_timeout() / clutter_threads_add_timeout()
18999 // Simple wrapper around clutter_threads_add_timeout_full().
19000 // RETURNS: the ID (greater than 0) of the event source.
19001 // <interval>: the time between calls to the function, in milliseconds
19002 // <func>: function to call
19003 // <data>: data to pass to the function
19004 static uint threads_add_timeout(uint interval
, GLib2
.SourceFunc func
, void* data
) {
19005 return clutter_threads_add_timeout(interval
, func
, data
);
19009 // Sets a function to be called at regular intervals holding the Clutter
19010 // threads lock, with the given priority. The function is called repeatedly
19011 // until it returns %FALSE, at which point the timeout is automatically
19012 // removed and the function will not be called again. The @notify function
19013 // is called when the timeout is removed.
19015 // The first call to the function will be at the end of the first @interval.
19017 // It is important to note that, due to how the Clutter main loop is
19018 // implemented, the timing will not be accurate and it will not try to
19019 // "keep up" with the interval. A more reliable source is available
19020 // using clutter_threads_add_frame_source_full(), which is also internally
19021 // used by #ClutterTimeline.
19023 // See also clutter_threads_add_idle_full().
19024 // RETURNS: the ID (greater than 0) of the event source.
19025 // <priority>: the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
19026 // <interval>: the time between calls to the function, in milliseconds
19027 // <func>: function to call
19028 // <data>: data to pass to the function
19029 // <notify>: function to call when the timeout source is removed
19030 static uint threads_add_timeout_full(int priority
, uint interval
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
) {
19031 return clutter_threads_add_timeout_full(priority
, interval
, func
, data
, notify
);
19034 // Locks the Clutter thread lock.
19035 static void threads_enter() {
19036 clutter_threads_enter();
19040 // Initialises the Clutter threading mechanism, so that Clutter API can be
19041 // called by multiple threads, using clutter_threads_enter() and
19042 // clutter_threads_leave() to mark the critical sections.
19044 // You must call g_thread_init() before this function.
19046 // This function must be called before clutter_init().
19048 // It is safe to call this function multiple times.
19049 static void threads_init() {
19050 clutter_threads_init();
19053 // Unlocks the Clutter thread lock.
19054 static void threads_leave() {
19055 clutter_threads_leave();
19059 // Removes the repaint function with @handle_id as its id
19060 // <handle_id>: an unsigned integer greater than zero
19061 static void threads_remove_repaint_func(uint handle_id
) {
19062 clutter_threads_remove_repaint_func(handle_id
);
19066 // Unintrospectable function: threads_set_lock_functions() / clutter_threads_set_lock_functions()
19067 // Allows the application to replace the standard method that
19068 // Clutter uses to protect its data structures. Normally, Clutter
19069 // creates a single #GMutex that is locked by clutter_threads_enter(),
19070 // and released by clutter_threads_leave(); using this function an
19071 // application provides, instead, a function @enter_fn that is
19072 // called by clutter_threads_enter() and a function @leave_fn that is
19073 // called by clutter_threads_leave().
19075 // The functions must provide at least same locking functionality
19076 // as the default implementation, but can also do extra application
19077 // specific processing.
19079 // As an example, consider an application that has its own recursive
19080 // lock that when held, holds the Clutter lock as well. When Clutter
19081 // unlocks the Clutter lock when entering a recursive main loop, the
19082 // application must temporarily release its lock as well.
19084 // Most threaded Clutter apps won't need to use this method.
19086 // This method must be called before clutter_threads_init(), and cannot
19087 // be called multiple times.
19088 // <enter_fn>: function called when aquiring the Clutter main lock
19089 // <leave_fn>: function called when releasing the Clutter main lock
19090 static void threads_set_lock_functions(GObject2
.Callback enter_fn
, GObject2
.Callback leave_fn
) {
19091 clutter_threads_set_lock_functions(enter_fn
, leave_fn
);
19094 enum int threeeighths
= 2756;
19095 enum int threefifths
= 2740;
19096 enum int threequarters
= 190;
19097 enum int threesubscript
= 16785539;
19098 enum int threesuperior
= 179;
19100 // Unintrospectable function: timeout_pool_new() / clutter_timeout_pool_new()
19101 // Creates a new timeout pool source. A timeout pool should be used when
19102 // multiple timeout functions, running at the same priority, are needed and
19103 // the g_timeout_add() API might lead to starvation of the time slice of
19104 // the main loop. A timeout pool allocates a single time slice of the main
19105 // loop and runs every timeout function inside it. The timeout pool is
19106 // always sorted, so that the extraction of the next timeout function is
19107 // a constant time operation.
19109 // is owned by the GLib default context and will be automatically
19110 // destroyed when the context is destroyed. It is possible to force
19111 // the destruction of the timeout pool using g_source_destroy()
19112 // RETURNS: the newly created #ClutterTimeoutPool. The created pool
19113 // <priority>: the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
19114 static TimeoutPool
* timeout_pool_new(int priority
) {
19115 return clutter_timeout_pool_new(priority
);
19118 enum int tintegral
= 16785965;
19119 enum int topintegral
= 2212;
19120 enum int topleftparens
= 2219;
19121 enum int topleftradical
= 2210;
19122 enum int topleftsqbracket
= 2215;
19123 enum int topleftsummation
= 2225;
19124 enum int toprightparens
= 2221;
19125 enum int toprightsqbracket
= 2217;
19126 enum int toprightsummation
= 2229;
19127 enum int topt
= 2551;
19128 enum int topvertsummationconnector
= 2227;
19129 enum int trademark
= 2761;
19130 enum int trademarkincircle
= 2763;
19131 enum int tslash
= 956;
19132 enum int twofifths
= 2739;
19133 enum int twosubscript
= 16785538;
19134 enum int twosuperior
= 178;
19135 enum int twothirds
= 2737;
19137 enum int uacute
= 250;
19138 enum int ubelowdot
= 16785125;
19139 enum int ubreve
= 765;
19140 enum int ucircumflex
= 251;
19141 enum int udiaeresis
= 252;
19142 enum int udoubleacute
= 507;
19143 enum int ugrave
= 249;
19144 enum int uhook
= 16785127;
19145 enum int uhorn
= 16777648;
19146 enum int uhornacute
= 16785129;
19147 enum int uhornbelowdot
= 16785137;
19148 enum int uhorngrave
= 16785131;
19149 enum int uhornhook
= 16785133;
19150 enum int uhorntilde
= 16785135;
19151 enum int umacron
= 1022;
19152 enum int underbar
= 3014;
19153 enum int underscore
= 95;
19154 // Removes an existing grab of the keyboard.
19155 static void ungrab_keyboard() {
19156 clutter_ungrab_keyboard();
19159 // Removes an existing grab of the pointer.
19160 static void ungrab_pointer() {
19161 clutter_ungrab_pointer();
19165 // Removes an existing grab of the pointer events for device @id_.
19166 // <id_>: a device id
19167 static void ungrab_pointer_for_device(int id_
) {
19168 clutter_ungrab_pointer_for_device(id_
);
19171 enum int union_
= 2269;
19172 enum int uogonek
= 1017;
19173 enum int uparrow
= 2300;
19174 enum int upcaret
= 2985;
19175 enum int upleftcorner
= 2540;
19176 enum int uprightcorner
= 2539;
19177 enum int upshoe
= 3011;
19178 enum int upstile
= 3027;
19179 enum int uptack
= 3022;
19180 enum int uring
= 505;
19182 // Calculates the nearest power of two, greater than or equal to @a.
19183 // RETURNS: The nearest power of two, greater or equal to @a.
19184 // <a>: Value to get the next power
19185 static int util_next_p2(int a
) {
19186 return clutter_util_next_p2(a
);
19189 enum int utilde
= 1021;
19192 // Gets the #ClutterColor contained in @value.
19193 // RETURNS: the color inside the passed #GValue
19194 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
19195 static Color
* value_get_color(GObject2
.Value
* value
) {
19196 return clutter_value_get_color(value
);
19200 // Unintrospectable function: value_get_fixed() / clutter_value_get_fixed()
19201 // Gets the fixed point value stored inside @value.
19202 // RETURNS: the value inside the passed #GValue
19203 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
19204 static Cogl
.Fixed
value_get_fixed(GObject2
.Value
* value
) {
19205 return clutter_value_get_fixed(value
);
19209 // Retrieves the list of floating point values stored inside
19210 // the passed #GValue. @value must have been initialized with
19211 // %CLUTTER_TYPE_SHADER_FLOAT.
19213 // The returned value is owned by the #GValue and should never
19214 // be modified or freed.
19215 // RETURNS: the pointer to a list of floating point values.
19216 // <value>: a #GValue
19217 // <length>: return location for the number of returned floating point values, or %NULL
19218 static float* value_get_shader_float(GObject2
.Value
* value
, size_t
* length
) {
19219 return clutter_value_get_shader_float(value
, length
);
19223 // Retrieves the list of integer values stored inside the passed
19224 // #GValue. @value must have been initialized with
19225 // %CLUTTER_TYPE_SHADER_INT.
19227 // The returned value is owned by the #GValue and should never
19228 // be modified or freed.
19229 // RETURNS: the pointer to a list of integer values.
19230 // <value>: a #GValue
19231 // <length>: return location for the number of returned integer values, or %NULL
19232 static int* value_get_shader_int(GObject2
.Value
* value
, size_t
* length
) {
19233 return clutter_value_get_shader_int(value
, length
);
19237 // Retrieves a matrix of floating point values stored inside
19238 // the passed #GValue. @value must have been initialized with
19239 // %CLUTTER_TYPE_SHADER_MATRIX.
19241 // of floating point values. The returned value is owned by the #GValue and
19242 // should never be modified or freed.
19243 // RETURNS: the pointer to a matrix
19244 // <value>: a #GValue
19245 // <length>: return location for the number of returned floating point values, or %NULL
19246 static float* value_get_shader_matrix(GObject2
.Value
* value
, /*out*/ size_t
* length
) {
19247 return clutter_value_get_shader_matrix(value
, length
);
19251 // Gets the #ClutterUnits contained in @value.
19252 // RETURNS: the units inside the passed #GValue
19253 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
19254 static Units
* value_get_units(GObject2
.Value
* value
) {
19255 return clutter_value_get_units(value
);
19259 // Sets @value to @color.
19260 // <value>: a #GValue initialized to #CLUTTER_TYPE_COLOR
19261 // <color>: the color to set
19262 static void value_set_color(GObject2
.Value
* value
, Color
* color
) {
19263 clutter_value_set_color(value
, color
);
19267 // Unintrospectable function: value_set_fixed() / clutter_value_set_fixed()
19268 // Sets @value to @fixed_.
19269 // <value>: a #GValue initialized to %COGL_TYPE_FIXED
19270 // <fixed_>: the fixed point value to set
19271 static void value_set_fixed(GObject2
.Value
* value
, Cogl
.Fixed fixed_
) {
19272 clutter_value_set_fixed(value
, fixed_
);
19276 // Sets @floats as the contents of @value. The passed #GValue
19277 // must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.
19278 // <value>: a #GValue
19279 // <size>: number of floating point values in @floats
19280 // <floats>: an array of floating point values
19281 static void value_set_shader_float(GObject2
.Value
* value
, int size
, float* floats
) {
19282 clutter_value_set_shader_float(value
, size
, floats
);
19286 // Sets @ints as the contents of @value. The passed #GValue
19287 // must have been initialized using %CLUTTER_TYPE_SHADER_INT.
19288 // <value>: a #GValue
19289 // <size>: number of integer values in @ints
19290 // <ints>: an array of integer values
19291 static void value_set_shader_int(GObject2
.Value
* value
, int size
, int* ints
) {
19292 clutter_value_set_shader_int(value
, size
, ints
);
19296 // Sets @matrix as the contents of @value. The passed #GValue
19297 // must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.
19298 // <value>: a #GValue
19299 // <size>: number of floating point values in @floats
19300 // <matrix>: a matrix of floating point values
19301 static void value_set_shader_matrix(GObject2
.Value
* value
, int size
, float* matrix
) {
19302 clutter_value_set_shader_matrix(value
, size
, matrix
);
19306 // Sets @value to @units
19307 // <value>: a #GValue initialized to %CLUTTER_TYPE_UNITS
19308 // <units>: the units to set
19309 static void value_set_units(GObject2
.Value
* value
, Units
* units
) {
19310 clutter_value_set_units(value
, units
);
19313 enum int variation
= 2241;
19314 enum int vertbar
= 2552;
19315 enum int vertconnector
= 2214;
19316 enum int voicedsound
= 1246;
19317 enum int vt
= 2537;
19319 enum int wacute
= 16785027;
19320 enum int wcircumflex
= 16777589;
19321 enum int wdiaeresis
= 16785029;
19322 enum int wgrave
= 16785025;
19324 enum int xabovedot
= 16785035;
19326 enum int yacute
= 253;
19327 enum int ybelowdot
= 16785141;
19328 enum int ycircumflex
= 16777591;
19329 enum int ydiaeresis
= 255;
19330 enum int yen
= 165;
19331 enum int ygrave
= 16785139;
19332 enum int yhook
= 16785143;
19333 enum int ytilde
= 16785145;
19335 enum int zabovedot
= 447;
19336 enum int zacute
= 444;
19337 enum int zcaron
= 446;
19338 enum int zerosubscript
= 16785536;
19339 enum int zerosuperior
= 16785520;
19340 enum int zstroke
= 16777654;
19345 void clutter_actor_add_action(Actor
* this_
, Action
* action
);
19346 void clutter_actor_add_action_with_name(Actor
* this_
, char* name
, Action
* action
);
19347 void clutter_actor_add_constraint(Actor
* this_
, Constraint
* constraint
);
19348 void clutter_actor_add_constraint_with_name(Actor
* this_
, char* name
, Constraint
* constraint
);
19349 void clutter_actor_add_effect(Actor
* this_
, Effect
* effect
);
19350 void clutter_actor_add_effect_with_name(Actor
* this_
, char* name
, Effect
* effect
);
19351 void clutter_actor_allocate(Actor
* this_
, ActorBox
* box
, AllocationFlags flags
);
19352 void clutter_actor_allocate_align_fill(Actor
* this_
, ActorBox
* box
, double x_align
, double y_align
, int x_fill
, int y_fill
, AllocationFlags flags
);
19353 void clutter_actor_allocate_available_size(Actor
* this_
, float x
, float y
, float available_width
, float available_height
, AllocationFlags flags
);
19354 void clutter_actor_allocate_preferred_size(Actor
* this_
, AllocationFlags flags
);
19355 Animation
* clutter_actor_animate(Actor
* this_
, c_ulong mode
, uint duration
, char* first_property_name
, ...);
19356 Animation
* clutter_actor_animate_with_alpha(Actor
* this_
, Alpha
* alpha
, char* first_property_name
, ...);
19357 Animation
* clutter_actor_animate_with_alphav(Actor
* this_
, Alpha
* alpha
, int n_properties
, char* properties
, GObject2
.Value
* values
);
19358 Animation
* clutter_actor_animate_with_timeline(Actor
* this_
, c_ulong mode
, Timeline
* timeline
, char* first_property_name
, ...);
19359 Animation
* clutter_actor_animate_with_timelinev(Actor
* this_
, c_ulong mode
, Timeline
* timeline
, int n_properties
, char* properties
, GObject2
.Value
* values
);
19360 Animation
* clutter_actor_animatev(Actor
* this_
, c_ulong mode
, uint duration
, int n_properties
, char* properties
, GObject2
.Value
* values
);
19361 void clutter_actor_apply_relative_transform_to_point(Actor
* this_
, Actor
* ancestor
, Vertex
* point
, /*out*/ Vertex
* vertex
);
19362 void clutter_actor_apply_transform_to_point(Actor
* this_
, Vertex
* point
, /*out*/ Vertex
* vertex
);
19363 void clutter_actor_clear_actions(Actor
* this_
);
19364 void clutter_actor_clear_constraints(Actor
* this_
);
19365 void clutter_actor_clear_effects(Actor
* this_
);
19366 int clutter_actor_contains(Actor
* this_
, Actor
* descendant
);
19367 void clutter_actor_continue_paint(Actor
* this_
);
19368 Pango
.Context
* /*new*/ clutter_actor_create_pango_context(Actor
* this_
);
19369 Pango
.Layout
* /*new*/ clutter_actor_create_pango_layout(Actor
* this_
, char* text
);
19370 void clutter_actor_destroy(Actor
* this_
);
19371 void clutter_actor_detach_animation(Actor
* this_
);
19372 int clutter_actor_event(Actor
* this_
, Event
* event
, int capture
);
19373 void clutter_actor_get_abs_allocation_vertices(Actor
* this_
, /*out*/ Vertex verts
);
19374 Atk
.Object
* clutter_actor_get_accessible(Actor
* this_
);
19375 Action
* clutter_actor_get_action(Actor
* this_
, char* name
);
19376 GLib2
.List
* /*new container*/ clutter_actor_get_actions(Actor
* this_
);
19377 void clutter_actor_get_allocation_box(Actor
* this_
, /*out*/ ActorBox
* box
);
19378 void clutter_actor_get_allocation_geometry(Actor
* this_
, /*out*/ Geometry
* geom
);
19379 void clutter_actor_get_allocation_vertices(Actor
* this_
, Actor
* ancestor
, /*out*/ Vertex verts
);
19380 void clutter_actor_get_anchor_point(Actor
* this_
, /*out*/ float* anchor_x
, /*out*/ float* anchor_y
);
19381 Gravity
clutter_actor_get_anchor_point_gravity(Actor
* this_
);
19382 Animation
* clutter_actor_get_animation(Actor
* this_
);
19383 void clutter_actor_get_clip(Actor
* this_
, /*out*/ float* xoff
=null, /*out*/ float* yoff
=null, /*out*/ float* width
=null, /*out*/ float* height
=null);
19384 int clutter_actor_get_clip_to_allocation(Actor
* this_
);
19385 Constraint
* clutter_actor_get_constraint(Actor
* this_
, char* name
);
19386 GLib2
.List
* /*new container*/ clutter_actor_get_constraints(Actor
* this_
);
19387 float clutter_actor_get_depth(Actor
* this_
);
19388 Effect
* clutter_actor_get_effect(Actor
* this_
, char* name
);
19389 GLib2
.List
* /*new container*/ clutter_actor_get_effects(Actor
* this_
);
19390 int clutter_actor_get_fixed_position_set(Actor
* this_
);
19391 ActorFlags
clutter_actor_get_flags(Actor
* this_
);
19392 void clutter_actor_get_geometry(Actor
* this_
, /*out*/ Geometry
* geometry
);
19393 uint clutter_actor_get_gid(Actor
* this_
);
19394 float clutter_actor_get_height(Actor
* this_
);
19395 char* clutter_actor_get_name(Actor
* this_
);
19396 OffscreenRedirect
clutter_actor_get_offscreen_redirect(Actor
* this_
);
19397 ubyte clutter_actor_get_opacity(Actor
* this_
);
19398 int clutter_actor_get_paint_box(Actor
* this_
, /*out*/ ActorBox
* box
);
19399 ubyte clutter_actor_get_paint_opacity(Actor
* this_
);
19400 int clutter_actor_get_paint_visibility(Actor
* this_
);
19401 PaintVolume
* clutter_actor_get_paint_volume(Actor
* this_
);
19402 Pango
.Context
* clutter_actor_get_pango_context(Actor
* this_
);
19403 Actor
* clutter_actor_get_parent(Actor
* this_
);
19404 void clutter_actor_get_position(Actor
* this_
, /*out*/ float* x
=null, /*out*/ float* y
=null);
19405 void clutter_actor_get_preferred_height(Actor
* this_
, float for_width
, /*out*/ float* min_height_p
=null, /*out*/ float* natural_height_p
=null);
19406 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);
19407 void clutter_actor_get_preferred_width(Actor
* this_
, float for_height
, /*out*/ float* min_width_p
=null, /*out*/ float* natural_width_p
=null);
19408 int clutter_actor_get_reactive(Actor
* this_
);
19409 RequestMode
clutter_actor_get_request_mode(Actor
* this_
);
19410 double clutter_actor_get_rotation(Actor
* this_
, RotateAxis axis
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* z
);
19411 void clutter_actor_get_scale(Actor
* this_
, /*out*/ double* scale_x
=null, /*out*/ double* scale_y
=null);
19412 void clutter_actor_get_scale_center(Actor
* this_
, /*out*/ float* center_x
=null, /*out*/ float* center_y
=null);
19413 Gravity
clutter_actor_get_scale_gravity(Actor
* this_
);
19414 Shader
* clutter_actor_get_shader(Actor
* this_
);
19415 void clutter_actor_get_size(Actor
* this_
, /*out*/ float* width
=null, /*out*/ float* height
=null);
19416 Actor
* clutter_actor_get_stage(Actor
* this_
);
19417 TextDirection
clutter_actor_get_text_direction(Actor
* this_
);
19418 void clutter_actor_get_transformation_matrix(Actor
* this_
, /*out*/ Cogl
.Matrix
* matrix
);
19419 PaintVolume
* clutter_actor_get_transformed_paint_volume(Actor
* this_
, Actor
* relative_to_ancestor
);
19420 void clutter_actor_get_transformed_position(Actor
* this_
, /*out*/ float* x
=null, /*out*/ float* y
=null);
19421 void clutter_actor_get_transformed_size(Actor
* this_
, /*out*/ float* width
=null, /*out*/ float* height
=null);
19422 float clutter_actor_get_width(Actor
* this_
);
19423 float clutter_actor_get_x(Actor
* this_
);
19424 float clutter_actor_get_y(Actor
* this_
);
19425 Gravity
clutter_actor_get_z_rotation_gravity(Actor
* this_
);
19426 void clutter_actor_grab_key_focus(Actor
* this_
);
19427 int clutter_actor_has_allocation(Actor
* this_
);
19428 int clutter_actor_has_clip(Actor
* this_
);
19429 int clutter_actor_has_key_focus(Actor
* this_
);
19430 int clutter_actor_has_overlaps(Actor
* this_
);
19431 int clutter_actor_has_pointer(Actor
* this_
);
19432 void clutter_actor_hide(Actor
* this_
);
19433 void clutter_actor_hide_all(Actor
* this_
);
19434 int clutter_actor_is_in_clone_paint(Actor
* this_
);
19435 int clutter_actor_is_rotated(Actor
* this_
);
19436 int clutter_actor_is_scaled(Actor
* this_
);
19437 void clutter_actor_lower(Actor
* this_
, Actor
* above
=null);
19438 void clutter_actor_lower_bottom(Actor
* this_
);
19439 void clutter_actor_map(Actor
* this_
);
19440 void clutter_actor_move_anchor_point(Actor
* this_
, float anchor_x
, float anchor_y
);
19441 void clutter_actor_move_anchor_point_from_gravity(Actor
* this_
, Gravity gravity
);
19442 void clutter_actor_move_by(Actor
* this_
, float dx
, float dy
);
19443 void clutter_actor_paint(Actor
* this_
);
19444 void clutter_actor_pop_internal(Actor
* this_
);
19445 void clutter_actor_push_internal(Actor
* this_
);
19446 void clutter_actor_queue_redraw(Actor
* this_
);
19447 void clutter_actor_queue_relayout(Actor
* this_
);
19448 void clutter_actor_raise(Actor
* this_
, Actor
* below
=null);
19449 void clutter_actor_raise_top(Actor
* this_
);
19450 void clutter_actor_realize(Actor
* this_
);
19451 void clutter_actor_remove_action(Actor
* this_
, Action
* action
);
19452 void clutter_actor_remove_action_by_name(Actor
* this_
, char* name
);
19453 void clutter_actor_remove_clip(Actor
* this_
);
19454 void clutter_actor_remove_constraint(Actor
* this_
, Constraint
* constraint
);
19455 void clutter_actor_remove_constraint_by_name(Actor
* this_
, char* name
);
19456 void clutter_actor_remove_effect(Actor
* this_
, Effect
* effect
);
19457 void clutter_actor_remove_effect_by_name(Actor
* this_
, char* name
);
19458 void clutter_actor_reparent(Actor
* this_
, Actor
* new_parent
);
19459 void clutter_actor_set_anchor_point(Actor
* this_
, float anchor_x
, float anchor_y
);
19460 void clutter_actor_set_anchor_point_from_gravity(Actor
* this_
, Gravity gravity
);
19461 void clutter_actor_set_clip(Actor
* this_
, float xoff
, float yoff
, float width
, float height
);
19462 void clutter_actor_set_clip_to_allocation(Actor
* this_
, int clip_set
);
19463 void clutter_actor_set_depth(Actor
* this_
, float depth
);
19464 void clutter_actor_set_fixed_position_set(Actor
* this_
, int is_set
);
19465 void clutter_actor_set_flags(Actor
* this_
, ActorFlags flags
);
19466 void clutter_actor_set_geometry(Actor
* this_
, Geometry
* geometry
);
19467 void clutter_actor_set_height(Actor
* this_
, float height
);
19468 void clutter_actor_set_name(Actor
* this_
, char* name
);
19469 void clutter_actor_set_offscreen_redirect(Actor
* this_
, OffscreenRedirect redirect
);
19470 void clutter_actor_set_opacity(Actor
* this_
, ubyte opacity
);
19471 void clutter_actor_set_parent(Actor
* this_
, Actor
* parent
);
19472 void clutter_actor_set_position(Actor
* this_
, float x
, float y
);
19473 void clutter_actor_set_reactive(Actor
* this_
, int reactive
);
19474 void clutter_actor_set_request_mode(Actor
* this_
, RequestMode mode
);
19475 void clutter_actor_set_rotation(Actor
* this_
, RotateAxis axis
, double angle
, float x
, float y
, float z
);
19476 void clutter_actor_set_scale(Actor
* this_
, double scale_x
, double scale_y
);
19477 void clutter_actor_set_scale_full(Actor
* this_
, double scale_x
, double scale_y
, float center_x
, float center_y
);
19478 void clutter_actor_set_scale_with_gravity(Actor
* this_
, double scale_x
, double scale_y
, Gravity gravity
);
19479 int clutter_actor_set_shader(Actor
* this_
, Shader
* shader
=null);
19480 void clutter_actor_set_shader_param(Actor
* this_
, char* param
, GObject2
.Value
* value
);
19481 void clutter_actor_set_shader_param_float(Actor
* this_
, char* param
, float value
);
19482 void clutter_actor_set_shader_param_int(Actor
* this_
, char* param
, int value
);
19483 void clutter_actor_set_size(Actor
* this_
, float width
, float height
);
19484 void clutter_actor_set_text_direction(Actor
* this_
, TextDirection text_dir
);
19485 void clutter_actor_set_width(Actor
* this_
, float width
);
19486 void clutter_actor_set_x(Actor
* this_
, float x
);
19487 void clutter_actor_set_y(Actor
* this_
, float y
);
19488 void clutter_actor_set_z_rotation_from_gravity(Actor
* this_
, double angle
, Gravity gravity
);
19489 int clutter_actor_should_pick_paint(Actor
* this_
);
19490 void clutter_actor_show(Actor
* this_
);
19491 void clutter_actor_show_all(Actor
* this_
);
19492 int clutter_actor_transform_stage_point(Actor
* this_
, float x
, float y
, /*out*/ float* x_out
, /*out*/ float* y_out
);
19493 void clutter_actor_unmap(Actor
* this_
);
19494 void clutter_actor_unparent(Actor
* this_
);
19495 void clutter_actor_unrealize(Actor
* this_
);
19496 void clutter_actor_unset_flags(Actor
* this_
, ActorFlags flags
);
19497 ActorBox
* /*new*/ clutter_actor_box_new(float x_1
, float y_1
, float x_2
, float y_2
);
19498 void clutter_actor_box_clamp_to_pixel(ActorBox
* this_
);
19499 int clutter_actor_box_contains(ActorBox
* this_
, float x
, float y
);
19500 ActorBox
* /*new*/ clutter_actor_box_copy(ActorBox
* this_
);
19501 int clutter_actor_box_equal(ActorBox
* this_
, ActorBox
* box_b
);
19502 void clutter_actor_box_free(ActorBox
* this_
);
19503 void clutter_actor_box_from_vertices(ActorBox
* this_
, Vertex verts
);
19504 float clutter_actor_box_get_area(ActorBox
* this_
);
19505 float clutter_actor_box_get_height(ActorBox
* this_
);
19506 void clutter_actor_box_get_origin(ActorBox
* this_
, /*out*/ float* x
=null, /*out*/ float* y
=null);
19507 void clutter_actor_box_get_size(ActorBox
* this_
, /*out*/ float* width
=null, /*out*/ float* height
=null);
19508 float clutter_actor_box_get_width(ActorBox
* this_
);
19509 float clutter_actor_box_get_x(ActorBox
* this_
);
19510 float clutter_actor_box_get_y(ActorBox
* this_
);
19511 void clutter_actor_box_interpolate(ActorBox
* this_
, ActorBox
* final_
, double progress
, /*out*/ ActorBox
* result
);
19512 void clutter_actor_box_set_origin(ActorBox
* this_
, float x
, float y
);
19513 void clutter_actor_box_set_size(ActorBox
* this_
, float width
, float height
);
19514 void clutter_actor_box_union(ActorBox
* this_
, ActorBox
* b
, /*out*/ ActorBox
* result
);
19515 Actor
* clutter_actor_meta_get_actor(ActorMeta
* this_
);
19516 int clutter_actor_meta_get_enabled(ActorMeta
* this_
);
19517 char* clutter_actor_meta_get_name(ActorMeta
* this_
);
19518 void clutter_actor_meta_set_enabled(ActorMeta
* this_
, int is_enabled
);
19519 void clutter_actor_meta_set_name(ActorMeta
* this_
, char* name
);
19520 AlignConstraint
* clutter_align_constraint_new(Actor
* source
, AlignAxis axis
, float factor
);
19521 AlignAxis
clutter_align_constraint_get_align_axis(AlignConstraint
* this_
);
19522 float clutter_align_constraint_get_factor(AlignConstraint
* this_
);
19523 Actor
* clutter_align_constraint_get_source(AlignConstraint
* this_
);
19524 void clutter_align_constraint_set_align_axis(AlignConstraint
* this_
, AlignAxis axis
);
19525 void clutter_align_constraint_set_factor(AlignConstraint
* this_
, float factor
);
19526 void clutter_align_constraint_set_source(AlignConstraint
* this_
, Actor
* source
=null);
19527 Alpha
* clutter_alpha_new();
19528 Alpha
* clutter_alpha_new_full(Timeline
* timeline
, c_ulong mode
);
19529 Alpha
* clutter_alpha_new_with_func(Timeline
* timeline
, AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
);
19530 c_ulong
clutter_alpha_register_closure(GObject2
.Closure
* closure
);
19531 c_ulong
clutter_alpha_register_func(AlphaFunc func
, void* data
);
19532 double clutter_alpha_get_alpha(Alpha
* this_
);
19533 c_ulong
clutter_alpha_get_mode(Alpha
* this_
);
19534 Timeline
* clutter_alpha_get_timeline(Alpha
* this_
);
19535 void clutter_alpha_set_closure(Alpha
* this_
, GObject2
.Closure
* closure
);
19536 void clutter_alpha_set_func(Alpha
* this_
, AlphaFunc func
, void* data
, GLib2
.DestroyNotify destroy
);
19537 void clutter_alpha_set_mode(Alpha
* this_
, c_ulong mode
);
19538 void clutter_alpha_set_timeline(Alpha
* this_
, Timeline
* timeline
);
19539 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
);
19540 GObject2
.ParamSpec
* clutter_animatable_find_property(Animatable
* this_
, char* property_name
);
19541 void clutter_animatable_get_initial_state(Animatable
* this_
, char* property_name
, GObject2
.Value
* value
);
19542 int clutter_animatable_interpolate_value(Animatable
* this_
, char* property_name
, Interval
* interval
, double progress
, /*out*/ GObject2
.Value
* value
);
19543 void clutter_animatable_set_final_state(Animatable
* this_
, char* property_name
, GObject2
.Value
* value
);
19544 Animation
* /*new*/ clutter_animation_new();
19545 Animation
* clutter_animation_bind(Animation
* this_
, char* property_name
, GObject2
.Value
* final_
);
19546 Animation
* clutter_animation_bind_interval(Animation
* this_
, char* property_name
, Interval
* interval
);
19547 void clutter_animation_completed(Animation
* this_
);
19548 Alpha
* clutter_animation_get_alpha(Animation
* this_
);
19549 uint clutter_animation_get_duration(Animation
* this_
);
19550 Interval
* clutter_animation_get_interval(Animation
* this_
, char* property_name
);
19551 int clutter_animation_get_loop(Animation
* this_
);
19552 c_ulong
clutter_animation_get_mode(Animation
* this_
);
19553 GObject2
.Object
* clutter_animation_get_object(Animation
* this_
);
19554 Timeline
* clutter_animation_get_timeline(Animation
* this_
);
19555 int clutter_animation_has_property(Animation
* this_
, char* property_name
);
19556 void clutter_animation_set_alpha(Animation
* this_
, Alpha
* alpha
);
19557 void clutter_animation_set_duration(Animation
* this_
, uint msecs
);
19558 void clutter_animation_set_loop(Animation
* this_
, int loop);
19559 void clutter_animation_set_mode(Animation
* this_
, c_ulong mode
);
19560 void clutter_animation_set_object(Animation
* this_
, GObject2
.Object
* object
);
19561 void clutter_animation_set_timeline(Animation
* this_
, Timeline
* timeline
);
19562 void clutter_animation_unbind_property(Animation
* this_
, char* property_name
);
19563 Animation
* clutter_animation_update(Animation
* this_
, char* property_name
, GObject2
.Value
* final_
);
19564 void clutter_animation_update_interval(Animation
* this_
, char* property_name
, Interval
* interval
);
19565 Animator
* /*new*/ clutter_animator_new();
19566 int clutter_animator_compute_value(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, double progress
, GObject2
.Value
* value
);
19567 uint clutter_animator_get_duration(Animator
* this_
);
19568 GLib2
.List
* /*new container*/ clutter_animator_get_keys(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, double progress
);
19569 Timeline
* clutter_animator_get_timeline(Animator
* this_
);
19570 int clutter_animator_property_get_ease_in(Animator
* this_
, GObject2
.Object
* object
, char* property_name
);
19571 Interpolation
clutter_animator_property_get_interpolation(Animator
* this_
, GObject2
.Object
* object
, char* property_name
);
19572 void clutter_animator_property_set_ease_in(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, int ease_in
);
19573 void clutter_animator_property_set_interpolation(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, Interpolation interpolation
);
19574 void clutter_animator_remove_key(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, double progress
);
19575 void clutter_animator_set(Animator
* this_
, void* first_object
, char* first_property_name
, uint first_mode
, double first_progress
, ...);
19576 void clutter_animator_set_duration(Animator
* this_
, uint duration
);
19577 Animator
* clutter_animator_set_key(Animator
* this_
, GObject2
.Object
* object
, char* property_name
, uint mode
, double progress
, GObject2
.Value
* value
);
19578 void clutter_animator_set_timeline(Animator
* this_
, Timeline
* timeline
);
19579 Timeline
* clutter_animator_start(Animator
* this_
);
19580 c_ulong
clutter_animator_key_get_mode(AnimatorKey
* this_
);
19581 GObject2
.Object
* clutter_animator_key_get_object(AnimatorKey
* this_
);
19582 double clutter_animator_key_get_progress(AnimatorKey
* this_
);
19583 char* clutter_animator_key_get_property_name(AnimatorKey
* this_
);
19584 Type
clutter_animator_key_get_property_type(AnimatorKey
* this_
);
19585 int clutter_animator_key_get_value(AnimatorKey
* this_
, GObject2
.Value
* value
);
19586 uint clutter_backend_get_double_click_distance(Backend
* this_
);
19587 uint clutter_backend_get_double_click_time(Backend
* this_
);
19588 char* clutter_backend_get_font_name(Backend
* this_
);
19589 cairo
.FontOptions
* clutter_backend_get_font_options(Backend
* this_
);
19590 double clutter_backend_get_resolution(Backend
* this_
);
19591 void clutter_backend_set_double_click_distance(Backend
* this_
, uint distance
);
19592 void clutter_backend_set_double_click_time(Backend
* this_
, uint msec
);
19593 void clutter_backend_set_font_name(Backend
* this_
, char* font_name
);
19594 void clutter_backend_set_font_options(Backend
* this_
, cairo
.FontOptions
* options
);
19595 void clutter_backend_set_resolution(Backend
* this_
, double dpi
);
19596 void clutter_behaviour_actors_foreach(Behaviour
* this_
, BehaviourForeachFunc func
, void* data
);
19597 void clutter_behaviour_apply(Behaviour
* this_
, Actor
* actor
);
19598 GLib2
.SList
* /*new container*/ clutter_behaviour_get_actors(Behaviour
* this_
);
19599 Alpha
* clutter_behaviour_get_alpha(Behaviour
* this_
);
19600 int clutter_behaviour_get_n_actors(Behaviour
* this_
);
19601 Actor
* clutter_behaviour_get_nth_actor(Behaviour
* this_
, int index_
);
19602 int clutter_behaviour_is_applied(Behaviour
* this_
, Actor
* actor
);
19603 void clutter_behaviour_remove(Behaviour
* this_
, Actor
* actor
);
19604 void clutter_behaviour_remove_all(Behaviour
* this_
);
19605 void clutter_behaviour_set_alpha(Behaviour
* this_
, Alpha
* alpha
);
19606 BehaviourDepth
* /*new*/ clutter_behaviour_depth_new(Alpha
* alpha
, int depth_start
, int depth_end
);
19607 void clutter_behaviour_depth_get_bounds(BehaviourDepth
* this_
, /*out*/ int* depth_start
, /*out*/ int* depth_end
);
19608 void clutter_behaviour_depth_set_bounds(BehaviourDepth
* this_
, int depth_start
, int depth_end
);
19609 BehaviourEllipse
* /*new*/ clutter_behaviour_ellipse_new(Alpha
* alpha
, int x
, int y
, int width
, int height
, RotateDirection direction
, double start
, double end
);
19610 double clutter_behaviour_ellipse_get_angle_end(BehaviourEllipse
* this_
);
19611 double clutter_behaviour_ellipse_get_angle_start(BehaviourEllipse
* this_
);
19612 double clutter_behaviour_ellipse_get_angle_tilt(BehaviourEllipse
* this_
, RotateAxis axis
);
19613 void clutter_behaviour_ellipse_get_center(BehaviourEllipse
* this_
, /*out*/ int* x
, /*out*/ int* y
);
19614 RotateDirection
clutter_behaviour_ellipse_get_direction(BehaviourEllipse
* this_
);
19615 int clutter_behaviour_ellipse_get_height(BehaviourEllipse
* this_
);
19616 void clutter_behaviour_ellipse_get_tilt(BehaviourEllipse
* this_
, /*out*/ double* angle_tilt_x
, /*out*/ double* angle_tilt_y
, /*out*/ double* angle_tilt_z
);
19617 int clutter_behaviour_ellipse_get_width(BehaviourEllipse
* this_
);
19618 void clutter_behaviour_ellipse_set_angle_end(BehaviourEllipse
* this_
, double angle_end
);
19619 void clutter_behaviour_ellipse_set_angle_start(BehaviourEllipse
* this_
, double angle_start
);
19620 void clutter_behaviour_ellipse_set_angle_tilt(BehaviourEllipse
* this_
, RotateAxis axis
, double angle_tilt
);
19621 void clutter_behaviour_ellipse_set_center(BehaviourEllipse
* this_
, int x
, int y
);
19622 void clutter_behaviour_ellipse_set_direction(BehaviourEllipse
* this_
, RotateDirection direction
);
19623 void clutter_behaviour_ellipse_set_height(BehaviourEllipse
* this_
, int height
);
19624 void clutter_behaviour_ellipse_set_tilt(BehaviourEllipse
* this_
, double angle_tilt_x
, double angle_tilt_y
, double angle_tilt_z
);
19625 void clutter_behaviour_ellipse_set_width(BehaviourEllipse
* this_
, int width
);
19626 BehaviourOpacity
* /*new*/ clutter_behaviour_opacity_new(Alpha
* alpha
, ubyte opacity_start
, ubyte opacity_end
);
19627 void clutter_behaviour_opacity_get_bounds(BehaviourOpacity
* this_
, /*out*/ ubyte* opacity_start
, /*out*/ ubyte* opacity_end
);
19628 void clutter_behaviour_opacity_set_bounds(BehaviourOpacity
* this_
, ubyte opacity_start
, ubyte opacity_end
);
19629 BehaviourPath
* /*new*/ clutter_behaviour_path_new(Alpha
* alpha
, Path
* path
);
19630 BehaviourPath
* /*new*/ clutter_behaviour_path_new_with_description(Alpha
* alpha
, char* desc
);
19631 BehaviourPath
* /*new*/ clutter_behaviour_path_new_with_knots(Alpha
* alpha
, Knot
* knots
, uint n_knots
);
19632 Path
* clutter_behaviour_path_get_path(BehaviourPath
* this_
);
19633 void clutter_behaviour_path_set_path(BehaviourPath
* this_
, Path
* path
);
19634 BehaviourRotate
* /*new*/ clutter_behaviour_rotate_new(Alpha
* alpha
, RotateAxis axis
, RotateDirection direction
, double angle_start
, double angle_end
);
19635 RotateAxis
clutter_behaviour_rotate_get_axis(BehaviourRotate
* this_
);
19636 void clutter_behaviour_rotate_get_bounds(BehaviourRotate
* this_
, /*out*/ double* angle_start
, /*out*/ double* angle_end
);
19637 void clutter_behaviour_rotate_get_center(BehaviourRotate
* this_
, /*out*/ int* x
, /*out*/ int* y
, /*out*/ int* z
);
19638 RotateDirection
clutter_behaviour_rotate_get_direction(BehaviourRotate
* this_
);
19639 void clutter_behaviour_rotate_set_axis(BehaviourRotate
* this_
, RotateAxis axis
);
19640 void clutter_behaviour_rotate_set_bounds(BehaviourRotate
* this_
, double angle_start
, double angle_end
);
19641 void clutter_behaviour_rotate_set_center(BehaviourRotate
* this_
, int x
, int y
, int z
);
19642 void clutter_behaviour_rotate_set_direction(BehaviourRotate
* this_
, RotateDirection direction
);
19643 BehaviourScale
* /*new*/ clutter_behaviour_scale_new(Alpha
* alpha
, double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
);
19644 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
);
19645 void clutter_behaviour_scale_set_bounds(BehaviourScale
* this_
, double x_scale_start
, double y_scale_start
, double x_scale_end
, double y_scale_end
);
19646 BinLayout
* clutter_bin_layout_new(BinAlignment x_align
, BinAlignment y_align
);
19647 void clutter_bin_layout_add(BinLayout
* this_
, Actor
* child
, BinAlignment x_align
, BinAlignment y_align
);
19648 void clutter_bin_layout_get_alignment(BinLayout
* this_
, Actor
* child
=null, /*out*/ BinAlignment
* x_align
=null, /*out*/ BinAlignment
* y_align
=null);
19649 void clutter_bin_layout_set_alignment(BinLayout
* this_
, Actor
* child
, BinAlignment x_align
, BinAlignment y_align
);
19650 BindConstraint
* clutter_bind_constraint_new(Actor
* source
, BindCoordinate coordinate
, float offset
);
19651 BindCoordinate
clutter_bind_constraint_get_coordinate(BindConstraint
* this_
);
19652 float clutter_bind_constraint_get_offset(BindConstraint
* this_
);
19653 Actor
* clutter_bind_constraint_get_source(BindConstraint
* this_
);
19654 void clutter_bind_constraint_set_coordinate(BindConstraint
* this_
, BindCoordinate coordinate
);
19655 void clutter_bind_constraint_set_offset(BindConstraint
* this_
, float offset
);
19656 void clutter_bind_constraint_set_source(BindConstraint
* this_
, Actor
* source
=null);
19657 BindingPool
* /*new*/ clutter_binding_pool_new(char* name
);
19658 BindingPool
* clutter_binding_pool_find(char* name
);
19659 BindingPool
* clutter_binding_pool_get_for_class(void* klass
);
19660 int clutter_binding_pool_activate(BindingPool
* this_
, uint key_val
, ModifierType modifiers
, GObject2
.Object
* gobject
);
19661 void clutter_binding_pool_block_action(BindingPool
* this_
, char* action_name
);
19662 char* clutter_binding_pool_find_action(BindingPool
* this_
, uint key_val
, ModifierType modifiers
);
19663 void clutter_binding_pool_install_action(BindingPool
* this_
, char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
);
19664 void clutter_binding_pool_install_closure(BindingPool
* this_
, char* action_name
, uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
);
19665 void clutter_binding_pool_override_action(BindingPool
* this_
, uint key_val
, ModifierType modifiers
, GObject2
.Callback callback
, void* data
, GLib2
.DestroyNotify notify
);
19666 void clutter_binding_pool_override_closure(BindingPool
* this_
, uint key_val
, ModifierType modifiers
, GObject2
.Closure
* closure
);
19667 void clutter_binding_pool_remove_action(BindingPool
* this_
, uint key_val
, ModifierType modifiers
);
19668 void clutter_binding_pool_unblock_action(BindingPool
* this_
, char* action_name
);
19669 BlurEffect
* clutter_blur_effect_new();
19670 Box
* clutter_box_new(LayoutManager
* manager
);
19671 void clutter_box_get_color(Box
* this_
, /*out*/ Color
* color
);
19672 LayoutManager
* clutter_box_get_layout_manager(Box
* this_
);
19673 void clutter_box_pack(Box
* this_
, Actor
* actor
, char* first_property
, ...);
19674 void clutter_box_pack_after(Box
* this_
, Actor
* actor
, Actor
* sibling
, char* first_property
, ...);
19675 void clutter_box_pack_at(Box
* this_
, Actor
* actor
, int position
, char* first_property
, ...);
19676 void clutter_box_pack_before(Box
* this_
, Actor
* actor
, Actor
* sibling
, char* first_property
, ...);
19677 void clutter_box_packv(Box
* this_
, Actor
* actor
, uint n_properties
, char* properties
, GObject2
.Value
* values
);
19678 void clutter_box_set_color(Box
* this_
, Color
* color
=null);
19679 void clutter_box_set_layout_manager(Box
* this_
, LayoutManager
* manager
);
19680 BoxLayout
* clutter_box_layout_new();
19681 void clutter_box_layout_get_alignment(BoxLayout
* this_
, Actor
* actor
, /*out*/ BoxAlignment
* x_align
, /*out*/ BoxAlignment
* y_align
);
19682 uint clutter_box_layout_get_easing_duration(BoxLayout
* this_
);
19683 c_ulong
clutter_box_layout_get_easing_mode(BoxLayout
* this_
);
19684 int clutter_box_layout_get_expand(BoxLayout
* this_
, Actor
* actor
);
19685 void clutter_box_layout_get_fill(BoxLayout
* this_
, Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
);
19686 int clutter_box_layout_get_homogeneous(BoxLayout
* this_
);
19687 int clutter_box_layout_get_pack_start(BoxLayout
* this_
);
19688 uint clutter_box_layout_get_spacing(BoxLayout
* this_
);
19689 int clutter_box_layout_get_use_animations(BoxLayout
* this_
);
19690 int clutter_box_layout_get_vertical(BoxLayout
* this_
);
19691 void clutter_box_layout_pack(BoxLayout
* this_
, Actor
* actor
, int expand
, int x_fill
, int y_fill
, BoxAlignment x_align
, BoxAlignment y_align
);
19692 void clutter_box_layout_set_alignment(BoxLayout
* this_
, Actor
* actor
, BoxAlignment x_align
, BoxAlignment y_align
);
19693 void clutter_box_layout_set_easing_duration(BoxLayout
* this_
, uint msecs
);
19694 void clutter_box_layout_set_easing_mode(BoxLayout
* this_
, c_ulong mode
);
19695 void clutter_box_layout_set_expand(BoxLayout
* this_
, Actor
* actor
, int expand
);
19696 void clutter_box_layout_set_fill(BoxLayout
* this_
, Actor
* actor
, int x_fill
, int y_fill
);
19697 void clutter_box_layout_set_homogeneous(BoxLayout
* this_
, int homogeneous
);
19698 void clutter_box_layout_set_pack_start(BoxLayout
* this_
, int pack_start
);
19699 void clutter_box_layout_set_spacing(BoxLayout
* this_
, uint spacing
);
19700 void clutter_box_layout_set_use_animations(BoxLayout
* this_
, int animate
);
19701 void clutter_box_layout_set_vertical(BoxLayout
* this_
, int vertical
);
19702 CairoTexture
* clutter_cairo_texture_new(uint width
, uint height
);
19703 void clutter_cairo_texture_clear(CairoTexture
* this_
);
19704 cairo
.Context
* /*new*/ clutter_cairo_texture_create(CairoTexture
* this_
);
19705 cairo
.Context
* /*new*/ clutter_cairo_texture_create_region(CairoTexture
* this_
, int x_offset
, int y_offset
, int width
, int height
);
19706 int clutter_cairo_texture_get_auto_resize(CairoTexture
* this_
);
19707 void clutter_cairo_texture_get_surface_size(CairoTexture
* this_
, /*out*/ uint* width
, /*out*/ uint* height
);
19708 void clutter_cairo_texture_invalidate(CairoTexture
* this_
);
19709 void clutter_cairo_texture_invalidate_rectangle(CairoTexture
* this_
, cairo
.RectangleInt
* rect
=null);
19710 void clutter_cairo_texture_set_auto_resize(CairoTexture
* this_
, int value
);
19711 void clutter_cairo_texture_set_surface_size(CairoTexture
* this_
, uint width
, uint height
);
19712 Actor
* clutter_child_meta_get_actor(ChildMeta
* this_
);
19713 Container
* clutter_child_meta_get_container(ChildMeta
* this_
);
19714 ClickAction
* clutter_click_action_new();
19715 uint clutter_click_action_get_button(ClickAction
* this_
);
19716 void clutter_click_action_get_coords(ClickAction
* this_
, /*out*/ float* press_x
, /*out*/ float* press_y
);
19717 ModifierType
clutter_click_action_get_state(ClickAction
* this_
);
19718 void clutter_click_action_release(ClickAction
* this_
);
19719 Clone
* clutter_clone_new(Actor
* source
);
19720 Actor
* clutter_clone_get_source(Clone
* this_
);
19721 void clutter_clone_set_source(Clone
* this_
, Actor
* source
);
19722 Color
* /*new*/ clutter_color_new(ubyte red
, ubyte green
, ubyte blue
, ubyte alpha
);
19723 void clutter_color_add(Color
* this_
, Color
* b
, /*out*/ Color
* result
);
19724 Color
* /*new*/ clutter_color_copy(Color
* this_
);
19725 void clutter_color_darken(Color
* this_
, /*out*/ Color
* result
);
19726 void clutter_color_free(Color
* this_
);
19727 void clutter_color_from_hls(Color
* this_
, float hue
, float luminance
, float saturation
);
19728 void clutter_color_from_pixel(Color
* this_
, uint pixel
);
19729 int clutter_color_from_string(Color
* this_
, char* str);
19730 void clutter_color_interpolate(Color
* this_
, Color
* final_
, double progress
, /*out*/ Color
* result
);
19731 void clutter_color_lighten(Color
* this_
, /*out*/ Color
* result
);
19732 void clutter_color_shade(Color
* this_
, double factor
, /*out*/ Color
* result
);
19733 void clutter_color_subtract(Color
* this_
, Color
* b
, /*out*/ Color
* result
);
19734 void clutter_color_to_hls(Color
* this_
, /*out*/ float* hue
, /*out*/ float* luminance
, /*out*/ float* saturation
);
19735 uint clutter_color_to_pixel(Color
* this_
);
19736 char* /*new*/ clutter_color_to_string(Color
* this_
);
19737 int clutter_color_equal(const(void)* v1
, const(void)* v2
);
19738 Color
* clutter_color_get_static(StaticColor color
);
19739 uint clutter_color_hash(const(void)* v
);
19740 ColorizeEffect
* clutter_colorize_effect_new(Color
* tint
);
19741 void clutter_colorize_effect_get_tint(ColorizeEffect
* this_
, /*out*/ Color
* tint
);
19742 void clutter_colorize_effect_set_tint(ColorizeEffect
* this_
, Color
* tint
);
19743 GObject2
.ParamSpec
* clutter_container_class_find_child_property(GObject2
.ObjectClass
* klass
, char* property_name
);
19744 GObject2
.ParamSpec
** /*new*/ clutter_container_class_list_child_properties(GObject2
.ObjectClass
* klass
, /*out*/ uint* n_properties
);
19745 void clutter_container_add(Container
* this_
, Actor
* first_actor
, ...);
19746 void clutter_container_add_actor(Container
* this_
, Actor
* actor
);
19747 void clutter_container_add_valist(Container
* this_
, Actor
* first_actor
, va_list var_args
);
19748 void clutter_container_child_get(Container
* this_
, Actor
* actor
, char* first_prop
, ...);
19749 void clutter_container_child_get_property(Container
* this_
, Actor
* child
, char* property
, GObject2
.Value
* value
);
19750 void clutter_container_child_notify(Container
* this_
, Actor
* child
, GObject2
.ParamSpec
* pspec
);
19751 void clutter_container_child_set(Container
* this_
, Actor
* actor
, char* first_prop
, ...);
19752 void clutter_container_child_set_property(Container
* this_
, Actor
* child
, char* property
, GObject2
.Value
* value
);
19753 void clutter_container_create_child_meta(Container
* this_
, Actor
* actor
);
19754 void clutter_container_destroy_child_meta(Container
* this_
, Actor
* actor
);
19755 Actor
* clutter_container_find_child_by_name(Container
* this_
, char* child_name
);
19756 void clutter_container_foreach(Container
* this_
, Callback callback
, void* user_data
);
19757 void clutter_container_foreach_with_internals(Container
* this_
, Callback callback
, void* user_data
);
19758 ChildMeta
* clutter_container_get_child_meta(Container
* this_
, Actor
* actor
);
19759 GLib2
.List
* /*new container*/ clutter_container_get_children(Container
* this_
);
19760 void clutter_container_lower_child(Container
* this_
, Actor
* actor
, Actor
* sibling
=null);
19761 void clutter_container_raise_child(Container
* this_
, Actor
* actor
, Actor
* sibling
=null);
19762 void clutter_container_remove(Container
* this_
, Actor
* first_actor
, ...);
19763 void clutter_container_remove_actor(Container
* this_
, Actor
* actor
);
19764 void clutter_container_remove_valist(Container
* this_
, Actor
* first_actor
, va_list var_args
);
19765 void clutter_container_sort_depth_order(Container
* this_
);
19766 Cogl
.Handle
clutter_deform_effect_get_back_material(DeformEffect
* this_
);
19767 void clutter_deform_effect_get_n_tiles(DeformEffect
* this_
, /*out*/ uint* x_tiles
, /*out*/ uint* y_tiles
);
19768 void clutter_deform_effect_invalidate(DeformEffect
* this_
);
19769 void clutter_deform_effect_set_back_material(DeformEffect
* this_
, Cogl
.Handle material
=null);
19770 void clutter_deform_effect_set_n_tiles(DeformEffect
* this_
, uint x_tiles
, uint y_tiles
);
19771 DesaturateEffect
* clutter_desaturate_effect_new(double factor
);
19772 double clutter_desaturate_effect_get_factor(DesaturateEffect
* this_
);
19773 void clutter_desaturate_effect_set_factor(DesaturateEffect
* this_
, double factor
);
19774 DeviceManager
* clutter_device_manager_get_default();
19775 InputDevice
* clutter_device_manager_get_core_device(DeviceManager
* this_
, InputDeviceType device_type
);
19776 InputDevice
* clutter_device_manager_get_device(DeviceManager
* this_
, int device_id
);
19777 GLib2
.SList
* /*new container*/ clutter_device_manager_list_devices(DeviceManager
* this_
);
19778 GLib2
.SList
* clutter_device_manager_peek_devices(DeviceManager
* this_
);
19779 DragAction
* clutter_drag_action_new();
19780 DragAxis
clutter_drag_action_get_drag_axis(DragAction
* this_
);
19781 Actor
* clutter_drag_action_get_drag_handle(DragAction
* this_
);
19782 void clutter_drag_action_get_drag_threshold(DragAction
* this_
, /*out*/ uint* x_threshold
, /*out*/ uint* y_threshold
);
19783 void clutter_drag_action_get_motion_coords(DragAction
* this_
, /*out*/ float* motion_x
, /*out*/ float* motion_y
);
19784 void clutter_drag_action_get_press_coords(DragAction
* this_
, /*out*/ float* press_x
, /*out*/ float* press_y
);
19785 void clutter_drag_action_set_drag_axis(DragAction
* this_
, DragAxis axis
);
19786 void clutter_drag_action_set_drag_handle(DragAction
* this_
, Actor
* handle
=null);
19787 void clutter_drag_action_set_drag_threshold(DragAction
* this_
, int x_threshold
, int y_threshold
);
19788 DropAction
* clutter_drop_action_new();
19789 void clutter_effect_queue_repaint(Effect
* this_
);
19790 Event
* /*new*/ clutter_event_new(EventType type
);
19791 Event
* /*new*/ clutter_event_copy(Event
* this_
);
19792 void clutter_event_free(Event
* this_
);
19793 double* clutter_event_get_axes(Event
* this_
, /*out*/ uint* n_axes
);
19794 uint clutter_event_get_button(Event
* this_
);
19795 uint clutter_event_get_click_count(Event
* this_
);
19796 void clutter_event_get_coords(Event
* this_
, /*out*/ float* x
, /*out*/ float* y
);
19797 InputDevice
* clutter_event_get_device(Event
* this_
);
19798 int clutter_event_get_device_id(Event
* this_
);
19799 InputDeviceType
clutter_event_get_device_type(Event
* this_
);
19800 EventFlags
clutter_event_get_flags(Event
* this_
);
19801 ushort clutter_event_get_key_code(Event
* this_
);
19802 uint clutter_event_get_key_symbol(Event
* this_
);
19803 uint clutter_event_get_key_unicode(Event
* this_
);
19804 Actor
* clutter_event_get_related(Event
* this_
);
19805 ScrollDirection
clutter_event_get_scroll_direction(Event
* this_
);
19806 Actor
* clutter_event_get_source(Event
* this_
);
19807 InputDevice
* clutter_event_get_source_device(Event
* this_
);
19808 Stage
* clutter_event_get_stage(Event
* this_
);
19809 ModifierType
clutter_event_get_state(Event
* this_
);
19810 uint clutter_event_get_time(Event
* this_
);
19811 void clutter_event_put(Event
* this_
);
19812 void clutter_event_set_button(Event
* this_
, uint button
);
19813 void clutter_event_set_coords(Event
* this_
, float x
, float y
);
19814 void clutter_event_set_device(Event
* this_
, InputDevice
* device
=null);
19815 void clutter_event_set_flags(Event
* this_
, EventFlags flags
);
19816 void clutter_event_set_key_code(Event
* this_
, ushort key_code
);
19817 void clutter_event_set_key_symbol(Event
* this_
, uint key_sym
);
19818 void clutter_event_set_key_unicode(Event
* this_
, uint key_unicode
);
19819 void clutter_event_set_related(Event
* this_
, Actor
* actor
=null);
19820 void clutter_event_set_scroll_direction(Event
* this_
, ScrollDirection direction
);
19821 void clutter_event_set_source(Event
* this_
, Actor
* actor
=null);
19822 void clutter_event_set_source_device(Event
* this_
, InputDevice
* device
=null);
19823 void clutter_event_set_stage(Event
* this_
, Stage
* stage
=null);
19824 void clutter_event_set_state(Event
* this_
, ModifierType state
);
19825 void clutter_event_set_time(Event
* this_
, uint time_
);
19826 EventType
clutter_event_type(Event
* this_
);
19827 Event
* /*new*/ clutter_event_get();
19828 Event
* clutter_event_peek();
19829 FixedLayout
* clutter_fixed_layout_new();
19830 FlowLayout
* clutter_flow_layout_new(FlowOrientation orientation
);
19831 float clutter_flow_layout_get_column_spacing(FlowLayout
* this_
);
19832 void clutter_flow_layout_get_column_width(FlowLayout
* this_
, /*out*/ float* min_width
, /*out*/ float* max_width
);
19833 int clutter_flow_layout_get_homogeneous(FlowLayout
* this_
);
19834 FlowOrientation
clutter_flow_layout_get_orientation(FlowLayout
* this_
);
19835 void clutter_flow_layout_get_row_height(FlowLayout
* this_
, /*out*/ float* min_height
, /*out*/ float* max_height
);
19836 float clutter_flow_layout_get_row_spacing(FlowLayout
* this_
);
19837 void clutter_flow_layout_set_column_spacing(FlowLayout
* this_
, float spacing
);
19838 void clutter_flow_layout_set_column_width(FlowLayout
* this_
, float min_width
, float max_width
);
19839 void clutter_flow_layout_set_homogeneous(FlowLayout
* this_
, int homogeneous
);
19840 void clutter_flow_layout_set_orientation(FlowLayout
* this_
, FlowOrientation orientation
);
19841 void clutter_flow_layout_set_row_height(FlowLayout
* this_
, float min_height
, float max_height
);
19842 void clutter_flow_layout_set_row_spacing(FlowLayout
* this_
, float spacing
);
19843 int clutter_geometry_intersects(Geometry
* this_
, Geometry
* geometry1
);
19844 void clutter_geometry_union(Geometry
* this_
, Geometry
* geometry_b
, /*out*/ Geometry
* result
);
19845 GestureAction
* clutter_gesture_action_new();
19846 void clutter_gesture_action_get_motion_coords(GestureAction
* this_
, uint device
, /*out*/ float* motion_x
, /*out*/ float* motion_y
);
19847 void clutter_gesture_action_get_press_coords(GestureAction
* this_
, uint device
, /*out*/ float* press_x
, /*out*/ float* press_y
);
19848 void clutter_gesture_action_get_release_coords(GestureAction
* this_
, uint device
, /*out*/ float* release_x
, /*out*/ float* release_y
);
19849 Group
* clutter_group_new();
19850 int clutter_group_get_n_children(Group
* this_
);
19851 Actor
* clutter_group_get_nth_child(Group
* this_
, int index_
);
19852 void clutter_group_remove_all(Group
* this_
);
19853 InputDevice
* clutter_input_device_get_associated_device(InputDevice
* this_
);
19854 InputAxis
clutter_input_device_get_axis(InputDevice
* this_
, uint index_
);
19855 int clutter_input_device_get_axis_value(InputDevice
* this_
, double* axes
, InputAxis axis
, /*out*/ double* value
);
19856 void clutter_input_device_get_device_coords(InputDevice
* this_
, /*out*/ int* x
, /*out*/ int* y
);
19857 int clutter_input_device_get_device_id(InputDevice
* this_
);
19858 InputMode
clutter_input_device_get_device_mode(InputDevice
* this_
);
19859 char* clutter_input_device_get_device_name(InputDevice
* this_
);
19860 InputDeviceType
clutter_input_device_get_device_type(InputDevice
* this_
);
19861 int clutter_input_device_get_enabled(InputDevice
* this_
);
19862 int clutter_input_device_get_has_cursor(InputDevice
* this_
);
19863 int clutter_input_device_get_key(InputDevice
* this_
, uint index_
, /*out*/ uint* keyval
, /*out*/ ModifierType
* modifiers
);
19864 uint clutter_input_device_get_n_axes(InputDevice
* this_
);
19865 uint clutter_input_device_get_n_keys(InputDevice
* this_
);
19866 Actor
* clutter_input_device_get_pointer_actor(InputDevice
* this_
);
19867 Stage
* clutter_input_device_get_pointer_stage(InputDevice
* this_
);
19868 GLib2
.List
* /*new container*/ clutter_input_device_get_slave_devices(InputDevice
* this_
);
19869 void clutter_input_device_set_enabled(InputDevice
* this_
, int enabled
);
19870 void clutter_input_device_set_key(InputDevice
* this_
, uint index_
, uint keyval
, ModifierType modifiers
);
19871 void clutter_input_device_update_from_event(InputDevice
* this_
, Event
* event
, int update_stage
);
19872 Interval
* clutter_interval_new(Type gtype
, ...);
19873 Interval
* clutter_interval_new_with_values(Type gtype
, GObject2
.Value
* initial
, GObject2
.Value
* final_
);
19874 void clutter_interval_register_progress_func(Type value_type
, ProgressFunc func
);
19875 Interval
* /*new*/ clutter_interval_clone(Interval
* this_
);
19876 GObject2
.Value
* clutter_interval_compute(Interval
* this_
, double factor
);
19877 int clutter_interval_compute_value(Interval
* this_
, double factor
, /*out*/ GObject2
.Value
* value
);
19878 void clutter_interval_get_final_value(Interval
* this_
, /*out*/ GObject2
.Value
* value
);
19879 void clutter_interval_get_initial_value(Interval
* this_
, /*out*/ GObject2
.Value
* value
);
19880 void clutter_interval_get_interval(Interval
* this_
, ...);
19881 Type
clutter_interval_get_value_type(Interval
* this_
);
19882 GObject2
.Value
* clutter_interval_peek_final_value(Interval
* this_
);
19883 GObject2
.Value
* clutter_interval_peek_initial_value(Interval
* this_
);
19884 void clutter_interval_set_final_value(Interval
* this_
, GObject2
.Value
* value
);
19885 void clutter_interval_set_initial_value(Interval
* this_
, GObject2
.Value
* value
);
19886 void clutter_interval_set_interval(Interval
* this_
, ...);
19887 int clutter_interval_validate(Interval
* this_
, GObject2
.ParamSpec
* pspec
);
19888 Knot
* /*new*/ clutter_knot_copy(Knot
* this_
);
19889 int clutter_knot_equal(Knot
* this_
, Knot
* knot_b
);
19890 void clutter_knot_free(Knot
* this_
);
19891 void clutter_layout_manager_allocate(LayoutManager
* this_
, Container
* container
, ActorBox
* allocation
, AllocationFlags flags
);
19892 Alpha
* clutter_layout_manager_begin_animation(LayoutManager
* this_
, uint duration
, c_ulong mode
);
19893 void clutter_layout_manager_child_get(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* first_property
, ...);
19894 void clutter_layout_manager_child_get_property(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
);
19895 void clutter_layout_manager_child_set(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* first_property
, ...);
19896 void clutter_layout_manager_child_set_property(LayoutManager
* this_
, Container
* container
, Actor
* actor
, char* property_name
, GObject2
.Value
* value
);
19897 void clutter_layout_manager_end_animation(LayoutManager
* this_
);
19898 GObject2
.ParamSpec
* clutter_layout_manager_find_child_property(LayoutManager
* this_
, char* name
);
19899 double clutter_layout_manager_get_animation_progress(LayoutManager
* this_
);
19900 LayoutMeta
* clutter_layout_manager_get_child_meta(LayoutManager
* this_
, Container
* container
, Actor
* actor
);
19901 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);
19902 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);
19903 void clutter_layout_manager_layout_changed(LayoutManager
* this_
);
19904 GObject2
.ParamSpec
** /*new*/ clutter_layout_manager_list_child_properties(LayoutManager
* this_
, /*out*/ uint* n_pspecs
);
19905 void clutter_layout_manager_set_container(LayoutManager
* this_
, Container
* container
=null);
19906 LayoutManager
* clutter_layout_meta_get_manager(LayoutMeta
* this_
);
19907 ListModel
* /*new*/ clutter_list_model_new(uint n_columns
, ...);
19908 ListModel
* /*new*/ clutter_list_model_newv(uint n_columns
, Type
* types
, char* names
);
19909 double clutter_media_get_audio_volume(Media
* this_
);
19910 double clutter_media_get_buffer_fill(Media
* this_
);
19911 int clutter_media_get_can_seek(Media
* this_
);
19912 double clutter_media_get_duration(Media
* this_
);
19913 int clutter_media_get_playing(Media
* this_
);
19914 double clutter_media_get_progress(Media
* this_
);
19915 char* /*new*/ clutter_media_get_subtitle_font_name(Media
* this_
);
19916 char* /*new*/ clutter_media_get_subtitle_uri(Media
* this_
);
19917 char* /*new*/ clutter_media_get_uri(Media
* this_
);
19918 void clutter_media_set_audio_volume(Media
* this_
, double volume
);
19919 void clutter_media_set_filename(Media
* this_
, char* filename
);
19920 void clutter_media_set_playing(Media
* this_
, int playing
);
19921 void clutter_media_set_progress(Media
* this_
, double progress
);
19922 void clutter_media_set_subtitle_font_name(Media
* this_
, char* font_name
);
19923 void clutter_media_set_subtitle_uri(Media
* this_
, char* uri
);
19924 void clutter_media_set_uri(Media
* this_
, char* uri
);
19925 void clutter_model_append(Model
* this_
, ...);
19926 void clutter_model_appendv(Model
* this_
, uint n_columns
, uint* columns
, GObject2
.Value
* values
);
19927 int clutter_model_filter_iter(Model
* this_
, ModelIter
* iter
);
19928 int clutter_model_filter_row(Model
* this_
, uint row
);
19929 void clutter_model_foreach(Model
* this_
, ModelForeachFunc func
, void* user_data
);
19930 char* clutter_model_get_column_name(Model
* this_
, uint column
);
19931 Type
clutter_model_get_column_type(Model
* this_
, uint column
);
19932 int clutter_model_get_filter_set(Model
* this_
);
19933 ModelIter
* /*new*/ clutter_model_get_first_iter(Model
* this_
);
19934 ModelIter
* /*new*/ clutter_model_get_iter_at_row(Model
* this_
, uint row
);
19935 ModelIter
* /*new*/ clutter_model_get_last_iter(Model
* this_
);
19936 uint clutter_model_get_n_columns(Model
* this_
);
19937 uint clutter_model_get_n_rows(Model
* this_
);
19938 int clutter_model_get_sorting_column(Model
* this_
);
19939 void clutter_model_insert(Model
* this_
, uint row
, ...);
19940 void clutter_model_insert_value(Model
* this_
, uint row
, uint column
, GObject2
.Value
* value
);
19941 void clutter_model_insertv(Model
* this_
, uint row
, uint n_columns
, uint* columns
, GObject2
.Value
* values
);
19942 void clutter_model_prepend(Model
* this_
, ...);
19943 void clutter_model_prependv(Model
* this_
, uint n_columns
, uint* columns
, GObject2
.Value
* values
);
19944 void clutter_model_remove(Model
* this_
, uint row
);
19945 void clutter_model_resort(Model
* this_
);
19946 void clutter_model_set_filter(Model
* this_
, ModelFilterFunc func
, void* user_data
, GLib2
.DestroyNotify notify
);
19947 void clutter_model_set_names(Model
* this_
, uint n_columns
, char* names
);
19948 void clutter_model_set_sort(Model
* this_
, int column
, ModelSortFunc func
, void* user_data
, GLib2
.DestroyNotify notify
);
19949 void clutter_model_set_sorting_column(Model
* this_
, int column
);
19950 void clutter_model_set_types(Model
* this_
, uint n_columns
, Type
* types
);
19951 ModelIter
* /*new*/ clutter_model_iter_copy(ModelIter
* this_
);
19952 void clutter_model_iter_get(ModelIter
* this_
, ...);
19953 Model
* clutter_model_iter_get_model(ModelIter
* this_
);
19954 uint clutter_model_iter_get_row(ModelIter
* this_
);
19955 void clutter_model_iter_get_valist(ModelIter
* this_
, va_list args
);
19956 void clutter_model_iter_get_value(ModelIter
* this_
, uint column
, /*out*/ GObject2
.Value
* value
);
19957 int clutter_model_iter_is_first(ModelIter
* this_
);
19958 int clutter_model_iter_is_last(ModelIter
* this_
);
19959 ModelIter
* clutter_model_iter_next(ModelIter
* this_
);
19960 ModelIter
* clutter_model_iter_prev(ModelIter
* this_
);
19961 void clutter_model_iter_set(ModelIter
* this_
, ...);
19962 void clutter_model_iter_set_valist(ModelIter
* this_
, va_list args
);
19963 void clutter_model_iter_set_value(ModelIter
* this_
, uint column
, GObject2
.Value
* value
);
19964 Cogl
.Handle
/*new*/ clutter_offscreen_effect_create_texture(OffscreenEffect
* this_
, float width
, float height
);
19965 Cogl
.Material
* clutter_offscreen_effect_get_target(OffscreenEffect
* this_
);
19966 int clutter_offscreen_effect_get_target_size(OffscreenEffect
* this_
, /*out*/ float* width
, /*out*/ float* height
);
19967 void clutter_offscreen_effect_paint_target(OffscreenEffect
* this_
);
19968 PageTurnEffect
* clutter_page_turn_effect_new(double period
, double angle
, float radius
);
19969 double clutter_page_turn_effect_get_angle(PageTurnEffect
* this_
);
19970 double clutter_page_turn_effect_get_period(PageTurnEffect
* this_
);
19971 float clutter_page_turn_effect_get_radius(PageTurnEffect
* this_
);
19972 void clutter_page_turn_effect_set_angle(PageTurnEffect
* this_
, double angle
);
19973 void clutter_page_turn_effect_set_period(PageTurnEffect
* this_
, double period
);
19974 void clutter_page_turn_effect_set_radius(PageTurnEffect
* this_
, float radius
);
19975 PaintVolume
* /*new*/ clutter_paint_volume_copy(PaintVolume
* this_
);
19976 void clutter_paint_volume_free(PaintVolume
* this_
);
19977 float clutter_paint_volume_get_depth(PaintVolume
* this_
);
19978 float clutter_paint_volume_get_height(PaintVolume
* this_
);
19979 void clutter_paint_volume_get_origin(PaintVolume
* this_
, /*out*/ Vertex
* vertex
);
19980 float clutter_paint_volume_get_width(PaintVolume
* this_
);
19981 void clutter_paint_volume_set_depth(PaintVolume
* this_
, float depth
);
19982 int clutter_paint_volume_set_from_allocation(PaintVolume
* this_
, Actor
* actor
);
19983 void clutter_paint_volume_set_height(PaintVolume
* this_
, float height
);
19984 void clutter_paint_volume_set_origin(PaintVolume
* this_
, Vertex
* origin
);
19985 void clutter_paint_volume_set_width(PaintVolume
* this_
, float width
);
19986 void clutter_paint_volume_union(PaintVolume
* this_
, PaintVolume
* another_pv
);
19987 Path
* clutter_path_new();
19988 Path
* clutter_path_new_with_description(char* desc
);
19989 void clutter_path_add_cairo_path(Path
* this_
, cairo
.Path
* cpath
);
19990 void clutter_path_add_close(Path
* this_
);
19991 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
);
19992 void clutter_path_add_line_to(Path
* this_
, int x
, int y
);
19993 void clutter_path_add_move_to(Path
* this_
, int x
, int y
);
19994 void clutter_path_add_node(Path
* this_
, PathNode
* node
);
19995 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
);
19996 void clutter_path_add_rel_line_to(Path
* this_
, int x
, int y
);
19997 void clutter_path_add_rel_move_to(Path
* this_
, int x
, int y
);
19998 int clutter_path_add_string(Path
* this_
, char* str);
19999 void clutter_path_clear(Path
* this_
);
20000 void clutter_path_foreach(Path
* this_
, PathCallback callback
, void* user_data
);
20001 char* /*new*/ clutter_path_get_description(Path
* this_
);
20002 uint clutter_path_get_length(Path
* this_
);
20003 uint clutter_path_get_n_nodes(Path
* this_
);
20004 void clutter_path_get_node(Path
* this_
, uint index_
, /*out*/ PathNode
* node
);
20005 GLib2
.SList
* /*new container*/ clutter_path_get_nodes(Path
* this_
);
20006 uint clutter_path_get_position(Path
* this_
, double progress
, /*out*/ Knot
* position
);
20007 void clutter_path_insert_node(Path
* this_
, int index_
, PathNode
* node
);
20008 void clutter_path_remove_node(Path
* this_
, uint index_
);
20009 void clutter_path_replace_node(Path
* this_
, uint index_
, PathNode
* node
);
20010 int clutter_path_set_description(Path
* this_
, char* str);
20011 void clutter_path_to_cairo_path(Path
* this_
, cairo
.Context
* cr
);
20012 PathConstraint
* /*new*/ clutter_path_constraint_new(Path
* path
, float offset
);
20013 float clutter_path_constraint_get_offset(PathConstraint
* this_
);
20014 Path
* clutter_path_constraint_get_path(PathConstraint
* this_
);
20015 void clutter_path_constraint_set_offset(PathConstraint
* this_
, float offset
);
20016 void clutter_path_constraint_set_path(PathConstraint
* this_
, Path
* path
=null);
20017 PathNode
* /*new*/ clutter_path_node_copy(PathNode
* this_
);
20018 int clutter_path_node_equal(PathNode
* this_
, PathNode
* node_b
);
20019 void clutter_path_node_free(PathNode
* this_
);
20020 Rectangle
* clutter_rectangle_new();
20021 Rectangle
* clutter_rectangle_new_with_color(Color
* color
);
20022 void clutter_rectangle_get_border_color(Rectangle
* this_
, /*out*/ Color
* color
);
20023 uint clutter_rectangle_get_border_width(Rectangle
* this_
);
20024 void clutter_rectangle_get_color(Rectangle
* this_
, /*out*/ Color
* color
);
20025 void clutter_rectangle_set_border_color(Rectangle
* this_
, Color
* color
);
20026 void clutter_rectangle_set_border_width(Rectangle
* this_
, uint width
);
20027 void clutter_rectangle_set_color(Rectangle
* this_
, Color
* color
);
20028 Score
* /*new*/ clutter_score_new();
20029 c_ulong
clutter_score_append(Score
* this_
, Timeline
* parent
, Timeline
* timeline
);
20030 c_ulong
clutter_score_append_at_marker(Score
* this_
, Timeline
* parent
, char* marker_name
, Timeline
* timeline
);
20031 int clutter_score_get_loop(Score
* this_
);
20032 Timeline
* clutter_score_get_timeline(Score
* this_
, c_ulong id_
);
20033 int clutter_score_is_playing(Score
* this_
);
20034 GLib2
.SList
* /*new container*/ clutter_score_list_timelines(Score
* this_
);
20035 void clutter_score_pause(Score
* this_
);
20036 void clutter_score_remove(Score
* this_
, c_ulong id_
);
20037 void clutter_score_remove_all(Score
* this_
);
20038 void clutter_score_rewind(Score
* this_
);
20039 void clutter_score_set_loop(Score
* this_
, int loop);
20040 void clutter_score_start(Score
* this_
);
20041 void clutter_score_stop(Score
* this_
);
20042 Script
* /*new*/ clutter_script_new();
20043 void clutter_script_add_search_paths(Script
* this_
, char* paths
, size_t n_paths
);
20044 void clutter_script_add_states(Script
* this_
, char* name
, State
* state
);
20045 void clutter_script_connect_signals(Script
* this_
, void* user_data
);
20046 void clutter_script_connect_signals_full(Script
* this_
, ScriptConnectFunc func
, void* user_data
);
20047 void clutter_script_ensure_objects(Script
* this_
);
20048 GObject2
.Object
* clutter_script_get_object(Script
* this_
, char* name
);
20049 int clutter_script_get_objects(Script
* this_
, char* first_name
, ...);
20050 State
* clutter_script_get_states(Script
* this_
, char* name
=null);
20051 Type
clutter_script_get_type_from_name(Script
* this_
, char* type_name
);
20052 GLib2
.List
* /*new container*/ clutter_script_list_objects(Script
* this_
);
20053 uint clutter_script_load_from_data(Script
* this_
, char* data
, ssize_t length
, GLib2
.Error
** error
);
20054 uint clutter_script_load_from_file(Script
* this_
, char* filename
, GLib2
.Error
** error
);
20055 char* /*new*/ clutter_script_lookup_filename(Script
* this_
, char* filename
);
20056 void clutter_script_unmerge_objects(Script
* this_
, uint merge_id
);
20057 char* clutter_scriptable_get_id(Scriptable
* this_
);
20058 int clutter_scriptable_parse_custom_node(Scriptable
* this_
, Script
* script
, GObject2
.Value
* value
, char* name
, Json
.Node
* node
);
20059 void clutter_scriptable_set_custom_property(Scriptable
* this_
, Script
* script
, char* name
, GObject2
.Value
* value
);
20060 void clutter_scriptable_set_id(Scriptable
* this_
, char* id_
);
20061 Settings
* clutter_settings_get_default();
20062 Shader
* /*new*/ clutter_shader_new();
20063 int clutter_shader_compile(Shader
* this_
, GLib2
.Error
** error
);
20064 Cogl
.Handle
clutter_shader_get_cogl_fragment_shader(Shader
* this_
);
20065 Cogl
.Handle
clutter_shader_get_cogl_program(Shader
* this_
);
20066 Cogl
.Handle
clutter_shader_get_cogl_vertex_shader(Shader
* this_
);
20067 char* clutter_shader_get_fragment_source(Shader
* this_
);
20068 int clutter_shader_get_is_enabled(Shader
* this_
);
20069 char* clutter_shader_get_vertex_source(Shader
* this_
);
20070 int clutter_shader_is_compiled(Shader
* this_
);
20071 void clutter_shader_release(Shader
* this_
);
20072 void clutter_shader_set_fragment_source(Shader
* this_
, char* data
, ssize_t length
);
20073 void clutter_shader_set_is_enabled(Shader
* this_
, int enabled
);
20074 void clutter_shader_set_uniform(Shader
* this_
, char* name
, GObject2
.Value
* value
);
20075 void clutter_shader_set_vertex_source(Shader
* this_
, char* data
, ssize_t length
);
20076 ShaderEffect
* /*new*/ clutter_shader_effect_new(ShaderType shader_type
);
20077 Cogl
.Handle
clutter_shader_effect_get_program(ShaderEffect
* this_
);
20078 Cogl
.Handle
clutter_shader_effect_get_shader(ShaderEffect
* this_
);
20079 int clutter_shader_effect_set_shader_source(ShaderEffect
* this_
, char* source
);
20080 void clutter_shader_effect_set_uniform(ShaderEffect
* this_
, char* name
, Type gtype
, size_t n_values
, ...);
20081 void clutter_shader_effect_set_uniform_value(ShaderEffect
* this_
, char* name
, GObject2
.Value
* value
);
20082 SnapConstraint
* clutter_snap_constraint_new(Actor
* source
, SnapEdge from_edge
, SnapEdge to_edge
, float offset
);
20083 float clutter_snap_constraint_get_offset(SnapConstraint
* this_
);
20084 Actor
* clutter_snap_constraint_get_source(SnapConstraint
* this_
);
20085 void clutter_snap_constraint_set_edges(SnapConstraint
* this_
, SnapEdge from_edge
, SnapEdge to_edge
);
20086 void clutter_snap_constraint_set_offset(SnapConstraint
* this_
, float offset
);
20087 void clutter_snap_constraint_set_source(SnapConstraint
* this_
, Actor
* source
=null);
20088 Stage
* clutter_stage_new();
20089 Clutter
.Actor
* clutter_stage_get_default();
20090 void clutter_stage_ensure_current(Stage
* this_
);
20091 void clutter_stage_ensure_redraw(Stage
* this_
);
20092 void clutter_stage_ensure_viewport(Stage
* this_
);
20093 int clutter_stage_event(Stage
* this_
, Event
* event
);
20094 int clutter_stage_get_accept_focus(Stage
* this_
);
20095 Actor
* clutter_stage_get_actor_at_pos(Stage
* this_
, PickMode pick_mode
, int x
, int y
);
20096 void clutter_stage_get_color(Stage
* this_
, /*out*/ Color
* color
);
20097 void clutter_stage_get_fog(Stage
* this_
, /*out*/ Fog
* fog
);
20098 int clutter_stage_get_fullscreen(Stage
* this_
);
20099 Actor
* clutter_stage_get_key_focus(Stage
* this_
);
20100 void clutter_stage_get_minimum_size(Stage
* this_
, /*out*/ uint* width
, /*out*/ uint* height
);
20101 int clutter_stage_get_motion_events_enabled(Stage
* this_
);
20102 int clutter_stage_get_no_clear_hint(Stage
* this_
);
20103 void clutter_stage_get_perspective(Stage
* this_
, /*out*/ Perspective
* perspective
=null);
20104 void clutter_stage_get_redraw_clip_bounds(Stage
* this_
, /*out*/ cairo
.RectangleInt
* clip
);
20105 int clutter_stage_get_throttle_motion_events(Stage
* this_
);
20106 char* clutter_stage_get_title(Stage
* this_
);
20107 int clutter_stage_get_use_alpha(Stage
* this_
);
20108 int clutter_stage_get_use_fog(Stage
* this_
);
20109 int clutter_stage_get_user_resizable(Stage
* this_
);
20110 void clutter_stage_hide_cursor(Stage
* this_
);
20111 int clutter_stage_is_default(Stage
* this_
);
20112 void clutter_stage_queue_redraw(Stage
* this_
);
20113 ubyte* clutter_stage_read_pixels(Stage
* this_
, int x
, int y
, int width
, int height
);
20114 void clutter_stage_set_accept_focus(Stage
* this_
, int accept_focus
);
20115 void clutter_stage_set_color(Stage
* this_
, Color
* color
);
20116 void clutter_stage_set_fog(Stage
* this_
, Fog
* fog
);
20117 void clutter_stage_set_fullscreen(Stage
* this_
, int fullscreen
);
20118 void clutter_stage_set_key_focus(Stage
* this_
, Actor
* actor
=null);
20119 void clutter_stage_set_minimum_size(Stage
* this_
, uint width
, uint height
);
20120 void clutter_stage_set_motion_events_enabled(Stage
* this_
, int enabled
);
20121 void clutter_stage_set_no_clear_hint(Stage
* this_
, int no_clear
);
20122 void clutter_stage_set_perspective(Stage
* this_
, Perspective
* perspective
);
20123 void clutter_stage_set_throttle_motion_events(Stage
* this_
, int throttle
);
20124 void clutter_stage_set_title(Stage
* this_
, char* title
);
20125 void clutter_stage_set_use_alpha(Stage
* this_
, int use_alpha
);
20126 void clutter_stage_set_use_fog(Stage
* this_
, int fog
);
20127 void clutter_stage_set_user_resizable(Stage
* this_
, int resizable
);
20128 void clutter_stage_show_cursor(Stage
* this_
);
20129 StageManager
* clutter_stage_manager_get_default();
20130 Stage
* clutter_stage_manager_get_default_stage(StageManager
* this_
);
20131 GLib2
.SList
* /*new container*/ clutter_stage_manager_list_stages(StageManager
* this_
);
20132 GLib2
.SList
* clutter_stage_manager_peek_stages(StageManager
* this_
);
20133 void clutter_stage_manager_set_default_stage(StageManager
* this_
, Stage
* stage
);
20134 State
* /*new*/ clutter_state_new();
20135 Animator
* clutter_state_get_animator(State
* this_
, char* source_state_name
, char* target_state_name
);
20136 uint clutter_state_get_duration(State
* this_
, char* source_state_name
=null, char* target_state_name
=null);
20137 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);
20138 char* clutter_state_get_state(State
* this_
);
20139 GLib2
.List
* /*new container*/ clutter_state_get_states(State
* this_
);
20140 Timeline
* clutter_state_get_timeline(State
* this_
);
20141 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);
20142 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
, ...);
20143 void clutter_state_set_animator(State
* this_
, char* source_state_name
, char* target_state_name
, Animator
* animator
=null);
20144 void clutter_state_set_duration(State
* this_
, char* source_state_name
, char* target_state_name
, uint duration
);
20145 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
);
20146 Timeline
* clutter_state_set_state(State
* this_
, char* target_state_name
);
20147 Timeline
* clutter_state_warp_to_state(State
* this_
, char* target_state_name
);
20148 c_ulong
clutter_state_key_get_mode(StateKey
* this_
);
20149 GObject2
.Object
* clutter_state_key_get_object(StateKey
* this_
);
20150 double clutter_state_key_get_post_delay(StateKey
* this_
);
20151 double clutter_state_key_get_pre_delay(StateKey
* this_
);
20152 char* clutter_state_key_get_property_name(StateKey
* this_
);
20153 Type
clutter_state_key_get_property_type(StateKey
* this_
);
20154 char* clutter_state_key_get_source_state_name(StateKey
* this_
);
20155 char* clutter_state_key_get_target_state_name(StateKey
* this_
);
20156 int clutter_state_key_get_value(StateKey
* this_
, GObject2
.Value
* value
);
20157 SwipeAction
* clutter_swipe_action_new();
20158 TableLayout
* clutter_table_layout_new();
20159 void clutter_table_layout_get_alignment(TableLayout
* this_
, Actor
* actor
, /*out*/ TableAlignment
* x_align
, /*out*/ TableAlignment
* y_align
);
20160 int clutter_table_layout_get_column_count(TableLayout
* this_
);
20161 uint clutter_table_layout_get_column_spacing(TableLayout
* this_
);
20162 uint clutter_table_layout_get_easing_duration(TableLayout
* this_
);
20163 c_ulong
clutter_table_layout_get_easing_mode(TableLayout
* this_
);
20164 void clutter_table_layout_get_expand(TableLayout
* this_
, Actor
* actor
, /*out*/ int* x_expand
, /*out*/ int* y_expand
);
20165 void clutter_table_layout_get_fill(TableLayout
* this_
, Actor
* actor
, /*out*/ int* x_fill
, /*out*/ int* y_fill
);
20166 int clutter_table_layout_get_row_count(TableLayout
* this_
);
20167 uint clutter_table_layout_get_row_spacing(TableLayout
* this_
);
20168 void clutter_table_layout_get_span(TableLayout
* this_
, Actor
* actor
, /*out*/ int* column_span
, /*out*/ int* row_span
);
20169 int clutter_table_layout_get_use_animations(TableLayout
* this_
);
20170 void clutter_table_layout_pack(TableLayout
* this_
, Actor
* actor
, int column
, int row
);
20171 void clutter_table_layout_set_alignment(TableLayout
* this_
, Actor
* actor
, TableAlignment x_align
, TableAlignment y_align
);
20172 void clutter_table_layout_set_column_spacing(TableLayout
* this_
, uint spacing
);
20173 void clutter_table_layout_set_easing_duration(TableLayout
* this_
, uint msecs
);
20174 void clutter_table_layout_set_easing_mode(TableLayout
* this_
, c_ulong mode
);
20175 void clutter_table_layout_set_expand(TableLayout
* this_
, Actor
* actor
, int x_expand
, int y_expand
);
20176 void clutter_table_layout_set_fill(TableLayout
* this_
, Actor
* actor
, int x_fill
, int y_fill
);
20177 void clutter_table_layout_set_row_spacing(TableLayout
* this_
, uint spacing
);
20178 void clutter_table_layout_set_span(TableLayout
* this_
, Actor
* actor
, int column_span
, int row_span
);
20179 void clutter_table_layout_set_use_animations(TableLayout
* this_
, int animate
);
20180 Text
* clutter_text_new();
20181 Text
* clutter_text_new_full(char* font_name
, char* text
, Color
* color
);
20182 Text
* clutter_text_new_with_text(char* font_name
, char* text
);
20183 int clutter_text_activate(Text
* this_
);
20184 void clutter_text_delete_chars(Text
* this_
, uint n_chars
);
20185 int clutter_text_delete_selection(Text
* this_
);
20186 void clutter_text_delete_text(Text
* this_
, ssize_t start_pos
, ssize_t end_pos
);
20187 int clutter_text_get_activatable(Text
* this_
);
20188 Pango
.AttrList
* clutter_text_get_attributes(Text
* this_
);
20189 char* /*new*/ clutter_text_get_chars(Text
* this_
, ssize_t start_pos
, ssize_t end_pos
);
20190 void clutter_text_get_color(Text
* this_
, /*out*/ Color
* color
);
20191 void clutter_text_get_cursor_color(Text
* this_
, /*out*/ Color
* color
);
20192 int clutter_text_get_cursor_position(Text
* this_
);
20193 uint clutter_text_get_cursor_size(Text
* this_
);
20194 int clutter_text_get_cursor_visible(Text
* this_
);
20195 int clutter_text_get_editable(Text
* this_
);
20196 Pango
.EllipsizeMode
clutter_text_get_ellipsize(Text
* this_
);
20197 Pango
.FontDescription
* /*new*/ clutter_text_get_font_description(Text
* this_
);
20198 char* clutter_text_get_font_name(Text
* this_
);
20199 int clutter_text_get_justify(Text
* this_
);
20200 Pango
.Layout
* clutter_text_get_layout(Text
* this_
);
20201 void clutter_text_get_layout_offsets(Text
* this_
, /*out*/ int* x
, /*out*/ int* y
);
20202 Pango
.Alignment
clutter_text_get_line_alignment(Text
* this_
);
20203 int clutter_text_get_line_wrap(Text
* this_
);
20204 Pango
.WrapMode
clutter_text_get_line_wrap_mode(Text
* this_
);
20205 int clutter_text_get_max_length(Text
* this_
);
20206 dchar clutter_text_get_password_char(Text
* this_
);
20207 int clutter_text_get_selectable(Text
* this_
);
20208 void clutter_text_get_selected_text_color(Text
* this_
, /*out*/ Color
* color
);
20209 char* /*new*/ clutter_text_get_selection(Text
* this_
);
20210 int clutter_text_get_selection_bound(Text
* this_
);
20211 void clutter_text_get_selection_color(Text
* this_
, /*out*/ Color
* color
);
20212 int clutter_text_get_single_line_mode(Text
* this_
);
20213 char* clutter_text_get_text(Text
* this_
);
20214 int clutter_text_get_use_markup(Text
* this_
);
20215 void clutter_text_insert_text(Text
* this_
, char* text
, ssize_t position
);
20216 void clutter_text_insert_unichar(Text
* this_
, dchar wc
);
20217 int clutter_text_position_to_coords(Text
* this_
, int position
, /*out*/ float* x
, /*out*/ float* y
, /*out*/ float* line_height
);
20218 void clutter_text_set_activatable(Text
* this_
, int activatable
);
20219 void clutter_text_set_attributes(Text
* this_
, Pango
.AttrList
* attrs
);
20220 void clutter_text_set_color(Text
* this_
, Color
* color
);
20221 void clutter_text_set_cursor_color(Text
* this_
, Color
* color
);
20222 void clutter_text_set_cursor_position(Text
* this_
, int position
);
20223 void clutter_text_set_cursor_size(Text
* this_
, int size
);
20224 void clutter_text_set_cursor_visible(Text
* this_
, int cursor_visible
);
20225 void clutter_text_set_editable(Text
* this_
, int editable
);
20226 void clutter_text_set_ellipsize(Text
* this_
, Pango
.EllipsizeMode mode
);
20227 void clutter_text_set_font_description(Text
* this_
, Pango
.FontDescription
* font_desc
);
20228 void clutter_text_set_font_name(Text
* this_
, char* font_name
=null);
20229 void clutter_text_set_justify(Text
* this_
, int justify
);
20230 void clutter_text_set_line_alignment(Text
* this_
, Pango
.Alignment alignment
);
20231 void clutter_text_set_line_wrap(Text
* this_
, int line_wrap
);
20232 void clutter_text_set_line_wrap_mode(Text
* this_
, Pango
.WrapMode wrap_mode
);
20233 void clutter_text_set_markup(Text
* this_
, char* markup
);
20234 void clutter_text_set_max_length(Text
* this_
, int max
);
20235 void clutter_text_set_password_char(Text
* this_
, dchar wc
);
20236 void clutter_text_set_preedit_string(Text
* this_
, char* preedit_str
, Pango
.AttrList
* preedit_attrs
, uint cursor_pos
);
20237 void clutter_text_set_selectable(Text
* this_
, int selectable
);
20238 void clutter_text_set_selected_text_color(Text
* this_
, Color
* color
);
20239 void clutter_text_set_selection(Text
* this_
, ssize_t start_pos
, ssize_t end_pos
);
20240 void clutter_text_set_selection_bound(Text
* this_
, int selection_bound
);
20241 void clutter_text_set_selection_color(Text
* this_
, Color
* color
);
20242 void clutter_text_set_single_line_mode(Text
* this_
, int single_line
);
20243 void clutter_text_set_text(Text
* this_
, char* text
);
20244 void clutter_text_set_use_markup(Text
* this_
, int setting
);
20245 Texture
* clutter_texture_new();
20246 Texture
* clutter_texture_new_from_actor(Actor
* actor
);
20247 Texture
* clutter_texture_new_from_file(char* filename
, GLib2
.Error
** error
);
20248 void clutter_texture_get_base_size(Texture
* this_
, /*out*/ int* width
, /*out*/ int* height
);
20249 Cogl
.Handle
clutter_texture_get_cogl_material(Texture
* this_
);
20250 Cogl
.Handle
clutter_texture_get_cogl_texture(Texture
* this_
);
20251 TextureQuality
clutter_texture_get_filter_quality(Texture
* this_
);
20252 int clutter_texture_get_keep_aspect_ratio(Texture
* this_
);
20253 int clutter_texture_get_load_async(Texture
* this_
);
20254 int clutter_texture_get_load_data_async(Texture
* this_
);
20255 int clutter_texture_get_max_tile_waste(Texture
* this_
);
20256 int clutter_texture_get_pick_with_alpha(Texture
* this_
);
20257 Cogl
.PixelFormat
clutter_texture_get_pixel_format(Texture
* this_
);
20258 void clutter_texture_get_repeat(Texture
* this_
, /*out*/ int* repeat_x
, /*out*/ int* repeat_y
);
20259 int clutter_texture_get_sync_size(Texture
* this_
);
20260 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
);
20261 void clutter_texture_set_cogl_material(Texture
* this_
, Cogl
.Handle cogl_material
);
20262 void clutter_texture_set_cogl_texture(Texture
* this_
, Cogl
.Handle cogl_tex
);
20263 void clutter_texture_set_filter_quality(Texture
* this_
, TextureQuality filter_quality
);
20264 int clutter_texture_set_from_file(Texture
* this_
, char* filename
, GLib2
.Error
** error
);
20265 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
);
20266 int clutter_texture_set_from_yuv_data(Texture
* this_
, ubyte* data
, int width
, int height
, TextureFlags flags
, GLib2
.Error
** error
);
20267 void clutter_texture_set_keep_aspect_ratio(Texture
* this_
, int keep_aspect
);
20268 void clutter_texture_set_load_async(Texture
* this_
, int load_async
);
20269 void clutter_texture_set_load_data_async(Texture
* this_
, int load_async
);
20270 void clutter_texture_set_pick_with_alpha(Texture
* this_
, int pick_with_alpha
);
20271 void clutter_texture_set_repeat(Texture
* this_
, int repeat_x
, int repeat_y
);
20272 void clutter_texture_set_sync_size(Texture
* this_
, int sync_size
);
20273 Timeline
* /*new*/ clutter_timeline_new(uint msecs
);
20274 void clutter_timeline_add_marker_at_time(Timeline
* this_
, char* marker_name
, uint msecs
);
20275 void clutter_timeline_advance(Timeline
* this_
, uint msecs
);
20276 void clutter_timeline_advance_to_marker(Timeline
* this_
, char* marker_name
);
20277 Timeline
* /*new*/ clutter_timeline_clone(Timeline
* this_
);
20278 int clutter_timeline_get_auto_reverse(Timeline
* this_
);
20279 uint clutter_timeline_get_delay(Timeline
* this_
);
20280 uint clutter_timeline_get_delta(Timeline
* this_
);
20281 TimelineDirection
clutter_timeline_get_direction(Timeline
* this_
);
20282 uint clutter_timeline_get_duration(Timeline
* this_
);
20283 uint clutter_timeline_get_elapsed_time(Timeline
* this_
);
20284 int clutter_timeline_get_loop(Timeline
* this_
);
20285 double clutter_timeline_get_progress(Timeline
* this_
);
20286 int clutter_timeline_has_marker(Timeline
* this_
, char* marker_name
);
20287 int clutter_timeline_is_playing(Timeline
* this_
);
20288 char** /*new*/ clutter_timeline_list_markers(Timeline
* this_
, int msecs
, /*out*/ size_t
* n_markers
);
20289 void clutter_timeline_pause(Timeline
* this_
);
20290 void clutter_timeline_remove_marker(Timeline
* this_
, char* marker_name
);
20291 void clutter_timeline_rewind(Timeline
* this_
);
20292 void clutter_timeline_set_auto_reverse(Timeline
* this_
, int reverse
);
20293 void clutter_timeline_set_delay(Timeline
* this_
, uint msecs
);
20294 void clutter_timeline_set_direction(Timeline
* this_
, TimelineDirection direction
);
20295 void clutter_timeline_set_duration(Timeline
* this_
, uint msecs
);
20296 void clutter_timeline_set_loop(Timeline
* this_
, int loop);
20297 void clutter_timeline_skip(Timeline
* this_
, uint msecs
);
20298 void clutter_timeline_start(Timeline
* this_
);
20299 void clutter_timeline_stop(Timeline
* this_
);
20300 uint clutter_timeout_pool_add(TimeoutPool
* this_
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
20301 void clutter_timeout_pool_remove(TimeoutPool
* this_
, uint id_
);
20302 TimeoutPool
* clutter_timeout_pool_new(int priority
);
20303 Units
* /*new*/ clutter_units_copy(Units
* this_
);
20304 void clutter_units_free(Units
* this_
);
20305 void clutter_units_from_cm(Units
* this_
, float cm
);
20306 void clutter_units_from_em(Units
* this_
, float em
);
20307 void clutter_units_from_em_for_font(Units
* this_
, char* font_name
, float em
);
20308 void clutter_units_from_mm(Units
* this_
, float mm
);
20309 void clutter_units_from_pixels(Units
* this_
, int px
);
20310 void clutter_units_from_pt(Units
* this_
, float pt
);
20311 int clutter_units_from_string(Units
* this_
, char* str);
20312 UnitType
clutter_units_get_unit_type(Units
* this_
);
20313 float clutter_units_get_unit_value(Units
* this_
);
20314 float clutter_units_to_pixels(Units
* this_
);
20315 char* /*new*/ clutter_units_to_string(Units
* this_
);
20316 Vertex
* /*new*/ clutter_vertex_new(float x
, float y
, float z
);
20317 Vertex
* /*new*/ clutter_vertex_copy(Vertex
* this_
);
20318 int clutter_vertex_equal(Vertex
* this_
, Vertex
* vertex_b
);
20319 void clutter_vertex_free(Vertex
* this_
);
20320 void clutter_base_init();
20321 void clutter_cairo_set_source_color(cairo
.Context
* cr
, Color
* color
);
20322 int clutter_check_version(uint major
, uint minor
, uint micro
);
20323 void clutter_clear_glyph_cache();
20324 void clutter_do_event(Event
* event
);
20325 int clutter_events_pending();
20326 int clutter_feature_available(FeatureFlags feature
);
20327 FeatureFlags
clutter_feature_get_all();
20328 uint clutter_frame_source_add(uint fps
, GLib2
.SourceFunc func
, void* data
);
20329 uint clutter_frame_source_add_full(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
20330 int clutter_get_accessibility_enabled();
20331 Actor
* clutter_get_actor_by_gid(uint id_
);
20332 Event
* clutter_get_current_event();
20333 uint clutter_get_current_event_time();
20334 int clutter_get_debug_enabled();
20335 Backend
* clutter_get_default_backend();
20336 uint clutter_get_default_frame_rate();
20337 TextDirection
clutter_get_default_text_direction();
20338 FontFlags
clutter_get_font_flags();
20339 Pango
.FontMap
* clutter_get_font_map();
20340 InputDevice
* clutter_get_input_device_for_id(int id_
);
20341 Actor
* clutter_get_keyboard_grab();
20342 int clutter_get_motion_events_enabled();
20343 GLib2
.OptionGroup
* /*new*/ clutter_get_option_group();
20344 GLib2
.OptionGroup
* /*new*/ clutter_get_option_group_without_init();
20345 Actor
* clutter_get_pointer_grab();
20346 char* clutter_get_script_id(GObject2
.Object
* gobject
);
20347 int clutter_get_show_fps();
20348 c_ulong
clutter_get_timestamp();
20349 void clutter_grab_keyboard(Actor
* actor
);
20350 void clutter_grab_pointer(Actor
* actor
);
20351 void clutter_grab_pointer_for_device(Actor
* actor
, int id_
);
20352 InitError
clutter_init(/*inout*/ int* argc
, /*inout*/ char*** argv
=null);
20353 GLib2
.Quark
clutter_init_error_quark();
20354 InitError
clutter_init_with_args(/*inout*/ int* argc
, /*inout*/ char*** argv
, char* parameter_string
, GLib2
.OptionEntry
* entries
, char* translation_domain
, GLib2
.Error
** error
);
20355 uint clutter_keysym_to_unicode(uint keyval
);
20356 void clutter_main();
20357 int clutter_main_level();
20358 void clutter_main_quit();
20359 GObject2
.ParamSpec
* clutter_param_spec_color(char* name
, char* nick
, char* blurb
, Color
* default_value
, GObject2
.ParamFlags flags
);
20360 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
);
20361 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
);
20362 void clutter_redraw(Stage
* stage
);
20363 GLib2
.Quark
clutter_script_error_quark();
20364 void clutter_set_default_frame_rate(uint frames_per_sec
);
20365 void clutter_set_font_flags(FontFlags flags
);
20366 void clutter_set_motion_events_enabled(int enable
);
20367 GLib2
.Quark
clutter_shader_error_quark();
20368 GLib2
.Quark
clutter_texture_error_quark();
20369 uint clutter_threads_add_frame_source(uint fps
, GLib2
.SourceFunc func
, void* data
);
20370 uint clutter_threads_add_frame_source_full(int priority
, uint fps
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
20371 uint clutter_threads_add_idle(GLib2
.SourceFunc func
, void* data
);
20372 uint clutter_threads_add_idle_full(int priority
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
20373 uint clutter_threads_add_repaint_func(GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
20374 uint clutter_threads_add_timeout(uint interval
, GLib2
.SourceFunc func
, void* data
);
20375 uint clutter_threads_add_timeout_full(int priority
, uint interval
, GLib2
.SourceFunc func
, void* data
, GLib2
.DestroyNotify notify
);
20376 void clutter_threads_enter();
20377 void clutter_threads_init();
20378 void clutter_threads_leave();
20379 void clutter_threads_remove_repaint_func(uint handle_id
);
20380 void clutter_threads_set_lock_functions(GObject2
.Callback enter_fn
, GObject2
.Callback leave_fn
);
20381 void clutter_ungrab_keyboard();
20382 void clutter_ungrab_pointer();
20383 void clutter_ungrab_pointer_for_device(int id_
);
20384 int clutter_util_next_p2(int a
);
20385 Color
* clutter_value_get_color(GObject2
.Value
* value
);
20386 Cogl
.Fixed
clutter_value_get_fixed(GObject2
.Value
* value
);
20387 float* clutter_value_get_shader_float(GObject2
.Value
* value
, size_t
* length
);
20388 int* clutter_value_get_shader_int(GObject2
.Value
* value
, size_t
* length
);
20389 float* clutter_value_get_shader_matrix(GObject2
.Value
* value
, /*out*/ size_t
* length
);
20390 Units
* clutter_value_get_units(GObject2
.Value
* value
);
20391 void clutter_value_set_color(GObject2
.Value
* value
, Color
* color
);
20392 void clutter_value_set_fixed(GObject2
.Value
* value
, Cogl
.Fixed fixed_
);
20393 void clutter_value_set_shader_float(GObject2
.Value
* value
, int size
, float* floats
);
20394 void clutter_value_set_shader_int(GObject2
.Value
* value
, int size
, int* ints
);
20395 void clutter_value_set_shader_matrix(GObject2
.Value
* value
, int size
, float* matrix
);
20396 void clutter_value_set_units(GObject2
.Value
* value
, Units
* units
);