Mx support.
[girtod.git] / gtk2 / mx2.d
blobae01e6706e5d74006aa132eb0b3d7b59658d47d4
1 // *** DO NOT EDIT ***
2 // Automatically generated from "/usr/share/gir-1.0/Mx-2.0.gir"
4 module Mx2;
5 public import gtk2.atk;
6 alias gtk2.atk Atk;
7 public import gtk2.clutter;
8 alias gtk2.clutter Clutter;
9 public import gtk2.cogl;
10 alias gtk2.cogl Cogl;
11 public import gtk2.coglpango;
12 alias gtk2.coglpango CoglPango;
13 public import gtk2.gl;
14 alias gtk2.gl GL;
15 public import gtk2.glib2;
16 alias gtk2.glib2 GLib2;
17 public import gtk2.gobject2;
18 alias gtk2.gobject2 GObject2;
19 public import gtk2.gio2;
20 alias gtk2.gio2 Gio2;
21 public import gtk2.json;
22 alias gtk2.json Json;
23 public import gtk2.pango;
24 alias gtk2.pango Pango;
25 public import gtk2.pangocairo;
26 alias gtk2.pangocairo PangoCairo;
27 public import gtk2.pangoft2;
28 alias gtk2.pangoft2 PangoFT2;
29 public import gtk2.cairo;
30 alias gtk2.cairo cairo;
31 public import gtk2.fontconfig2;
32 alias gtk2.fontconfig2 fontconfig2;
33 public import gtk2.freetype2;
34 alias gtk2.freetype2 freetype2;
36 // package: "mx-2.0";
37 // C header: "mx/mx.h";
39 // c:symbol-prefixes: ["mx"]
40 // c:identifier-prefixes: ["Mx"]
42 // module Mx2;
44 // --- mixin/Mx2__MODULE_HEAD.d --->
46 // Missing type:
48 alias void* MxSettingsProperty;
50 // <--- mixin/Mx2__MODULE_HEAD.d ---
53 // The contents of this structure are private and should only be accessed
54 // through the public API.
55 struct Action /* : GObject.InitiallyUnowned */ {
56 mixin Gio2.Action.__interface__;
57 alias parent this;
58 alias parent super_;
59 alias parent initiallyunowned;
60 GObject2.InitiallyUnowned parent;
61 private ActionPrivate* priv;
64 // Creates a new, blank, #MxAction
65 // RETURNS: a newly allocated #MxAction
66 static Action* /*new*/ new_()() {
67 return mx_action_new();
70 // Creates a new #MxAction with the name and callback set
71 // RETURNS: a newly allocated #MxAction
72 // <name>: name of the action
73 // <display_name>: name of the action to display to the user
74 // <activated_cb>: callback to connect to the activated signal
75 // <user_data>: user data to be passed to the callback
76 static Action* /*new*/ new_full()(char* name, char* display_name, ActionCallbackFunc activated_cb, void* user_data) {
77 return mx_action_new_full(name, display_name, activated_cb, user_data);
80 // VERSION: 1.4
81 // Creates a new stateful action.
82 //
83 // @state is the initial state of the action. All future state values
84 // must have the same #GVariantType as the initial state.
85 // RETURNS: a new #MxAction
86 // <name>: the name of the action
87 // <parameter_type>: the type of the parameter to the activate function
88 // <state>: the initial state of the action
89 static Action* new_stateful()(char* name, GLib2.VariantType* parameter_type, GLib2.Variant* state) {
90 return mx_action_new_stateful(name, parameter_type, state);
93 // VERSION: 1.4
94 // Creates a new action with a parameter.
95 //
96 // The created action is stateless. See mx_action_new_stateful().
97 // RETURNS: a new #MxAction
98 // <name>: the name of the action
99 // <parameter_type>: the type of parameter to the activate function
100 static Action* new_with_parameter()(char* name, GLib2.VariantType* parameter_type=null) {
101 return mx_action_new_with_parameter(name, parameter_type);
104 // Get the value of the active property
105 // RETURNS: #TRUE if the action is active
106 int get_active()() {
107 return mx_action_get_active(&this);
110 // Get the display name of the action
111 // RETURNS: display-name of the action, owned by MxAction
112 char* get_display_name()() {
113 return mx_action_get_display_name(&this);
116 // Get the icon of the action
117 // RETURNS: icon of the action, owned by MxAction
118 char* get_icon()() {
119 return mx_action_get_icon(&this);
122 // Get the name of the action
123 // RETURNS: name of the action, owned by MxAction
124 char* get_name()() {
125 return mx_action_get_name(&this);
128 // Set the value of the active property
129 // <active>: the value to set
130 void set_active()(int active) {
131 mx_action_set_active(&this, active);
134 // Set the name of the action to display to the user
135 // <name>: new display name to set
136 void set_display_name()(char* name) {
137 mx_action_set_display_name(&this, name);
140 // The icon to be used in a visual representation of an action.
141 // <name>: new icon to set
142 void set_icon()(char* name) {
143 mx_action_set_icon(&this, name);
146 // Set the name of the action
147 // <name>: new name to set
148 void set_name()(char* name) {
149 mx_action_set_name(&this, name);
152 // VERSION: 1.4
153 // Indicates that the action was just activated.
155 // @parameter will always be of the expected type. In the event that
156 // an incorrect type was given, no signal will be emitted.
157 // <parameter>: the parameter to the activation
158 extern (C) alias static void function (Action* this_, GLib2.Variant* parameter=null, void* user_data=null) signal_activate;
160 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
161 return super_.signal_connect!name(cb, data, cf);
164 ulong signal_connect(string name:"activate", CB:signal_activate)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
165 return signal_connect_data!()(&this, cast(char*)"activate",
166 cast(GObject2.Callback)cb, data, null, cf);
169 // DEPRECATED (v1.4) glib:signal: activated - Use MxAction::activate instead.
170 // Emitted when the MxAction is activated.
171 extern (C) alias static void function (Action* this_, void* user_data=null) signal_activated;
172 ulong signal_connect(string name:"activated", CB:signal_activated)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
173 return signal_connect_data!()(&this, cast(char*)"activated",
174 cast(GObject2.Callback)cb, data, null, cf);
179 // Callback function called when action is activated.
180 // <action>: An #MxAction
181 // <user_data>: user data
182 extern (C) alias void function (Action* action, void* user_data) ActionCallbackFunc;
184 struct ActionClass {
185 GObject2.InitiallyUnownedClass parent_class;
186 extern (C) void function (Action* action) activated;
187 extern (C) void function () _padding_0;
188 extern (C) void function () _padding_1;
189 extern (C) void function () _padding_2;
190 extern (C) void function () _padding_3;
191 extern (C) void function () _padding_4;
194 struct ActionPrivate {
197 struct ActorManager /* : GObject.Object */ {
198 alias parent this;
199 alias parent super_;
200 alias parent object;
201 GObject2.Object parent;
202 ActorManagerPrivate* priv;
205 // VERSION: 1.2
206 // Creates a new #MxActorManager, associated with the given stage.
208 // <note><para>
209 // A reference will not be taken on the stage, and when the stage is destroyed,
210 // the actor manager will lose a reference. The actor manager can be kept
211 // alive by taking a reference, but will no longer divide up events.
212 // </para></note>
213 // RETURNS: An #MxActorManager, tied to the given #ClutterStage
214 // <stage>: A #ClutterStage
215 static ActorManager* new_()(Clutter.Stage* stage) {
216 return mx_actor_manager_new(stage);
219 // VERSION: 1.2
220 // Get the MxActorManager associated with a stage, or creates one if this is the
221 // first call to the function with the given #ClutterStage.
223 // This is a convenience function that allows for easy association of one
224 // #MxActorManager to a #ClutterStage.
225 // RETURNS: An #MxActorManager
226 // <stage>: A #ClutterStage
227 static ActorManager* get_for_stage()(Clutter.Stage* stage) {
228 return mx_actor_manager_get_for_stage(stage);
231 // VERSION: 1.2
232 // Adds @actor to @container. The actor may not be parented immediately,
233 // or at all, if the operation is cancelled.
235 // On successful completion, the #MxActorManager::actor_added signal will
236 // be fired.
237 // RETURNS: The ID for this operation.
238 // <container>: A #ClutterContainer
239 // <actor>: A #ClutterActor
240 c_ulong add_actor()(Clutter.Container* container, Clutter.Actor* actor) {
241 return mx_actor_manager_add_actor(&this, container, actor);
244 // VERSION: 1.2
245 // Cancels the given operation, if it exists. The
246 // #MxActorManager::operation_cancelled signal is fired whenever an operation
247 // is cancelled.
248 // <id>: An operation ID
249 void cancel_operation()(c_ulong id) {
250 mx_actor_manager_cancel_operation(&this, id);
253 // VERSION: 1.2
254 // Cancels all operations associated with the given actor.
255 // <actor>: A #ClutterActor
256 void cancel_operations()(Clutter.Actor* actor) {
257 mx_actor_manager_cancel_operations(&this, actor);
260 // Unintrospectable method: create_actor() / mx_actor_manager_create_actor()
261 // VERSION: 1.2
262 // Creates a #ClutterActor. The actor may not be created immediately,
263 // or at all, if the operation is cancelled.
265 // On successful completion, the #MxActorManager::actor_created signal will
266 // be fired.
267 // RETURNS: The ID for this operation.
268 // <create_func>: A #ClutterActor creation function
269 // <userdata>: data to be passed to the function, or %NULL
270 // <destroy_func>: callback to invoke before the operation is removed
271 c_ulong create_actor()(ActorManagerCreateFunc create_func, void* userdata, GLib2.DestroyNotify destroy_func) {
272 return mx_actor_manager_create_actor(&this, create_func, userdata, destroy_func);
275 // VERSION: 1.2
276 // Retrieves the amount of operations left in the queue.
277 // RETURNS: Number of operations left to perform
278 uint get_n_operations()() {
279 return mx_actor_manager_get_n_operations(&this);
282 // VERSION: 1.2
283 // Gets the #ClutterStage the actor manager is associated with.
284 // RETURNS: The #ClutterStage the actor is associated with.
285 Clutter.Stage* get_stage()() {
286 return mx_actor_manager_get_stage(&this);
289 // VERSION: 1.2
290 // Retrieves the current time slice being used for operations.
291 // RETURNS: The time-slice being used, in milliseconds
292 uint get_time_slice()() {
293 return mx_actor_manager_get_time_slice(&this);
296 // VERSION: 1.2
297 // Removes @actor from @container.
299 // On successful completion, the #MxActorManager::actor_removed signal will
300 // be fired.
302 // <note><para>
303 // The actor may not be removed immediately, and thus you may want to set
304 // the actor's opacity to 0 before calling this function.
305 // </para></note>
306 // RETURNS: The ID for this operation.
307 // <container>: A #ClutterContainer
308 // <actor>: A #ClutterActor
309 c_ulong remove_actor()(Clutter.Container* container, Clutter.Actor* actor) {
310 return mx_actor_manager_remove_actor(&this, container, actor);
313 // VERSION: 1.2
314 // Removes the container. This is a utility function that works by first
315 // removing all the children of the container, then the children itself. This
316 // effectively spreads the load of removing a large container. All prior
317 // operations associated with this container will be cancelled.
319 // <note><para>
320 // The container may not be removed immediately, and thus you may want to set
321 // the container's opacity to 0 before calling this function.
322 // </para></note>
323 // <container>: A #ClutterContainer
324 void remove_container()(Clutter.Container* container) {
325 mx_actor_manager_remove_container(&this, container);
328 // VERSION: 1.2
329 // Sets the amount of time the actor manager will spend performing operations,
330 // before yielding to allow any necessary redrawing to occur.
332 // Lower times will lead to smoother performance, but will increase the amount
333 // of time it takes for operations to complete.
334 // <msecs>: A time, in milliseconds
335 void set_time_slice()(uint msecs) {
336 mx_actor_manager_set_time_slice(&this, msecs);
339 // VERSION: 1.2
340 // Emitted when an actor add operation has completed.
341 // <id>: The operation ID
342 // <container>: The #ClutterContainer the actor was added to
343 // <actor>: The added #ClutterActor
344 extern (C) alias static void function (ActorManager* this_, c_ulong id, Clutter.Actor* container, Clutter.Actor* actor, void* user_data=null) signal_actor_added;
346 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
347 return super_.signal_connect!name(cb, data, cf);
350 ulong signal_connect(string name:"actor-added", CB:signal_actor_added)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
351 return signal_connect_data!()(&this, cast(char*)"actor-added",
352 cast(GObject2.Callback)cb, data, null, cf);
355 // VERSION: 1.2
356 // Emitted when an actor creation operation has completed.
357 // <id>: The operation ID
358 // <actor>: The created #ClutterActor
359 extern (C) alias static void function (ActorManager* this_, c_ulong id, Clutter.Actor* actor, void* user_data=null) signal_actor_created;
360 ulong signal_connect(string name:"actor-created", CB:signal_actor_created)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
361 return signal_connect_data!()(&this, cast(char*)"actor-created",
362 cast(GObject2.Callback)cb, data, null, cf);
365 // VERSION: 1.2
366 // Emitted when all queued operations involving @actor have completed.
367 // <actor>: The #ClutterActor to which the signal pertains
368 extern (C) alias static void function (ActorManager* this_, Clutter.Actor* actor, void* user_data=null) signal_actor_finished;
369 ulong signal_connect(string name:"actor-finished", CB:signal_actor_finished)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
370 return signal_connect_data!()(&this, cast(char*)"actor-finished",
371 cast(GObject2.Callback)cb, data, null, cf);
374 // VERSION: 1.2
375 // Emitted when an actor remove operation has completed.
376 // <id>: The operation ID
377 // <container>: The #ClutterContainer the actor was removed from
378 // <actor>: The removed #ClutterActor
379 extern (C) alias static void function (ActorManager* this_, c_ulong id, Clutter.Actor* container, Clutter.Actor* actor, void* user_data=null) signal_actor_removed;
380 ulong signal_connect(string name:"actor-removed", CB:signal_actor_removed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
381 return signal_connect_data!()(&this, cast(char*)"actor-removed",
382 cast(GObject2.Callback)cb, data, null, cf);
385 // VERSION: 1.2
386 // Emitted when an operation has been cancelled.
387 // <id>: The operation id
388 extern (C) alias static void function (ActorManager* this_, c_ulong id, void* user_data=null) signal_operation_cancelled;
389 ulong signal_connect(string name:"operation-cancelled", CB:signal_operation_cancelled)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
390 return signal_connect_data!()(&this, cast(char*)"operation-cancelled",
391 cast(GObject2.Callback)cb, data, null, cf);
394 // VERSION: 1.2
395 // Emitted when an operation has completed successfully.
396 // <id>: The operation id
397 extern (C) alias static void function (ActorManager* this_, c_ulong id, void* user_data=null) signal_operation_completed;
398 ulong signal_connect(string name:"operation-completed", CB:signal_operation_completed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
399 return signal_connect_data!()(&this, cast(char*)"operation-completed",
400 cast(GObject2.Callback)cb, data, null, cf);
403 // VERSION: 1.2
404 // Emitted when an operation has failed.
405 // <id>: The operation id
406 // <error>: A #GError describing the reason of the failure
407 extern (C) alias static void function (ActorManager* this_, c_ulong id, GLib2.Error* error, void* user_data=null) signal_operation_failed;
408 ulong signal_connect(string name:"operation-failed", CB:signal_operation_failed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
409 return signal_connect_data!()(&this, cast(char*)"operation-failed",
410 cast(GObject2.Callback)cb, data, null, cf);
414 struct ActorManagerClass {
415 GObject2.ObjectClass parent_class;
416 extern (C) void function (ActorManager* manager, c_ulong id, Clutter.Actor* actor) actor_created;
417 extern (C) void function (ActorManager* manager, c_ulong id, Clutter.Container* container, Clutter.Actor* actor) actor_added;
418 extern (C) void function (ActorManager* manager, c_ulong id, Clutter.Container* container, Clutter.Actor* actor) actor_removed;
419 extern (C) void function (ActorManager* manager, Clutter.Actor* actor) actor_finished;
420 extern (C) void function (ActorManager* manager, c_ulong id) operation_completed;
421 extern (C) void function (ActorManager* manager, c_ulong id) operation_cancelled;
422 extern (C) void function (ActorManager* manager, c_ulong id, GLib2.Error* error) operation_failed;
423 extern (C) void function () _padding_0;
424 extern (C) void function () _padding_1;
425 extern (C) void function () _padding_2;
426 extern (C) void function () _padding_3;
427 extern (C) void function () _padding_4;
430 // Unintrospectable callback: ActorManagerCreateFunc() / ()
431 extern (C) alias Clutter.Actor* function (ActorManager* manager, void* userdata) ActorManagerCreateFunc;
433 enum ActorManagerError {
434 CONTAINER_DESTROYED = 0,
435 ACTOR_DESTROYED = 1,
436 CREATION_FAILED = 2,
437 UNKNOWN_OPERATION = 3
439 struct ActorManagerPrivate {
443 // Class for handling an interval between to values. The contents of
444 // the #MxAdjustment are private and should be accessed using the
445 // public API.
446 struct Adjustment /* : GObject.Object */ {
447 alias parent_instance this;
448 alias parent_instance super_;
449 alias parent_instance object;
450 GObject2.Object parent_instance;
451 private AdjustmentPrivate* priv;
454 // Create a new MxAdjustment
455 // RETURNS: a newly allocated MxAdjustment
456 static Adjustment* /*new*/ new_()() {
457 return mx_adjustment_new();
460 // Create a new MxAdjustment with the properties set to the values specified.
461 // RETURNS: a newly allocated MxAdjustment
462 // <value>: A #gdouble
463 // <lower>: A #gdouble
464 // <upper>: A #gdouble
465 // <step_increment>: A #gdouble
466 // <page_increment>: A #gdouble
467 // <page_size>: A #gdouble
468 static Adjustment* /*new*/ new_with_values()(double value, double lower, double upper, double step_increment, double page_increment, double page_size) {
469 return mx_adjustment_new_with_values(value, lower, upper, step_increment, page_increment, page_size);
472 // VERSION: 1.2
473 // Get the value of the #MxAdjustment:clamp-value property.
474 // RETURNS: the current value of the "clamp-value" property.
475 int get_clamp_value()() {
476 return mx_adjustment_get_clamp_value(&this);
479 // Get the value of the #MxAdjustment:elastic property.
480 // RETURNS: the current value of the "elastic" property.
481 int get_elastic()() {
482 return mx_adjustment_get_elastic(&this);
485 // Get the value of the #MxAdjustment:lower property.
486 // RETURNS: the current value of the "lower" property.
487 double get_lower()() {
488 return mx_adjustment_get_lower(&this);
491 // Get the value of the MxAdjustment:page-increment property.
492 // RETURNS: the current value of the "page-increment" property.
493 double get_page_increment()() {
494 return mx_adjustment_get_page_increment(&this);
497 // Get the value of the #MxAdjustment:page-size property.
498 // RETURNS: the current value of the "page-size" property.
499 double get_page_size()() {
500 return mx_adjustment_get_page_size(&this);
503 // Get the value of the MxAdjustment:step-increment property.
504 // RETURNS: the current value of the "step-increment" property.
505 double get_step_increment()() {
506 return mx_adjustment_get_step_increment(&this);
509 // Get the value of the #MxAdjustment:upper property.
510 // RETURNS: the current value of the "upper" property.
511 double get_upper()() {
512 return mx_adjustment_get_upper(&this);
515 // Get the current value of the #MxAdjustment:value property
516 // RETURNS: the current value of the "value" property
517 double get_value()() {
518 return mx_adjustment_get_value(&this);
521 // Get the various properties of MxAdjustment.
522 // <value>: A #gdouble
523 // <lower>: A #gdouble
524 // <upper>: A #gdouble
525 // <step_increment>: A #gdouble
526 // <page_increment>: A #gdouble
527 // <page_size>: A #gdouble
528 void get_values()(double* value, double* lower, double* upper, double* step_increment, double* page_increment, double* page_size) {
529 mx_adjustment_get_values(&this, value, lower, upper, step_increment, page_increment, page_size);
532 // Interpolate #MxAdjustment:value to the new value specified by @value, using
533 // the mode and duration given.
534 // <value>: A #gdouble
535 // <duration>: duration in milliseconds
536 // <mode>: A #ClutterAnimationMode
537 void interpolate()(double value, uint duration, c_ulong mode) {
538 mx_adjustment_interpolate(&this, value, duration, mode);
541 // Interpolate the value of #MxAdjustment:value to a new value calculated from
542 // @offset.
543 // <offset>: A #gdouble
544 // <duration>: duration in milliseconds
545 // <mode>: A #ClutterAnimationMode
546 void interpolate_relative()(double offset, uint duration, c_ulong mode) {
547 mx_adjustment_interpolate_relative(&this, offset, duration, mode);
550 // VERSION: 1.2
551 // Set the value of the #MxAdjustment:clamp-value property.
552 // <clamp>: a #gboolean
553 void set_clamp_value()(int clamp) {
554 mx_adjustment_set_clamp_value(&this, clamp);
557 // Set the value of the #MxAdjustment:elastic property.
558 // <elastic>: A #gboolean
559 void set_elastic()(int elastic) {
560 mx_adjustment_set_elastic(&this, elastic);
563 // Set the value of the #MxAdjustment:lower property.
564 // <lower>: A #gdouble
565 void set_lower()(double lower) {
566 mx_adjustment_set_lower(&this, lower);
569 // Set the value of the #MxAdjustment:page-increment property.
570 // <increment>: A #gdouble
571 void set_page_increment()(double increment) {
572 mx_adjustment_set_page_increment(&this, increment);
575 // Set the #MxAdjustment:page-size property.
576 // <page_size>: A #gdouble
577 void set_page_size()(double page_size) {
578 mx_adjustment_set_page_size(&this, page_size);
581 // Set the value of the #MxAdjustment:step-increment property.
582 // <increment>: A #gdouble
583 void set_step_increment()(double increment) {
584 mx_adjustment_set_step_increment(&this, increment);
587 // Set the value of the #MxAdjustment:upper property.
588 // <upper>: A #gdouble
589 void set_upper()(double upper) {
590 mx_adjustment_set_upper(&this, upper);
593 // Set the value of the #MxAdjustment:value property.
594 // <value>: A #gdouble
595 void set_value()(double value) {
596 mx_adjustment_set_value(&this, value);
599 // Set the various properties of MxAdjustment.
600 // <value>: A #gdouble
601 // <lower>: A #gdouble
602 // <upper>: A #gdouble
603 // <step_increment>: A #gdouble
604 // <page_increment>: A #gdouble
605 // <page_size>: A #gdouble
606 void set_values()(double value, double lower, double upper, double step_increment, double page_increment, double page_size) {
607 mx_adjustment_set_values(&this, value, lower, upper, step_increment, page_increment, page_size);
609 // Emitted when any of the adjustment values have changed
610 extern (C) alias static void function (Adjustment* this_, void* user_data=null) signal_changed;
612 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
613 return super_.signal_connect!name(cb, data, cf);
616 ulong signal_connect(string name:"changed", CB:signal_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
617 return signal_connect_data!()(&this, cast(char*)"changed",
618 cast(GObject2.Callback)cb, data, null, cf);
620 // Emitted when the animation started by mx_adjustment_interpolate completes
621 extern (C) alias static void function (Adjustment* this_, void* user_data=null) signal_interpolation_completed;
622 ulong signal_connect(string name:"interpolation-completed", CB:signal_interpolation_completed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
623 return signal_connect_data!()(&this, cast(char*)"interpolation-completed",
624 cast(GObject2.Callback)cb, data, null, cf);
628 // Base class for #MxAdjustment.
629 struct AdjustmentClass {
630 private GObject2.ObjectClass parent_class;
631 extern (C) void function (Adjustment* adjustment) changed;
632 extern (C) void function (Adjustment* adjustment) interpolation_completed;
633 extern (C) void function () _padding_0;
634 extern (C) void function () _padding_1;
635 extern (C) void function () _padding_2;
636 extern (C) void function () _padding_3;
639 struct AdjustmentPrivate {
642 // Set the alignment of the item
643 enum Align {
644 START = 0,
645 MIDDLE = 1,
646 END = 2
649 // The contents of this structure are private and should only be accessed
650 // through the public API.
651 struct Application /* : GObject.Object */ {
652 alias parent this;
653 alias parent super_;
654 alias parent object;
655 GObject2.Object parent;
656 ApplicationPrivate* priv;
659 // Intialises everything needed to operate Clutter and use #MxApplication.
660 // See clutter_init().
661 // RETURNS: the #MxApplication singleton.
662 // <argc>: The number of arguments in argv.
663 // <argv>: A pointer to an array of arguments
664 // <name>: Unique application name.
665 // <flags>: Application flags.
666 static Application* /*new*/ new_()(/*inout*/ int* argc, /*inout*/ char*** argv, char* name, ApplicationFlags flags) {
667 return mx_application_new(argc, argv, name, flags);
670 // Add an action to the application.
671 // <action>: an #MxAction
672 void add_action()(Action* action) {
673 mx_application_add_action(&this, action);
676 // Adds a window to the list of windows associated with @application. If this
677 // is the first window, it will be treated as the primary window and used for
678 // startup notification.
680 // This function does not take a reference on @window.
681 // <window>: The #MxWindow to add to the application
682 void add_window()(Window* window) {
683 mx_application_add_window(&this, window);
686 // Creates a window and associates it with the application.
687 // RETURNS: An #MxWindow.
688 Window* create_window()() {
689 return mx_application_create_window(&this);
692 // Retrieves all actions registered on @application.
694 // of #MxAction<!-- -->s. Use g_list_free() on the returned list
695 // when done.
696 // RETURNS: a list
697 GLib2.List* /*new container*/ get_actions()() {
698 return mx_application_get_actions(&this);
701 // Get the application flags that where set on @application when created.
702 // RETURNS: the application flags
703 ApplicationFlags get_flags()() {
704 return mx_application_get_flags(&this);
707 // Retrieves all windows added to @application.
709 // of #MxWindow<!-- -->s. The returned list is owned by
710 // @application and must not be altered.
711 // RETURNS: a list
712 GLib2.List* get_windows()() {
713 return mx_application_get_windows(&this);
716 // Run the named action for the application.
717 // <name>: name of the action to invoke
718 void invoke_action()(char* name) {
719 mx_application_invoke_action(&this, name);
722 // VERSION: 1.4
723 // Run the named action for the application, passing @variant as the parameter
724 // for the action.
725 // <name>: name of the action to invoke
726 // <variant>: parameter for the action
727 void invoke_action_with_parameter()(char* name, GLib2.Variant* variant) {
728 mx_application_invoke_action_with_parameter(&this, name, variant);
731 // Query whether #MxApplication is running. This will also return #TRUE if the
732 // given #MxApplication is single instance and there is an instance already
733 // running.
734 // RETURNS: #TRUE if the application is running
735 int is_running()() {
736 return mx_application_is_running(&this);
739 // Stop the application from running and quit the main loop. This will cause
740 // the call to mx_application_run() to complete.
741 void quit()() {
742 mx_application_quit(&this);
745 // Remove the action with the specified name from the application.
746 // <name>: name of the action to remove
747 void remove_action()(char* name) {
748 mx_application_remove_action(&this, name);
751 // Remove the specified window from the application. This will cause the window
752 // to be unreferenced and destroyed unless another reference is held on it.
753 // <window>: an #MxWindow
754 void remove_window()(Window* window) {
755 mx_application_remove_window(&this, window);
758 // Run the main loop of the application and start processing events. This
759 // function will not return until the application is quit. If the application
760 // is single instance and an existing instance is already running, this will
761 // cause the existing instance to be raised and the function will complete
762 // immediately.
763 void run()() {
764 mx_application_run(&this);
766 // Emitted when an action has been added or removed from the MxApplication.
767 extern (C) alias static void function (Application* this_, void* user_data=null) signal_actions_changed;
769 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
770 return super_.signal_connect!name(cb, data, cf);
773 ulong signal_connect(string name:"actions-changed", CB:signal_actions_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
774 return signal_connect_data!()(&this, cast(char*)"actions-changed",
775 cast(GObject2.Callback)cb, data, null, cf);
779 struct ApplicationClass {
780 GObject2.ObjectClass parent_class;
781 // RETURNS: An #MxWindow.
782 extern (C) Window* function (Application* application) create_window;
783 extern (C) void function (Application* application) raise;
784 extern (C) void function (Application* app) actions_changed;
785 extern (C) void function () _padding_0;
786 extern (C) void function () _padding_1;
787 extern (C) void function () _padding_2;
788 extern (C) void function () _padding_3;
789 extern (C) void function () _padding_4;
792 enum ApplicationFlags {
793 SINGLE_INSTANCE = 1,
794 KEEP_ALIVE = 4
796 struct ApplicationPrivate {
799 // The #MxBin struct contains only private data
800 struct Bin /* : Widget */ {
801 mixin Atk.ImplementorIface.__interface__;
802 mixin Clutter.Animatable.__interface__;
803 mixin Clutter.Container.__interface__;
804 mixin Clutter.Scriptable.__interface__;
805 mixin Focusable.__interface__;
806 mixin Stylable.__interface__;
807 alias parent_instance this;
808 alias parent_instance super_;
809 alias parent_instance widget;
810 Widget parent_instance;
811 private BinPrivate* priv;
814 // Allocates the child of an #MxBin using the width and height from @box.
815 // This function should usually only be called by subclasses of #MxBin.
817 // This function can be used to allocate the child of an #MxBin if no special
818 // allocation requirements are needed. It is similar to
819 // #mx_allocate_align_fill, except that it reads the alignment, padding and
820 // fill values from the #MxBin, and will call #clutter_actor_allocate on the
821 // child.
822 // <box>: The allocation box of the parent actor.
823 // <flags>: #ClutterAllocationFlags, usually provided by the. clutter_actor_allocate function.
824 void allocate_child()(Clutter.ActorBox* box, Clutter.AllocationFlags flags) {
825 mx_bin_allocate_child(&this, box, flags);
828 // Retrieves the horizontal and vertical alignment of the child
829 // inside a #MxBin, as set by mx_bin_set_alignment().
830 // <x_align>: return location for the horizontal alignment, or %NULL
831 // <y_align>: return location for the vertical alignment, or %NULL
832 void get_alignment()(Align* x_align, Align* y_align) {
833 mx_bin_get_alignment(&this, x_align, y_align);
836 // Retrieves a pointer to the child of @bin.
837 // RETURNS: a #ClutterActor, or %NULL
838 Clutter.Actor* get_child()() {
839 return mx_bin_get_child(&this);
842 // Retrieves the horizontal and vertical fill settings
843 // <x_fill>: return location for the horizontal fill, or %NULL
844 // <y_fill>: return location for the vertical fill, or %NULL
845 void get_fill()(/*out*/ int* x_fill, /*out*/ int* y_fill) {
846 mx_bin_get_fill(&this, x_fill, y_fill);
849 // Sets the horizontal and vertical alignment of the child
850 // inside a #MxBin.
851 // <x_align>: horizontal alignment
852 // <y_align>: vertical alignment
853 void set_alignment()(Align x_align, Align y_align) {
854 mx_bin_set_alignment(&this, x_align, y_align);
857 // Sets @child as the child of @bin.
859 // If @bin already has a child, the previous child is removed.
860 // <child>: a #ClutterActor, or %NULL
861 void set_child()(Clutter.Actor* child) {
862 mx_bin_set_child(&this, child);
865 // Sets whether the child of @bin should fill out the horizontal
866 // and/or vertical allocation of the parent
867 // <x_fill>: %TRUE if the child should fill horizontally the @bin
868 // <y_fill>: %TRUE if the child should fill vertically the @bin
869 void set_fill()(int x_fill, int y_fill) {
870 mx_bin_set_fill(&this, x_fill, y_fill);
874 // The #MxBinClass struct contains only private data
875 struct BinClass {
876 private WidgetClass parent_class;
877 extern (C) void function () _padding_0;
878 extern (C) void function () _padding_1;
879 extern (C) void function () _padding_2;
880 extern (C) void function () _padding_3;
881 extern (C) void function () _padding_4;
884 struct BinPrivate {
887 struct BorderImage {
888 char* uri;
889 int top, right, bottom, left;
891 int equal()(BorderImage* b2) {
892 return mx_border_image_equal(&this, b2);
894 static void set_from_string()(GObject2.Value* value, char* str, char* filename) {
895 mx_border_image_set_from_string(value, str, filename);
900 // The contents of this structure are private and should only be accessed
901 // through the public API.
902 struct BoxLayout /* : Widget */ {
903 mixin Atk.ImplementorIface.__interface__;
904 mixin Clutter.Animatable.__interface__;
905 mixin Clutter.Container.__interface__;
906 mixin Clutter.Scriptable.__interface__;
907 mixin Focusable.__interface__;
908 mixin Scrollable.__interface__;
909 mixin Stylable.__interface__;
910 alias parent this;
911 alias parent super_;
912 alias parent widget;
913 Widget parent;
914 private BoxLayoutPrivate* priv;
917 // Create a new #MxBoxLayout.
918 // RETURNS: a newly allocated #MxBoxLayout
919 static BoxLayout* new_()() {
920 return mx_box_layout_new();
922 static BoxLayout* new_with_orientation()(Orientation orientation) {
923 return mx_box_layout_new_with_orientation(orientation);
926 // Inserts @actor at @position in @box.
927 // <actor>: the #ClutterActor actor to add to the box layout
928 // <position>: the position where to insert the actor
929 void add_actor()(Clutter.Actor* actor, int position) {
930 mx_box_layout_add_actor(&this, actor, position);
933 // Unintrospectable method: add_actor_with_properties() / mx_box_layout_add_actor_with_properties()
934 // Inserts @actor at @position in the layout @box. You can set some layout
935 // properties on the child at the same time.
937 // If @position is negative, or is larger than the number of actors in the
938 // layout, the new actor is added on to the end of the list.
939 // <actor>: the #ClutterActor actor to add to the box layout
940 // <position>: the position where to insert the actor
941 // <first_property>: name of the first property to set
942 /+ Not available -- variadic methods unsupported - use the C function directly.
943 alias mx_box_layout_add_actor_with_properties add_actor_with_properties; // Variadic
946 // Get the value of the #MxBoxLayoutChild:expand property
947 // RETURNS: the current value of the "expand" property
948 // <child>: A #ClutterActor
949 int child_get_expand()(Clutter.Actor* child) {
950 return mx_box_layout_child_get_expand(&this, child);
953 // Get the value of the #MxBoxLayoutChild:x-align property
954 // RETURNS: the current value of the "x-align" property
955 // <child>: A #ClutterActor
956 Align child_get_x_align()(Clutter.Actor* child) {
957 return mx_box_layout_child_get_x_align(&this, child);
960 // Get the value of the #MxBoxLayoutChild:x-fill property.
961 // RETURNS: the current value of the "x-fill" property.
962 // <child>: A #ClutterActor
963 int child_get_x_fill()(Clutter.Actor* child) {
964 return mx_box_layout_child_get_x_fill(&this, child);
967 // Get the value of the #MxBoxLayoutChild:y-align property.
968 // RETURNS: the current value of the "y-align" property.
969 // <child>: A #ClutterActor
970 Align child_get_y_align()(Clutter.Actor* child) {
971 return mx_box_layout_child_get_y_align(&this, child);
974 // Get the value of the #MxBoxLayoutChild:y-fill property
975 // RETURNS: the current value of the "y-fill" property
976 // <child>: A #ClutterActor
977 int child_get_y_fill()(Clutter.Actor* child) {
978 return mx_box_layout_child_get_y_fill(&this, child);
981 // Set the value of the #MxBoxLayoutChild:expand property.
982 // <child>: A #ClutterActor
983 // <expand>: A #gboolean
984 void child_set_expand()(Clutter.Actor* child, int expand) {
985 mx_box_layout_child_set_expand(&this, child, expand);
988 // Set the value of the #MxBoxLayoutChild:x-align property.
989 // <child>: A #ClutterActor
990 // <x_align>: An #MxAlign
991 void child_set_x_align()(Clutter.Actor* child, Align x_align) {
992 mx_box_layout_child_set_x_align(&this, child, x_align);
995 // Set the value of the #MxBoxLayoutChild:x-fill property.
996 // <child>: A #ClutterActor
997 // <x_fill>: A #gboolean
998 void child_set_x_fill()(Clutter.Actor* child, int x_fill) {
999 mx_box_layout_child_set_x_fill(&this, child, x_fill);
1002 // Set the value of the #MxBoxLayoutChild:y-align property.
1003 // <child>: A #ClutterActor
1004 // <y_align>: An #MxAlign
1005 void child_set_y_align()(Clutter.Actor* child, Align y_align) {
1006 mx_box_layout_child_set_y_align(&this, child, y_align);
1009 // Set the value of the #MxBoxLayoutChild:y-fill property.
1010 // <child>: A #ClutterActor
1011 // <y_fill>: A #gboolean
1012 void child_set_y_fill()(Clutter.Actor* child, int y_fill) {
1013 mx_box_layout_child_set_y_fill(&this, child, y_fill);
1016 // Get the value of the #MxBoxLayout:enable-animations property.
1017 // RETURNS: #TRUE if animations enabled
1018 int get_enable_animations()() {
1019 return mx_box_layout_get_enable_animations(&this);
1022 // Get the value of the #MxBoxLayout:orientation property.
1023 // RETURNS: the orientation of the layout
1024 Orientation get_orientation()() {
1025 return mx_box_layout_get_orientation(&this);
1028 // VERSION: 1.2
1029 // Get the value of the #MxBoxLayout:scroll-to-focused property.
1030 // RETURNS: #TRUE if automatically scrolling to the focused actor is enabled
1031 int get_scroll_to_focused()() {
1032 return mx_box_layout_get_scroll_to_focused(&this);
1035 // Get the spacing between children in pixels
1036 // RETURNS: the spacing value
1037 uint get_spacing()() {
1038 return mx_box_layout_get_spacing(&this);
1041 // Enable animations when certain properties change.
1042 // <enable_animations>: #TRUE to enable animations
1043 void set_enable_animations()(int enable_animations) {
1044 mx_box_layout_set_enable_animations(&this, enable_animations);
1047 // Set the orientation of the box layout.
1048 // <orientation>: orientation value for the layout
1049 void set_orientation()(Orientation orientation) {
1050 mx_box_layout_set_orientation(&this, orientation);
1053 // VERSION: 1.2
1054 // Enables or disables automatic scrolling to the focused actor.
1055 // <scroll_to_focused>: #TRUE to enable automatically scrolling to the focused actor
1056 void set_scroll_to_focused()(int scroll_to_focused) {
1057 mx_box_layout_set_scroll_to_focused(&this, scroll_to_focused);
1060 // Set the amount of spacing between children in pixels
1061 // <spacing>: the spacing value
1062 void set_spacing()(uint spacing) {
1063 mx_box_layout_set_spacing(&this, spacing);
1068 // The contents of this structure are private and should only be accessed
1069 // through the public API.
1070 struct BoxLayoutChild /* : Clutter.ChildMeta */ {
1071 alias parent this;
1072 alias parent super_;
1073 alias parent childmeta;
1074 Clutter.ChildMeta parent;
1075 private int expand;
1076 static import std.bitmanip; mixin(std.bitmanip.bitfields!(
1077 uint, "x_fill", 1,
1078 uint, "y_fill", 1,
1079 uint, "__dummy32A", 30));
1080 private Align x_align, y_align;
1083 struct BoxLayoutChildClass {
1084 Clutter.ChildMetaClass parent_class;
1085 extern (C) void function () _padding_0;
1086 extern (C) void function () _padding_1;
1087 extern (C) void function () _padding_2;
1088 extern (C) void function () _padding_3;
1089 extern (C) void function () _padding_4;
1092 struct BoxLayoutChildPrivate {
1095 struct BoxLayoutClass {
1096 WidgetClass parent_class;
1097 extern (C) void function () _padding_0;
1098 extern (C) void function () _padding_1;
1099 extern (C) void function () _padding_2;
1100 extern (C) void function () _padding_3;
1101 extern (C) void function () _padding_4;
1104 struct BoxLayoutPrivate {
1108 // The contents of this structure is private and should only be accessed using
1109 // the provided API.
1110 struct Button /* : Bin */ {
1111 mixin Atk.ImplementorIface.__interface__;
1112 mixin Clutter.Animatable.__interface__;
1113 mixin Clutter.Container.__interface__;
1114 mixin Clutter.Scriptable.__interface__;
1115 mixin Focusable.__interface__;
1116 mixin Stylable.__interface__;
1117 alias parent_instance this;
1118 alias parent_instance super_;
1119 alias parent_instance bin;
1120 Bin parent_instance;
1121 private ButtonPrivate* priv;
1124 // Create a new button
1125 // RETURNS: a new #MxButton
1126 static Button* new_()() {
1127 return mx_button_new();
1130 // Create a new #MxButton with the specified label
1131 // RETURNS: a new #MxButton
1132 // <text>: text to set the label to
1133 static Button* new_with_label()(char* text) {
1134 return mx_button_new_with_label(text);
1137 // VERSION: 1.2
1138 // Retrieves the #MxAction associated with @button.
1139 // RETURNS: A #MxAction
1140 Action* get_action()() {
1141 return mx_button_get_action(&this);
1144 // VERSION: 1.2
1145 // Get the icon-name being used on the button.
1147 // no icon has been set
1148 // RETURNS: the icon-name. This must not be freed by the application. %NULL if
1149 char* get_icon_name()() {
1150 return mx_button_get_icon_name(&this);
1153 // VERSION: 1.2
1154 // Retrieves the icon's relative position to the text.
1155 // RETURNS: A #MxPosition
1156 Position get_icon_position()() {
1157 return mx_button_get_icon_position(&this);
1160 // VERSION: 1.2
1161 // Retrieves the icon-size being used for the displayed icon inside the button.
1162 // RETURNS: The icon-size being used for the button icon, in pixels
1163 uint get_icon_size()() {
1164 return mx_button_get_icon_size(&this);
1167 // VERSION: 1.2
1168 // Retrieves the visibility of the icon associated with the button's action.
1169 // RETURNS: %TRUE if the icon is visible, %FALSE otherwise
1170 int get_icon_visible()() {
1171 return mx_button_get_icon_visible(&this);
1174 // Get the toggle mode status of the button.
1175 // RETURNS: #TRUE if toggle mode is set, otherwise #FALSE
1176 int get_is_toggle()() {
1177 return mx_button_get_is_toggle(&this);
1180 // Get the text displayed on the button
1181 // RETURNS: the text for the button. This must not be freed by the application
1182 char* get_label()() {
1183 return mx_button_get_label(&this);
1186 // VERSION: 1.2
1187 // Retrieves the visibility of the text associated with the button's action.
1188 // RETURNS: %TRUE if the text is visible, %FALSE otherwise
1189 int get_label_visible()() {
1190 return mx_button_get_label_visible(&this);
1193 // Get the state of the button that is in toggle mode.
1194 // RETURNS: #TRUE if the button is toggled, or #FALSE if not
1195 int get_toggled()() {
1196 return mx_button_get_toggled(&this);
1199 // VERSION: 1.2
1200 // Sets @action as the action for @button. @Button will take its label and
1201 // icon from @action.
1202 // <action>: A #MxAction
1203 void set_action()(Action* action) {
1204 mx_button_set_action(&this, action);
1207 // VERSION: 1.2
1208 // Sets the icon-name used to display an icon on the button. Setting %NULL
1209 // will remove the icon name, or resort to the icon-name set in the current
1210 // style. Setting an icon name overrides any icon set in the style.
1211 // <icon_name>: icon-name to use on the button
1212 void set_icon_name()(char* icon_name=null) {
1213 mx_button_set_icon_name(&this, icon_name);
1216 // VERSION: 1.2
1217 // Sets the icon position, relative to the text on the button.
1218 // <position>: A #MxPosition
1219 void set_icon_position()(Position position) {
1220 mx_button_set_icon_position(&this, position);
1223 // VERSION: 1.2
1224 // Sets the icon-size to use for the icon displayed inside the button. This will
1225 // override the icon-size set in the style. Setting a value of %0 resets to the
1226 // size from the style.
1227 void set_icon_size()(uint icon_size) {
1228 mx_button_set_icon_size(&this, icon_size);
1231 // VERSION: 1.2
1232 // Sets the visibility of the icon associated with the button's action.
1233 // <visible>: %TRUE if the icon should be visible
1234 void set_icon_visible()(int visible) {
1235 mx_button_set_icon_visible(&this, visible);
1238 // Enables or disables toggle mode for the button. In toggle mode, the active
1239 // state will be "toggled" when the user clicks the button.
1240 // <toggle>: #TRUE or #FALSE
1241 void set_is_toggle()(int toggle) {
1242 mx_button_set_is_toggle(&this, toggle);
1245 // Sets the text displayed on the button
1246 // <text>: text to set the label to
1247 void set_label()(char* text) {
1248 mx_button_set_label(&this, text);
1251 // VERSION: 1.2
1252 // Sets the visibility of the text associated with the button's action.
1253 // <visible>: %TRUE if the text should be visible
1254 void set_label_visible()(int visible) {
1255 mx_button_set_label_visible(&this, visible);
1258 // Sets the toggled state of the button. This is only really useful if the
1259 // button has #toggle-mode mode set to #TRUE.
1260 // <toggled>: #TRUE or #FALSE
1261 void set_toggled()(int toggled) {
1262 mx_button_set_toggled(&this, toggled);
1265 // Emitted when the user activates the button, either with a mouse press and
1266 // release or with the keyboard.
1267 extern (C) alias static void function (Button* this_, void* user_data=null) signal_clicked;
1269 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1270 return super_.signal_connect!name(cb, data, cf);
1273 ulong signal_connect(string name:"clicked", CB:signal_clicked)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1274 return signal_connect_data!()(&this, cast(char*)"clicked",
1275 cast(GObject2.Callback)cb, data, null, cf);
1279 struct ButtonClass {
1280 BinClass parent_class;
1281 extern (C) void function (Button* button) clicked;
1282 extern (C) void function () _padding_0;
1283 extern (C) void function () _padding_1;
1284 extern (C) void function () _padding_2;
1285 extern (C) void function () _padding_3;
1286 extern (C) void function () _padding_4;
1290 // The contents of this structure are private and should only be accessed
1291 // through the public API.
1292 struct ButtonGroup /* : GObject.InitiallyUnowned */ {
1293 alias parent this;
1294 alias parent super_;
1295 alias parent initiallyunowned;
1296 GObject2.InitiallyUnowned parent;
1297 ButtonGroupPrivate* priv;
1300 // Create a new #MxButtonGroup.
1301 // RETURNS: a newly allocated #MxButtonGroup.
1302 static ButtonGroup* new_()() {
1303 return mx_button_group_new();
1306 // Add @button to the #MxButtonGroup.
1307 // <button>: A #MxButton
1308 void add()(Button* button) {
1309 mx_button_group_add(&this, button);
1312 // Calls @callback for each button in the group.
1313 // <callback>: A #ClutterCallback
1314 // <userdata>: A #gpointer
1315 void foreach_()(Clutter.Callback callback, void* userdata) {
1316 mx_button_group_foreach(&this, callback, userdata);
1319 // Get the current active button
1320 // RETURNS: the currently active button
1321 Button* get_active_button()() {
1322 return mx_button_group_get_active_button(&this);
1325 // Get the value of the #MxButtonGroup:allow-no-active property.
1326 // RETURNS: the value of the "allow-no-active" property.
1327 int get_allow_no_active()() {
1328 return mx_button_group_get_allow_no_active(&this);
1331 // Get a list of the buttons in the button group.
1333 // owned by the #MxButtonGroup and should not be modified by the
1334 // application.
1335 // RETURNS: a list of buttons. The list is
1336 GLib2.SList* get_buttons()() {
1337 return mx_button_group_get_buttons(&this);
1340 // Remove @button from the #MxButtonGroup
1341 // <button>: A #MxButton
1342 void remove()(Button* button) {
1343 mx_button_group_remove(&this, button);
1346 // Set the current active button in the group. The previous active button will
1347 // have #MxButton:toggled set to #FALSE.
1348 // <button>: A #MxButton
1349 void set_active_button()(Button* button=null) {
1350 mx_button_group_set_active_button(&this, button);
1353 // Set the value of the #MxButtonGroup:allow-no-active property.
1354 // <allow_no_active>: A #gboolean
1355 void set_allow_no_active()(int allow_no_active) {
1356 mx_button_group_set_allow_no_active(&this, allow_no_active);
1360 struct ButtonGroupClass {
1361 GObject2.InitiallyUnownedClass parent_class;
1362 extern (C) void function () _padding_0;
1363 extern (C) void function () _padding_1;
1364 extern (C) void function () _padding_2;
1365 extern (C) void function () _padding_3;
1366 extern (C) void function () _padding_4;
1369 struct ButtonGroupPrivate {
1372 struct ButtonPrivate {
1376 // The contents of this structure is private and should only be accessed using
1377 // the provided API.
1378 struct Clipboard /* : GObject.Object */ {
1379 alias parent this;
1380 alias parent super_;
1381 alias parent object;
1382 GObject2.Object parent;
1383 private ClipboardPrivate* priv;
1386 // Get the global #MxClipboard object that represents the clipboard.
1388 // unrefferenced or freed.
1389 // RETURNS: a #MxClipboard owned by Mx and must not be
1390 static Clipboard* get_default()() {
1391 return mx_clipboard_get_default();
1394 // Request the data from the clipboard in text form. @callback is executed
1395 // when the data is retreived.
1396 // <callback>: function to be called when the text is retreived
1397 // <user_data>: data to be passed to the callback
1398 void get_text()(ClipboardCallbackFunc callback, void* user_data) {
1399 mx_clipboard_get_text(&this, callback, user_data);
1402 // Sets text as the current contents of the clipboard.
1403 // <text>: text to copy to the clipboard
1404 void set_text()(char* text) {
1405 mx_clipboard_set_text(&this, text);
1410 // Callback function called when text is retrieved from the clipboard.
1411 // <clipboard>: A #MxClipboard
1412 // <text>: text from the clipboard
1413 // <user_data>: user data
1414 extern (C) alias void function (Clipboard* clipboard, char* text, void* user_data) ClipboardCallbackFunc;
1416 struct ClipboardClass {
1417 GObject2.ObjectClass parent_class;
1418 extern (C) void function () _padding_0;
1419 extern (C) void function () _padding_1;
1420 extern (C) void function () _padding_2;
1421 extern (C) void function () _padding_3;
1422 extern (C) void function () _padding_4;
1425 struct ClipboardPrivate {
1429 // The contents of this structure are private and should only be accessed
1430 // through the public API.
1431 struct ComboBox /* : Widget */ {
1432 mixin Atk.ImplementorIface.__interface__;
1433 mixin Clutter.Animatable.__interface__;
1434 mixin Clutter.Scriptable.__interface__;
1435 mixin Focusable.__interface__;
1436 mixin Stylable.__interface__;
1437 alias parent this;
1438 alias parent super_;
1439 alias parent widget;
1440 Widget parent;
1441 private ComboBoxPrivate* priv;
1444 // Create a new MxComboBox
1445 // RETURNS: a newly allocated MxComboBox
1446 static ComboBox* new_()() {
1447 return mx_combo_box_new();
1450 // Append an item to the combo box list
1451 // <text>: name of the item
1452 void append_text()(char* text) {
1453 mx_combo_box_append_text(&this, text);
1456 // Get the name of the icon displayed in the combo box
1458 // the combo box, or %NULL if there is no active icon.
1459 // RETURNS: the text string of the name of the displayed icon, owned by
1460 char* get_active_icon_name()() {
1461 return mx_combo_box_get_active_icon_name(&this);
1464 // Get the text displayed in the combo box
1465 // RETURNS: the text string, owned by the combo box
1466 char* get_active_text()() {
1467 return mx_combo_box_get_active_text(&this);
1470 // Get the index of the last item selected
1471 // RETURNS: gint
1472 int get_index()() {
1473 return mx_combo_box_get_index(&this);
1476 // Insert an item into the combo box list.
1477 // <position>: zero indexed position to insert the item at
1478 // <text>: name of the item
1479 void insert_text()(int position, char* text) {
1480 mx_combo_box_insert_text(&this, position, text);
1483 // Insert an item with text and an icon into the combo box list.
1484 // <position>: zero indexed position to insert the item at
1485 // <text>: name of the item
1486 // <icon>: name of an icon from the icon theme
1487 void insert_text_with_icon()(int position, char* text, char* icon) {
1488 mx_combo_box_insert_text_with_icon(&this, position, text, icon);
1491 // Prepend an item to the combo box list
1492 // <text>: name of the item
1493 void prepend_text()(char* text) {
1494 mx_combo_box_prepend_text(&this, text);
1497 // VERSION: 1.4
1498 // Remove all the items of @box
1499 void remove_all()() {
1500 mx_combo_box_remove_all(&this);
1503 // Remove the item at @position
1504 // <position>: position of the item to remove
1505 void remove_text()(int position) {
1506 mx_combo_box_remove_text(&this, position);
1509 // Set the icon displayed in the combo box.
1510 // <icon_name>: Icon name to use for displayed icon
1511 void set_active_icon_name()(char* icon_name=null) {
1512 mx_combo_box_set_active_icon_name(&this, icon_name);
1515 // Set the text displayed in the combo box
1516 // <text>: text to display
1517 void set_active_text()(char* text) {
1518 mx_combo_box_set_active_text(&this, text);
1521 // Set the current combo box text from the item at @index in the list.
1522 // <index>: the index of the list item to set
1523 void set_index()(int index) {
1524 mx_combo_box_set_index(&this, index);
1528 struct ComboBoxClass {
1529 WidgetClass parent_class;
1530 extern (C) void function () _padding_0;
1531 extern (C) void function () _padding_1;
1532 extern (C) void function () _padding_2;
1533 extern (C) void function () _padding_3;
1534 extern (C) void function () _padding_4;
1537 struct ComboBoxPrivate {
1541 // The contents of this structure is private and should only be accessed using
1542 // the provided API.
1543 struct DeformBowTie /* : DeformTexture */ {
1544 mixin Atk.ImplementorIface.__interface__;
1545 mixin Clutter.Animatable.__interface__;
1546 mixin Clutter.Scriptable.__interface__;
1547 mixin Stylable.__interface__;
1548 alias parent this;
1549 alias parent super_;
1550 alias parent deformtexture;
1551 DeformTexture parent;
1552 DeformBowTiePrivate* priv;
1554 static DeformBowTie* new_()() {
1555 return mx_deform_bow_tie_new();
1557 int get_flip_back()() {
1558 return mx_deform_bow_tie_get_flip_back(&this);
1560 double get_period()() {
1561 return mx_deform_bow_tie_get_period(&this);
1563 void set_flip_back()(int flip_back) {
1564 mx_deform_bow_tie_set_flip_back(&this, flip_back);
1566 void set_period()(double period) {
1567 mx_deform_bow_tie_set_period(&this, period);
1571 struct DeformBowTieClass {
1572 DeformTextureClass parent_class;
1573 extern (C) void function () _padding_0;
1574 extern (C) void function () _padding_1;
1575 extern (C) void function () _padding_2;
1576 extern (C) void function () _padding_3;
1577 extern (C) void function () _padding_4;
1580 struct DeformBowTiePrivate {
1584 // The contents of this structure is private and should only be accessed using
1585 // the provided API.
1586 struct DeformPageTurn /* : DeformTexture */ {
1587 mixin Atk.ImplementorIface.__interface__;
1588 mixin Clutter.Animatable.__interface__;
1589 mixin Clutter.Scriptable.__interface__;
1590 mixin Stylable.__interface__;
1591 alias parent this;
1592 alias parent super_;
1593 alias parent deformtexture;
1594 DeformTexture parent;
1595 DeformPageTurnPrivate* priv;
1597 static DeformPageTurn* new_()() {
1598 return mx_deform_page_turn_new();
1600 double get_angle()() {
1601 return mx_deform_page_turn_get_angle(&this);
1603 double get_period()() {
1604 return mx_deform_page_turn_get_period(&this);
1606 double get_radius()() {
1607 return mx_deform_page_turn_get_radius(&this);
1609 void set_angle()(double angle) {
1610 mx_deform_page_turn_set_angle(&this, angle);
1612 void set_period()(double period) {
1613 mx_deform_page_turn_set_period(&this, period);
1615 void set_radius()(double radius) {
1616 mx_deform_page_turn_set_radius(&this, radius);
1620 struct DeformPageTurnClass {
1621 DeformTextureClass parent_class;
1622 extern (C) void function () _padding_0;
1623 extern (C) void function () _padding_1;
1624 extern (C) void function () _padding_2;
1625 extern (C) void function () _padding_3;
1626 extern (C) void function () _padding_4;
1629 struct DeformPageTurnPrivate {
1633 // The contents of this structure is private and should only be accessed using
1634 // the provided API.
1635 struct DeformTexture /* : Widget */ {
1636 mixin Atk.ImplementorIface.__interface__;
1637 mixin Clutter.Animatable.__interface__;
1638 mixin Clutter.Scriptable.__interface__;
1639 mixin Stylable.__interface__;
1640 alias parent this;
1641 alias parent super_;
1642 alias parent widget;
1643 Widget parent;
1644 DeformTexturePrivate* priv;
1647 // Retrieve the mesh resolution of the texture.
1648 // See mx_deform_texture_set_resolution().
1649 // <tiles_x>: The horizontal resolution
1650 // <tiles_y>: The vertical resolution
1651 void get_resolution()(/*out*/ int* tiles_x=null, /*out*/ int* tiles_y=null) {
1652 mx_deform_texture_get_resolution(&this, tiles_x, tiles_y);
1655 // Retrieves the textures used by @texture.
1656 // <front>: The front-facing texture
1657 // <back>: The back-facing texture
1658 void get_textures()(/*out*/ Clutter.Texture** front=null, /*out*/ Clutter.Texture** back=null) {
1659 mx_deform_texture_get_textures(&this, front, back);
1661 // Make @texture re-calculate its vertices and redraw itself.
1662 void invalidate()() {
1663 mx_deform_texture_invalidate(&this);
1666 // Sets the amount of sub-divisions used on each axis when generating
1667 // the mesh, where a value of 1 for each axis will produce a single quad.
1668 // <tiles_x>: The horizontal resolution
1669 // <tiles_y>: The vertical resolution
1670 void set_resolution()(int tiles_x, int tiles_y) {
1671 mx_deform_texture_set_resolution(&this, tiles_x, tiles_y);
1674 // Set textures to use as the sources of a deformation effect. Textures
1675 // must not be parented.
1676 // <front>: #ClutterTexture to use for the front-face.
1677 // <back>: #ClutterTexture to use for the back-face.
1678 void set_textures()(Clutter.Texture* front=null, Clutter.Texture* back=null) {
1679 mx_deform_texture_set_textures(&this, front, back);
1683 struct DeformTextureClass {
1684 WidgetClass parent_class;
1685 extern (C) void function (DeformTexture* texture, Cogl.TextureVertex* vertex, float width, float height) deform;
1686 extern (C) void function () _padding_0;
1687 extern (C) void function () _padding_1;
1688 extern (C) void function () _padding_2;
1689 extern (C) void function () _padding_3;
1690 extern (C) void function () _padding_4;
1693 struct DeformTexturePrivate {
1697 // The contents of this structure is private and should only be accessed using
1698 // the provided API.
1699 struct DeformWaves /* : DeformTexture */ {
1700 mixin Atk.ImplementorIface.__interface__;
1701 mixin Clutter.Animatable.__interface__;
1702 mixin Clutter.Scriptable.__interface__;
1703 mixin Stylable.__interface__;
1704 alias parent this;
1705 alias parent super_;
1706 alias parent deformtexture;
1707 DeformTexture parent;
1708 DeformWavesPrivate* priv;
1710 static DeformWaves* new_()() {
1711 return mx_deform_waves_new();
1713 double get_amplitude()() {
1714 return mx_deform_waves_get_amplitude(&this);
1716 double get_angle()() {
1717 return mx_deform_waves_get_angle(&this);
1719 double get_period()() {
1720 return mx_deform_waves_get_period(&this);
1722 double get_radius()() {
1723 return mx_deform_waves_get_radius(&this);
1725 void set_amplitude()(double amplitude) {
1726 mx_deform_waves_set_amplitude(&this, amplitude);
1728 void set_angle()(double angle) {
1729 mx_deform_waves_set_angle(&this, angle);
1731 void set_period()(double period) {
1732 mx_deform_waves_set_period(&this, period);
1734 void set_radius()(double radius) {
1735 mx_deform_waves_set_radius(&this, radius);
1739 struct DeformWavesClass {
1740 DeformTextureClass parent_class;
1741 extern (C) void function () _padding_0;
1742 extern (C) void function () _padding_1;
1743 extern (C) void function () _padding_2;
1744 extern (C) void function () _padding_3;
1745 extern (C) void function () _padding_4;
1748 struct DeformWavesPrivate {
1752 // The contents of this structure is private and should only be accessed using
1753 // the provided API.
1754 struct Dialog /* : Bin */ {
1755 mixin Atk.ImplementorIface.__interface__;
1756 mixin Clutter.Animatable.__interface__;
1757 mixin Clutter.Container.__interface__;
1758 mixin Clutter.Scriptable.__interface__;
1759 mixin Focusable.__interface__;
1760 mixin Stylable.__interface__;
1761 alias parent this;
1762 alias parent super_;
1763 alias parent bin;
1764 Bin parent;
1765 private DialogPrivate* priv;
1768 // VERSION: 1.2
1769 // Creates a new #MxDialog.
1770 // RETURNS: A newly allocated #MxDialog
1771 static Dialog* new_()() {
1772 return mx_dialog_new();
1775 // VERSION: 1.2
1776 // Adds an #MxButton that represents @action to the button area of @dialog
1777 // <action>: A #MxAction
1778 void add_action()(Action* action) {
1779 mx_dialog_add_action(&this, action);
1782 // VERSION: 1.2
1783 // Retrieves a list of actions added to @dialog.
1785 // #GList of #MxAction objects. The actions in the list are owned by the
1786 // dialog.
1787 // RETURNS: A newly allocated
1788 GLib2.List* /*new container*/ get_actions()() {
1789 return mx_dialog_get_actions(&this);
1792 // VERSION: 1.2
1793 // Removes the button associated with @action from the button area of @dialog
1794 // <action>: A #MxAction
1795 void remove_action()(Action* action) {
1796 mx_dialog_remove_action(&this, action);
1799 // VERSION: 1.2
1800 // Sets the parent of the #MxDialog. This is the actor over which the
1801 // modal frame will appear when clutter_actor_show() is called.
1802 // <actor>: A #ClutterActor
1803 void set_transient_parent()(Clutter.Actor* actor) {
1804 mx_dialog_set_transient_parent(&this, actor);
1808 struct DialogClass {
1809 BinClass parent_class;
1812 struct DialogPrivate {
1815 enum DragAxis {
1816 NONE = 0,
1817 X = 1,
1818 Y = 2
1820 // This is an opaque structure whose members cannot be directly accessed.
1821 struct Draggable /* Interface */ {
1822 mixin template __interface__() { void disable()() {
1823 mx_draggable_disable(cast(Draggable*)&this);
1825 void enable()() {
1826 mx_draggable_enable(cast(Draggable*)&this);
1828 DragAxis get_axis()() {
1829 return mx_draggable_get_axis(cast(Draggable*)&this);
1832 // FIXME
1833 // RETURNS: a #ClutterActor, or %NULL
1834 Clutter.Actor* get_drag_actor()() {
1835 return mx_draggable_get_drag_actor(cast(Draggable*)&this);
1837 uint get_drag_threshold()() {
1838 return mx_draggable_get_drag_threshold(cast(Draggable*)&this);
1840 int is_enabled()() {
1841 return mx_draggable_is_enabled(cast(Draggable*)&this);
1843 void set_axis()(DragAxis axis) {
1844 mx_draggable_set_axis(cast(Draggable*)&this, axis);
1846 void set_drag_actor()(Clutter.Actor* actor) {
1847 mx_draggable_set_drag_actor(cast(Draggable*)&this, actor);
1849 void set_drag_threshold()(uint threshold) {
1850 mx_draggable_set_drag_threshold(cast(Draggable*)&this, threshold);
1852 extern (C) alias static void function (Draggable* this_, float object, float p0, int p1, Clutter.ModifierType* p2, void* user_data=null) signal_drag_begin;
1854 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1855 return super_.signal_connect!name(cb, data, cf);
1858 ulong signal_connect(string name:"drag-begin", CB:signal_drag_begin)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1859 return signal_connect_data!()(&this, cast(char*)"drag-begin",
1860 cast(GObject2.Callback)cb, data, null, cf);
1862 extern (C) alias static void function (Draggable* this_, float object, float p0, void* user_data=null) signal_drag_end;
1863 ulong signal_connect(string name:"drag-end", CB:signal_drag_end)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1864 return signal_connect_data!()(&this, cast(char*)"drag-end",
1865 cast(GObject2.Callback)cb, data, null, cf);
1867 extern (C) alias static void function (Draggable* this_, float object, float p0, void* user_data=null) signal_drag_motion;
1868 ulong signal_connect(string name:"drag-motion", CB:signal_drag_motion)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1869 return signal_connect_data!()(&this, cast(char*)"drag-motion",
1870 cast(GObject2.Callback)cb, data, null, cf);
1873 mixin __interface__;
1876 // Interface for draggable #ClutterActor<!-- -->s.
1877 struct DraggableIface {
1878 private GObject2.TypeInterface g_iface;
1879 extern (C) void function (Draggable* draggable) enable;
1880 extern (C) void function (Draggable* draggable) disable;
1881 extern (C) void function (Draggable* draggable, float event_x, float event_y, int event_button, Clutter.ModifierType modifiers) drag_begin;
1882 extern (C) void function (Draggable* draggable, float delta_x, float delta_y) drag_motion;
1883 extern (C) void function (Draggable* draggable, float event_x, float event_y) drag_end;
1886 // This is an opaque structure whose members cannot be directly accessed.
1887 struct Droppable /* Interface */ {
1888 mixin template __interface__() { int accept_drop()(Draggable* draggable) {
1889 return mx_droppable_accept_drop(cast(Droppable*)&this, draggable);
1891 void disable()() {
1892 mx_droppable_disable(cast(Droppable*)&this);
1894 void enable()() {
1895 mx_droppable_enable(cast(Droppable*)&this);
1897 int is_enabled()() {
1898 return mx_droppable_is_enabled(cast(Droppable*)&this);
1900 extern (C) alias static void function (Droppable* this_, Clutter.Actor* object, float p0, float p1, int p2, Clutter.ModifierType* p3, void* user_data=null) signal_drop;
1902 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1903 return super_.signal_connect!name(cb, data, cf);
1906 ulong signal_connect(string name:"drop", CB:signal_drop)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1907 return signal_connect_data!()(&this, cast(char*)"drop",
1908 cast(GObject2.Callback)cb, data, null, cf);
1910 extern (C) alias static void function (Droppable* this_, Clutter.Actor* object, void* user_data=null) signal_over_in;
1911 ulong signal_connect(string name:"over-in", CB:signal_over_in)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1912 return signal_connect_data!()(&this, cast(char*)"over-in",
1913 cast(GObject2.Callback)cb, data, null, cf);
1915 extern (C) alias static void function (Droppable* this_, Clutter.Actor* object, void* user_data=null) signal_over_out;
1916 ulong signal_connect(string name:"over-out", CB:signal_over_out)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1917 return signal_connect_data!()(&this, cast(char*)"over-out",
1918 cast(GObject2.Callback)cb, data, null, cf);
1921 mixin __interface__;
1924 struct DroppableIface {
1925 private GObject2.TypeInterface g_iface;
1926 extern (C) void function (Droppable* droppable) enable;
1927 extern (C) void function (Droppable* droppable) disable;
1928 extern (C) int function (Droppable* droppable, Draggable* draggable) accept_drop;
1929 extern (C) void function (Droppable* droppable, Draggable* draggable) over_in;
1930 extern (C) void function (Droppable* droppable, Draggable* draggable) over_out;
1931 extern (C) void function (Droppable* droppable, Draggable* draggable, float event_x, float event_y, int button, Clutter.ModifierType modifiers) drop;
1935 // The contents of this structure is private and should only be accessed using
1936 // the provided API.
1937 struct Entry /* : Widget */ {
1938 mixin Atk.ImplementorIface.__interface__;
1939 mixin Clutter.Animatable.__interface__;
1940 mixin Clutter.Scriptable.__interface__;
1941 mixin Focusable.__interface__;
1942 mixin Stylable.__interface__;
1943 alias parent_instance this;
1944 alias parent_instance super_;
1945 alias parent_instance widget;
1946 Widget parent_instance;
1947 private EntryPrivate* priv;
1950 // Create a new #MxEntry
1951 // RETURNS: a new #MxEntry
1952 static Entry* new_()() {
1953 return mx_entry_new();
1956 // Create a new #MxEntry with the specified entry
1957 // RETURNS: a new #MxEntry
1958 // <text>: text to set the entry to
1959 static Entry* new_with_text()(char* text) {
1960 return mx_entry_new_with_text(text);
1963 // Retrieve the internal #ClutterText so that extra parameters can be set
1965 // owned by the #MxEntry and should not be unref'ed by the application.
1966 // RETURNS: the #ClutterText used by #MxEntry. The entry is
1967 Clutter.Actor* get_clutter_text()() {
1968 return mx_entry_get_clutter_text(&this);
1971 // Gets the text that is displayed when the entry is empty and unfocused
1973 // #MxEntry and should not be freed or modified.
1974 // RETURNS: the current value of the hint property. This string is owned by the
1975 char* get_hint_text()() {
1976 return mx_entry_get_hint_text(&this);
1979 // Get the suffix appended to the filename to use for the highlighted version
1980 // of the icon.
1982 // #MxEntry and should not be freed or modified.
1983 // RETURNS: the highlight filename suffix. This string is owned by the
1984 char* get_icon_highlight_suffix()() {
1985 return mx_entry_get_icon_highlight_suffix(&this);
1988 // Gets the character to display instead of the text.
1989 // RETURNS: a character, or 0 if input should not be hidden.
1990 dchar get_password_char()() {
1991 return mx_entry_get_password_char(&this);
1994 // Get the text displayed on the entry
1995 // RETURNS: the text for the entry. This must not be freed by the application
1996 char* get_text()() {
1997 return mx_entry_get_text(&this);
2000 // Sets the text to display when the entry is empty and unfocused. When the
2001 // entry is displaying the hint, it has a pseudo class of "indeterminate".
2002 // A value of NULL unsets the hint.
2003 // <text>: text to set as the entry hint
2004 void set_hint_text()(char* text) {
2005 mx_entry_set_hint_text(&this, text);
2008 // Sets the suffix appended to the filename to use for the highlighted version
2009 // of the icon. e.g. if you have set your primay icon to "primary-icon.png"
2010 // and the suffix to "-highlight" #MxEntry will look for
2011 // "primary-icon-highlight.png"
2012 // <suffix>: the suffix to append to the filename for the highlight version
2013 void set_icon_highlight_suffix()(char* suffix) {
2014 mx_entry_set_icon_highlight_suffix(&this, suffix);
2017 // Sets the character to display instead of the text. Use 0 to display
2018 // the actual text.
2019 // <password_char>: text to set as the entry hint
2020 void set_password_char()(dchar password_char) {
2021 mx_entry_set_password_char(&this, password_char);
2024 // Set the primary icon of the entry to the given filename
2025 // <filename>: filename of an icon
2026 void set_primary_icon_from_file()(char* filename) {
2027 mx_entry_set_primary_icon_from_file(&this, filename);
2029 void set_primary_icon_tooltip_text()(char* text) {
2030 mx_entry_set_primary_icon_tooltip_text(&this, text);
2033 // Set the primary icon of the entry to the given filename
2034 // <filename>: filename of an icon
2035 void set_secondary_icon_from_file()(char* filename) {
2036 mx_entry_set_secondary_icon_from_file(&this, filename);
2038 void set_secondary_icon_tooltip_text()(char* text) {
2039 mx_entry_set_secondary_icon_tooltip_text(&this, text);
2042 // Sets the text displayed on the entry
2043 // <text>: text to set the entry to
2044 void set_text()(char* text) {
2045 mx_entry_set_text(&this, text);
2047 // Emitted when the primary icon is clicked
2048 extern (C) alias static void function (Entry* this_, void* user_data=null) signal_primary_icon_clicked;
2050 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2051 return super_.signal_connect!name(cb, data, cf);
2054 ulong signal_connect(string name:"primary-icon-clicked", CB:signal_primary_icon_clicked)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2055 return signal_connect_data!()(&this, cast(char*)"primary-icon-clicked",
2056 cast(GObject2.Callback)cb, data, null, cf);
2058 // Emitted when the secondary icon is clicked
2059 extern (C) alias static void function (Entry* this_, void* user_data=null) signal_secondary_icon_clicked;
2060 ulong signal_connect(string name:"secondary-icon-clicked", CB:signal_secondary_icon_clicked)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2061 return signal_connect_data!()(&this, cast(char*)"secondary-icon-clicked",
2062 cast(GObject2.Callback)cb, data, null, cf);
2066 struct EntryClass {
2067 WidgetClass parent_class;
2068 extern (C) void function (Entry* entry) primary_icon_clicked;
2069 extern (C) void function (Entry* entry) secondary_icon_clicked;
2070 extern (C) void function () _padding_0;
2071 extern (C) void function () _padding_1;
2072 extern (C) void function () _padding_2;
2073 extern (C) void function () _padding_3;
2074 extern (C) void function () _padding_4;
2077 struct EntryPrivate {
2081 // The contents of the this structure are private and should only be accessed
2082 // through the public API.
2083 struct Expander /* : Bin */ {
2084 mixin Atk.ImplementorIface.__interface__;
2085 mixin Clutter.Animatable.__interface__;
2086 mixin Clutter.Container.__interface__;
2087 mixin Clutter.Scriptable.__interface__;
2088 mixin Focusable.__interface__;
2089 mixin Stylable.__interface__;
2090 alias parent this;
2091 alias parent super_;
2092 alias parent bin;
2093 Bin parent;
2094 private ExpanderPrivate* priv;
2097 // Creates a new #MxExpander
2098 // RETURNS: the newly allocated #MxExpander
2099 static Expander* new_()() {
2100 return mx_expander_new();
2103 // Get the current state of the expander (the value of #MxExpander:expanded)
2104 // RETURNS: #TRUE if the expander is open, #FALSE if it is closed
2105 int get_expanded()() {
2106 return mx_expander_get_expanded(&this);
2109 // Set the state (the #MxExpander:expanded property) of the expander.
2110 // This will cause the expander to open or close.
2111 // <expanded>: the state of the expander to set
2112 void set_expanded()(int expanded) {
2113 mx_expander_set_expanded(&this, expanded);
2116 // Sets the text displayed as the title of the expander
2117 // <label>: string to set as the expander label
2118 void set_label()(char* label) {
2119 mx_expander_set_label(&this, label);
2122 // Emitted after the expand animation finishes. Check the "expanded" property
2123 // of the #MxExpander to determine if the expander is expanded or not.
2124 extern (C) alias static void function (Expander* this_, void* user_data=null) signal_expand_complete;
2126 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2127 return super_.signal_connect!name(cb, data, cf);
2130 ulong signal_connect(string name:"expand-complete", CB:signal_expand_complete)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2131 return signal_connect_data!()(&this, cast(char*)"expand-complete",
2132 cast(GObject2.Callback)cb, data, null, cf);
2136 struct ExpanderClass {
2137 BinClass parent_class;
2138 extern (C) void function (Expander* expander) expand_complete;
2139 extern (C) void function () _padding_0;
2140 extern (C) void function () _padding_1;
2141 extern (C) void function () _padding_2;
2142 extern (C) void function () _padding_3;
2143 extern (C) void function () _padding_4;
2146 struct ExpanderPrivate {
2149 struct FadeEffect /* : Clutter.OffscreenEffect */ {
2150 alias parent this;
2151 alias parent super_;
2152 alias parent offscreeneffect;
2153 Clutter.OffscreenEffect parent;
2154 FadeEffectPrivate* priv;
2157 // VERSION: 1.2
2158 // Creates a new #MxFadeEffect to be used with clutter_actor_add_effect().
2159 // RETURNS: the newly created #MxFadeEffect, or %NULL
2160 static FadeEffect* new_()() {
2161 return mx_fade_effect_new();
2164 // VERSION: 1.2
2165 // Retrieves the border values for @effect.
2166 // <top>: The upper border, in pixels
2167 // <right>: The right border, in pixels
2168 // <bottom>: The lower border, in pixels
2169 // <left>: The left border, in pixels
2170 void get_border()(/*out*/ uint* top, /*out*/ uint* right, /*out*/ uint* bottom, /*out*/ uint* left) {
2171 mx_fade_effect_get_border(&this, top, right, bottom, left);
2174 // VERSION: 1.2
2175 // Retrieves the bounding box of the effect.
2176 // <x>: The x value of the effect bounds, in pixels
2177 // <y>: The y value of the effect bounds, in pixels
2178 // <width>: The width of the effect bounds, in pixels, or %0
2179 // <height>: The height of the effect bounds, in pixels, or %0
2180 void get_bounds()(/*out*/ int* x, /*out*/ int* y, /*out*/ uint* width, /*out*/ uint* height) {
2181 mx_fade_effect_get_bounds(&this, x, y, width, height);
2184 // VERSION: 1.2
2185 // Retrieves the color used for the fade effect.
2186 // <color>: A #ClutterColor to store the color in
2187 void get_color()(/*out*/ Clutter.Color* color) {
2188 mx_fade_effect_get_color(&this, color);
2191 // VERSION: 1.2
2192 // Sets the border to be used for the fading effect. This is the number of
2193 // pixels on each side of the effect that should be used to fade.
2194 // <top>: The upper border, in pixels
2195 // <right>: The right border, in pixels
2196 // <bottom>: The lower border, in pixels
2197 // <left>: The left border, in pixels
2198 void set_border()(uint top, uint right, uint bottom, uint left) {
2199 mx_fade_effect_set_border(&this, top, right, bottom, left);
2202 // VERSION: 1.2
2203 // Sets the bounding box of the effect. The effect will essentially treat
2204 // this box as a clipping rectangle. Setting width or height to %0 will
2205 // use the width or height of the #ClutterActor the effect is attached to.
2207 // <note><para>
2208 // The effect border will apply to the bounds, and not to the un-altered
2209 // rectangle, so an effect with an %x of %5 and a %left-border of %5 will
2210 // have a gap of 5 blank pixels to the left, with a fade length of 5 pixels.
2211 // </para></note>
2212 // <x>: The x value of the effect bounds, in pixels
2213 // <y>: The y value of the effect bounds, in pixels
2214 // <width>: The width of the effect bounds, in pixels, or %0
2215 // <height>: The height of the effect bounds, in pixels, or %0
2216 void set_bounds()(int x, int y, uint width, uint height) {
2217 mx_fade_effect_set_bounds(&this, x, y, width, height);
2220 // VERSION: 1.2
2221 // Sets the color of the fade effect. The effect will fade out towards
2222 // the set border to this color.
2223 // <color>: A #ClutterColor
2224 void set_color()(Clutter.Color* color) {
2225 mx_fade_effect_set_color(&this, color);
2229 struct FadeEffectClass {
2230 Clutter.OffscreenEffectClass parent_class;
2233 struct FadeEffectPrivate {
2237 // The contents of this structure are private and should only be accessed
2238 // through the public API.
2239 struct FloatingWidget /* : Widget */ {
2240 mixin Atk.ImplementorIface.__interface__;
2241 mixin Clutter.Animatable.__interface__;
2242 mixin Clutter.Scriptable.__interface__;
2243 mixin Stylable.__interface__;
2244 alias parent this;
2245 alias parent super_;
2246 alias parent widget;
2247 Widget parent;
2248 FloatingWidgetPrivate* priv;
2251 struct FloatingWidgetClass {
2252 WidgetClass parent_class;
2253 extern (C) void function (Clutter.Actor* actor, Clutter.Color* color) floating_pick;
2254 extern (C) void function (Clutter.Actor* actor) floating_paint;
2255 extern (C) void function () _padding_0;
2256 extern (C) void function () _padding_1;
2257 extern (C) void function () _padding_2;
2258 extern (C) void function () _padding_3;
2259 extern (C) void function () _padding_4;
2262 struct FloatingWidgetPrivate {
2265 enum FocusDirection {
2266 OUT = 0,
2267 UP = 1,
2268 DOWN = 2,
2269 LEFT = 3,
2270 RIGHT = 4,
2271 NEXT = 5,
2272 PREVIOUS = 6
2274 enum FocusHint {
2275 FIRST = 0,
2276 LAST = 1,
2277 PRIOR = 2,
2278 FROM_ABOVE = 3,
2279 FROM_BELOW = 4,
2280 FROM_LEFT = 5,
2281 FROM_RIGHT = 6
2284 // The contents of this structure are private and should only be accessed
2285 // through the public API.
2286 struct FocusManager /* : GObject.Object */ {
2287 alias parent this;
2288 alias parent super_;
2289 alias parent object;
2290 GObject2.Object parent;
2291 FocusManagerPrivate* priv;
2294 // Get the MxFocusManager associated with a stage, or create one if none exist
2295 // for the specified stage.
2296 // RETURNS: An #MxFocusManager
2297 // <stage>: A #ClutterStage
2298 static FocusManager* get_for_stage()(Clutter.Stage* stage) {
2299 return mx_focus_manager_get_for_stage(stage);
2302 // Get the currently focused #MxFocusable
2303 // RETURNS: MxFocusable
2304 Focusable* get_focused()() {
2305 return mx_focus_manager_get_focused(&this);
2308 // Get the stage the MxFocusManager is associated with
2309 // RETURNS: A #ClutterStage
2310 Clutter.Stage* get_stage()() {
2311 return mx_focus_manager_get_stage(&this);
2314 // Moves the current focus in the given direction.
2315 // <direction>: The direction to move focus in
2316 void move_focus()(FocusDirection direction) {
2317 mx_focus_manager_move_focus(&this, direction);
2320 // Sets the currently focused actor, with an #MxFocusHint of
2321 // %MX_FOCUS_HINT_PRIOR.
2323 // Note: the final focused object may not be the same as @focusable if
2324 // @focusable does not accept focus directly.
2325 // <focusable>: the object to set focus on
2326 void push_focus()(Focusable* focusable) {
2327 mx_focus_manager_push_focus(&this, focusable);
2330 // VERSION: 1.2
2331 // Similar to #mx_focus_manager_push_focus, but allows the hint to be specified.
2333 // Note: the final focused object may not be the same as @focusable if
2334 // @focusable does not accept focus directly.
2335 // <focusable>: the object to set focus on
2336 // <hint>: an #MxFocusHint
2337 void push_focus_with_hint()(Focusable* focusable, FocusHint hint) {
2338 mx_focus_manager_push_focus_with_hint(&this, focusable, hint);
2342 struct FocusManagerClass {
2343 GObject2.ObjectClass parent_class;
2344 extern (C) void function () _padding_0;
2345 extern (C) void function () _padding_1;
2346 extern (C) void function () _padding_2;
2347 extern (C) void function () _padding_3;
2348 extern (C) void function () _padding_4;
2351 struct FocusManagerPrivate {
2354 // This is an opaque structure whose members cannot be directly accessed.
2355 struct Focusable /* Interface */ {
2356 mixin template __interface__() {
2357 // Accept the focus
2358 // RETURNS: the focusable
2359 // <hint>: A #MxFocusHint
2360 Focusable* accept_focus()(FocusHint hint) {
2361 return mx_focusable_accept_focus(cast(Focusable*)&this, hint);
2364 // Move the focus
2365 // RETURNS: the newly focused focusable
2366 // <direction>: A #MxFocusDirection
2367 // <from>: focusable to move the focus from
2368 Focusable* move_focus()(FocusDirection direction, Focusable* from) {
2369 return mx_focusable_move_focus(cast(Focusable*)&this, direction, from);
2372 mixin __interface__;
2375 struct FocusableIface {
2376 GObject2.ObjectClass parent_class;
2378 // RETURNS: the focusable
2379 // <hint>: A #MxFocusHint
2380 extern (C) Focusable* function (Focusable* focusable, FocusHint hint) accept_focus;
2382 // RETURNS: the newly focused focusable
2383 // <direction>: A #MxFocusDirection
2384 // <from>: focusable to move the focus from
2385 extern (C) Focusable* function (Focusable* focusable, FocusDirection direction, Focusable* from) move_focus;
2388 // Support values of font weight
2389 enum FontWeight {
2390 NORMAL = 0,
2391 BOLD = 1,
2392 BOLDER = 2,
2393 LIGHTER = 3
2396 // The contents of this structure are private and should only be accessed
2397 // through the public API.
2398 struct Frame /* : Bin */ {
2399 mixin Atk.ImplementorIface.__interface__;
2400 mixin Clutter.Animatable.__interface__;
2401 mixin Clutter.Container.__interface__;
2402 mixin Clutter.Scriptable.__interface__;
2403 mixin Focusable.__interface__;
2404 mixin Stylable.__interface__;
2405 alias parent this;
2406 alias parent super_;
2407 alias parent bin;
2408 Bin parent;
2409 FramePrivate* priv;
2412 // Create a new #MxFrame
2413 // RETURNS: a newly allocated #MxFrame
2414 static Frame* new_()() {
2415 return mx_frame_new();
2419 struct FrameClass {
2420 BinClass parent_class;
2421 extern (C) void function () _padding_0;
2422 extern (C) void function () _padding_1;
2423 extern (C) void function () _padding_2;
2424 extern (C) void function () _padding_3;
2425 extern (C) void function () _padding_4;
2428 struct FramePrivate {
2432 // The contents of the this structure are private and should only be accessed
2433 // through the public API.
2434 struct Grid /* : Widget */ {
2435 mixin Atk.ImplementorIface.__interface__;
2436 mixin Clutter.Animatable.__interface__;
2437 mixin Clutter.Container.__interface__;
2438 mixin Clutter.Scriptable.__interface__;
2439 mixin Focusable.__interface__;
2440 mixin Scrollable.__interface__;
2441 mixin Stylable.__interface__;
2442 alias parent this;
2443 alias parent super_;
2444 alias parent widget;
2445 Widget parent;
2446 private GridPrivate* priv;
2448 static Grid* new_()() {
2449 return mx_grid_new();
2451 Align get_child_x_align()() {
2452 return mx_grid_get_child_x_align(&this);
2454 Align get_child_y_align()() {
2455 return mx_grid_get_child_y_align(&this);
2457 float get_column_spacing()() {
2458 return mx_grid_get_column_spacing(&this);
2460 int get_homogenous_columns()() {
2461 return mx_grid_get_homogenous_columns(&this);
2463 int get_homogenous_rows()() {
2464 return mx_grid_get_homogenous_rows(&this);
2466 int get_line_alignment()() {
2467 return mx_grid_get_line_alignment(&this);
2469 int get_max_stride()() {
2470 return mx_grid_get_max_stride(&this);
2472 Orientation get_orientation()() {
2473 return mx_grid_get_orientation(&this);
2475 float get_row_spacing()() {
2476 return mx_grid_get_row_spacing(&this);
2478 void set_child_x_align()(Align value) {
2479 mx_grid_set_child_x_align(&this, value);
2481 void set_child_y_align()(Align value) {
2482 mx_grid_set_child_y_align(&this, value);
2484 void set_column_spacing()(float value) {
2485 mx_grid_set_column_spacing(&this, value);
2487 void set_homogenous_columns()(int value) {
2488 mx_grid_set_homogenous_columns(&this, value);
2490 void set_homogenous_rows()(int value) {
2491 mx_grid_set_homogenous_rows(&this, value);
2493 void set_line_alignment()(Align value) {
2494 mx_grid_set_line_alignment(&this, value);
2496 void set_max_stride()(int value) {
2497 mx_grid_set_max_stride(&this, value);
2499 void set_orientation()(Orientation orientation) {
2500 mx_grid_set_orientation(&this, orientation);
2502 void set_row_spacing()(float value) {
2503 mx_grid_set_row_spacing(&this, value);
2507 struct GridClass {
2508 WidgetClass parent_class;
2509 extern (C) void function () _padding_0;
2510 extern (C) void function () _padding_1;
2511 extern (C) void function () _padding_2;
2512 extern (C) void function () _padding_3;
2513 extern (C) void function () _padding_4;
2516 struct GridPrivate {
2520 // The contents of this structure are private and should only be accessed
2521 // through the public API.
2522 struct Icon /* : Widget */ {
2523 mixin Atk.ImplementorIface.__interface__;
2524 mixin Clutter.Animatable.__interface__;
2525 mixin Clutter.Scriptable.__interface__;
2526 mixin Stylable.__interface__;
2527 alias parent this;
2528 alias parent super_;
2529 alias parent widget;
2530 Widget parent;
2531 private IconPrivate* priv;
2534 // Create a newly allocated #MxIcon
2535 // RETURNS: A newly allocated #MxIcon
2536 static Icon* new_()() {
2537 return mx_icon_new();
2539 char* get_icon_name()() {
2540 return mx_icon_get_icon_name(&this);
2542 int get_icon_size()() {
2543 return mx_icon_get_icon_size(&this);
2545 void set_icon_name()(char* icon_name) {
2546 mx_icon_set_icon_name(&this, icon_name);
2548 void set_icon_size()(int size) {
2549 mx_icon_set_icon_size(&this, size);
2553 struct IconClass {
2554 WidgetClass parent_class;
2555 extern (C) void function () _padding_0;
2556 extern (C) void function () _padding_1;
2557 extern (C) void function () _padding_2;
2558 extern (C) void function () _padding_3;
2559 extern (C) void function () _padding_4;
2562 struct IconPrivate {
2566 // The contents of this structure are private and should only be accessed
2567 // through the public API.
2568 struct IconTheme /* : GObject.Object */ {
2569 alias parent this;
2570 alias parent super_;
2571 alias parent object;
2572 GObject2.Object parent;
2573 IconThemePrivate* priv;
2576 // Create a new #MxIconTheme. In most cicumstances, it is more useful to use
2577 // #mx_icon_theme_get_default to load the default icon theme.
2578 // RETURNS: a newly allocated #MxIconTheme.
2579 static IconTheme* /*new*/ new_()() {
2580 return mx_icon_theme_new();
2583 // Return the default #MxIconTheme object used by the toolkit.
2584 // RETURNS: an #MxIconTheme.
2585 static IconTheme* get_default()() {
2586 return mx_icon_theme_get_default();
2589 // Gets the directories the #MxIconTheme will search in to find icons.
2590 // RETURNS: the search paths
2591 GLib2.List* get_search_paths()() {
2592 return mx_icon_theme_get_search_paths(&this);
2595 // Get the value of the #MxIconTheme:theme-name property.
2596 // RETURNS: the current value of the "theme-name" property.
2597 char* get_theme_name()() {
2598 return mx_icon_theme_get_theme_name(&this);
2600 int has_icon()(char* icon_name) {
2601 return mx_icon_theme_has_icon(&this, icon_name);
2604 // If the icon is available, returns a #CoglHandle of the icon.
2605 // RETURNS: a #CoglHandle of the icon, or %NULL.
2606 // <icon_name>: The name of the icon
2607 // <size>: The desired size of the icon
2608 Cogl.Handle lookup()(char* icon_name, int size) {
2609 return mx_icon_theme_lookup(&this, icon_name, size);
2612 // If the icon is available, returns a #ClutterTexture of the icon.
2613 // RETURNS: a #ClutterTexture of the icon, or %NULL.
2614 // <icon_name>: The name of the icon
2615 // <size>: The desired size of the icon
2616 Clutter.Texture* lookup_texture()(char* icon_name, int size) {
2617 return mx_icon_theme_lookup_texture(&this, icon_name, size);
2620 // Sets the directories the #MxIconTheme will search in to find icons.
2621 // By default, it will look in the default system and local icon
2622 // directories.
2623 // <paths>: a list of search paths
2624 void set_search_paths()(GLib2.List* paths) {
2625 mx_icon_theme_set_search_paths(&this, paths);
2628 // Set the value of the #MxIconTheme:theme-name property. This will cause the
2629 // icon theme to be loaded if it differs from the existing theme name. If the
2630 // theme could not be loaded, it will fall back to using the default icon theme
2631 // (hicolor).
2633 // This will override the system's theme setting. To revert to the system
2634 // icon theme, this function can be called with a %NULL @theme_name argument.
2635 // <theme_name>: the name of an icon theme to load, or %NULL
2636 void set_theme_name()(char* theme_name) {
2637 mx_icon_theme_set_theme_name(&this, theme_name);
2641 struct IconThemeClass {
2642 GObject2.ObjectClass parent_class;
2643 extern (C) void function () _padding_0;
2644 extern (C) void function () _padding_1;
2645 extern (C) void function () _padding_2;
2646 extern (C) void function () _padding_3;
2647 extern (C) void function () _padding_4;
2650 struct IconThemePrivate {
2654 // The contents of this structure are private and should only be accessed
2655 // through the public API.
2656 struct Image /* : Widget */ {
2657 mixin Atk.ImplementorIface.__interface__;
2658 mixin Clutter.Animatable.__interface__;
2659 mixin Clutter.Scriptable.__interface__;
2660 mixin Stylable.__interface__;
2661 alias parent this;
2662 alias parent super_;
2663 alias parent widget;
2664 Widget parent;
2665 private ImagePrivate* priv;
2668 // VERSION: 1.2
2669 // Creates a new #MxImage object.
2670 // RETURNS: A newly created #MxImage object
2671 static Image* new_()() {
2672 return mx_image_new();
2675 // VERSION: 1.2
2676 // Sets the value of #MxImage:scale-mode to @scale_mode and animates the
2677 // scale factor of the image between the previous value and the new value.
2678 // <mode>: a #ClutterAnimationMode
2679 // <duration>: duration of the animation in milliseconds
2680 // <scale_mode>: The #MxImageScaleMode to set
2681 void animate_scale_mode()(c_ulong mode, uint duration, ImageScaleMode scale_mode) {
2682 mx_image_animate_scale_mode(&this, mode, duration, scale_mode);
2685 // VERSION: 1.2
2686 // Clear the current image and set a blank, transparent image.
2687 // RETURNS: static void
2688 void clear()() {
2689 mx_image_clear(&this);
2692 // VERSION: 1.2
2693 // Determines whether image up-scaling is allowed.
2694 // RETURNS: %TRUE if upscaling is allowed, %FALSE otherwise
2695 int get_allow_upscale()() {
2696 return mx_image_get_allow_upscale(&this);
2699 // VERSION: 1.2
2700 // Get the value of the MxImage:image-rotation property.
2701 // RETURNS: The value of the image-rotation property.
2702 float get_image_rotation()() {
2703 return mx_image_get_image_rotation(&this);
2706 // VERSION: 1.2
2707 // Determines whether asynchronous image loading is in use.
2708 // RETURNS: %TRUE if images are set to load asynchronously, %FALSE otherwise
2709 int get_load_async()() {
2710 return mx_image_get_load_async(&this);
2713 // VERSION: 1.2
2714 // Retrieves the height scaling threshold.
2715 // RETURNS: The height scaling threshold, in pixels
2716 uint get_scale_height_threshold()() {
2717 return mx_image_get_scale_height_threshold(&this);
2720 // VERSION: 1.2
2721 // Get the current scale mode of @MxImage.
2722 // RETURNS: The current MxImageScaleMode
2723 ImageScaleMode get_scale_mode()() {
2724 return mx_image_get_scale_mode(&this);
2727 // VERSION: 1.2
2728 // Retrieves the width scaling threshold.
2729 // RETURNS: The width scaling threshold, in pixels
2730 uint get_scale_width_threshold()() {
2731 return mx_image_get_scale_width_threshold(&this);
2734 // VERSION: 1.2
2735 // Get the value of the MxImage:transition-duration property.
2736 // RETURNS: The value of the transition-duration property.
2737 uint get_transition_duration()() {
2738 return mx_image_get_transition_duration(&this);
2741 // VERSION: 1.2
2742 // Sets whether up-scaling of images is allowed. If set to %TRUE and a size
2743 // larger than the image is requested, the image will be up-scaled in
2744 // software.
2746 // The advantage of this is that software up-scaling is potentially higher
2747 // quality, but it comes at the expense of video memory.
2748 // <allow>: %TRUE to allow upscaling, %FALSE otherwise
2749 void set_allow_upscale()(int allow) {
2750 mx_image_set_allow_upscale(&this, allow);
2753 // VERSION: 1.2
2754 // Set the image data from unencoded image data, stored in memory. In case of
2755 // failure, #FALSE is returned and @error is set. It is expected that @buffer
2756 // will remain accessible for the duration of the load. Once it is finished
2757 // with, @buffer_free_func will be called.
2758 // RETURNS: #TRUE if the image was successfully updated
2759 // <buffer>: A buffer pointing to encoded image data
2760 // <buffer_size>: The size of @buffer, in bytes
2761 // <buffer_free_func>: A function to free @buffer, or %NULL
2762 int set_from_buffer()(ubyte* buffer, size_t buffer_size, GLib2.DestroyNotify buffer_free_func, GLib2.Error** error=null) {
2763 return mx_image_set_from_buffer(&this, buffer, buffer_size, buffer_free_func, error);
2766 // VERSION: 1.2
2767 // Set the image data from unencoded image data, stored in memory, and scales
2768 // it while loading. In case of failure, #FALSE is returned and @error is set.
2769 // It is expected that @buffer will remain accessible for the duration of the
2770 // load. Once it is finished with, @buffer_free_func will be called. The aspect
2771 // ratio will always be maintained.
2772 // RETURNS: #TRUE if the image was successfully updated
2773 // <buffer>: A buffer pointing to encoded image data
2774 // <buffer_size>: The size of @buffer, in bytes
2775 // <buffer_free_func>: A function to free @buffer, or %NULL
2776 // <width>: Width to scale the image to, or -1
2777 // <height>: Height to scale the image to, or -1
2778 int set_from_buffer_at_size()(ubyte* buffer, size_t buffer_size, GLib2.DestroyNotify buffer_free_func, int width, int height, GLib2.Error** error=null) {
2779 return mx_image_set_from_buffer_at_size(&this, buffer, buffer_size, buffer_free_func, width, height, error);
2782 // VERSION: 1.2
2783 // Sets the contents of the image from the given Cogl texture.
2784 // RETURNS: %TRUE on success, %FALSE on failure
2785 // <texture>: A #CoglHandle to a texture
2786 int set_from_cogl_texture()(Cogl.Handle texture) {
2787 return mx_image_set_from_cogl_texture(&this, texture);
2790 // VERSION: 1.2
2791 // Set the image data from a buffer. In case of failure, #FALSE is returned
2792 // and @error is set.
2793 // RETURNS: #TRUE if the image was successfully updated
2794 // <data>: Image data
2795 // <pixel_format>: The #CoglPixelFormat of the buffer
2796 // <width>: Width in pixels of image data.
2797 // <height>: Height in pixels of image data
2798 // <rowstride>: Distance in bytes between row starts.
2799 int set_from_data()(ubyte* data, Cogl.PixelFormat pixel_format, int width, int height, int rowstride, GLib2.Error** error=null) {
2800 return mx_image_set_from_data(&this, data, pixel_format, width, height, rowstride, error);
2803 // VERSION: 1.2
2804 // Set the image data from an image file. In case of failure, #FALSE is returned
2805 // and @error is set.
2806 // RETURNS: #TRUE if the image was successfully updated
2807 // <filename>: Filename to read the file from
2808 int set_from_file()(char* filename, GLib2.Error** error=null) {
2809 return mx_image_set_from_file(&this, filename, error);
2812 // VERSION: 1.2
2813 // Set the image data from an image file, and scale the image during loading.
2814 // In case of failure, #FALSE is returned and @error is set. The aspect ratio
2815 // will always be maintained.
2816 // RETURNS: #TRUE if the image was successfully updated
2817 // <filename>: Filename to read the file from
2818 // <width>: Width to scale the image to, or -1
2819 // <height>: Height to scale the image to, or -1
2820 int set_from_file_at_size()(char* filename, int width, int height, GLib2.Error** error=null) {
2821 return mx_image_set_from_file_at_size(&this, filename, width, height, error);
2824 // VERSION: 1.2
2825 // Set the MxImage:image-rotation property.
2826 // <rotation>: Rotation angle in degrees
2827 void set_image_rotation()(float rotation) {
2828 mx_image_set_image_rotation(&this, rotation);
2831 // VERSION: 1.2
2832 // Sets whether to load images asynchronously. Asynchronous image loading
2833 // requires thread support (see g_thread_init()).
2835 // When using asynchronous image loading, all image-loading functions will
2836 // return immediately as successful. The #MxImage::image-loaded and
2837 // #MxImage::image-load-error signals are used to signal success or failure
2838 // of asynchronous image loading.
2839 // <load_async>: %TRUE to load images asynchronously
2840 void set_load_async()(int load_async) {
2841 mx_image_set_load_async(&this, load_async);
2844 // VERSION: 1.2
2845 // Sets the threshold used to determine whether to scale the height of the
2846 // image. If a specific height is requested, the image height is allowed to
2847 // differ by this amount before scaling is employed.
2849 // This can be useful to avoid excessive CPU usage when the image differs
2850 // only slightly to the desired size.
2851 // <pixels>: Number of pixels
2852 void set_scale_height_threshold()(uint pixels) {
2853 mx_image_set_scale_height_threshold(&this, pixels);
2856 // VERSION: 1.2
2857 // Set the scale mode on @MxImage
2858 // <mode>: The #MxImageScaleMode to set
2859 void set_scale_mode()(ImageScaleMode mode) {
2860 mx_image_set_scale_mode(&this, mode);
2863 // VERSION: 1.2
2864 // Sets the threshold used to determine whether to scale the width of the
2865 // image. If a specific width is requested, the image width is allowed to
2866 // differ by this amount before scaling is employed.
2868 // This can be useful to avoid excessive CPU usage when the image differs
2869 // only slightly to the desired size.
2870 // <pixels>: Number of pixels
2871 void set_scale_width_threshold()(uint pixels) {
2872 mx_image_set_scale_width_threshold(&this, pixels);
2875 // VERSION: 1.2
2876 // Set the MxImage:transition-duration property.
2877 // <duration>: Transition duration in milliseconds
2878 void set_transition_duration()(uint duration) {
2879 mx_image_set_transition_duration(&this, duration);
2882 // VERSION: 1.2
2883 // Emitted when an asynchronous image load has encountered an error
2884 // and cannot load the requested image.
2885 extern (C) alias static void function (Image* this_, GLib2.Error* since, void* user_data=null) signal_image_load_error;
2887 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2888 return super_.signal_connect!name(cb, data, cf);
2891 ulong signal_connect(string name:"image-load-error", CB:signal_image_load_error)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2892 return signal_connect_data!()(&this, cast(char*)"image-load-error",
2893 cast(GObject2.Callback)cb, data, null, cf);
2896 // VERSION: 1.2
2897 // Emitted when an asynchronous image load has completed successfully
2898 extern (C) alias static void function (Image* this_, void* user_data=null) signal_image_loaded;
2899 ulong signal_connect(string name:"image-loaded", CB:signal_image_loaded)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2900 return signal_connect_data!()(&this, cast(char*)"image-loaded",
2901 cast(GObject2.Callback)cb, data, null, cf);
2905 struct ImageClass {
2906 private WidgetClass parent_class;
2907 extern (C) void function (Image* image) image_loaded;
2908 extern (C) void function (Image* image, GLib2.Error* error) image_load_error;
2911 enum ImageError {
2912 BAD_FORMAT = 0,
2913 NO_ASYNC = 1,
2914 INTERNAL = 2,
2915 INVALID_PARAMETER = 3
2917 struct ImagePrivate {
2920 // Defines the scaling mode of an image.
2921 enum ImageScaleMode {
2922 NONE = 0,
2923 FIT = 1,
2924 CROP = 2
2926 // This is an opaque structure whose members cannot be directly accessed.
2927 struct ItemFactory /* Interface */ {
2928 mixin template __interface__() {
2929 // Create an item
2930 // RETURNS: the new item
2931 Clutter.Actor* /*new*/ create()() {
2932 return mx_item_factory_create(cast(ItemFactory*)&this);
2935 mixin __interface__;
2938 // Interface for creating custom items
2939 struct ItemFactoryIface {
2940 private GObject2.TypeInterface g_iface;
2941 // RETURNS: the new item
2942 extern (C) Clutter.Actor* /*new*/ function (ItemFactory* factory) create;
2943 extern (C) void function () _padding_0;
2944 extern (C) void function () _padding_1;
2945 extern (C) void function () _padding_2;
2946 extern (C) void function () _padding_3;
2947 extern (C) void function () _padding_4;
2951 // The contents of the this structure are private and should only be accessed
2952 // through the public API.
2953 struct ItemView /* : Grid */ {
2954 mixin Atk.ImplementorIface.__interface__;
2955 mixin Clutter.Animatable.__interface__;
2956 mixin Clutter.Container.__interface__;
2957 mixin Clutter.Scriptable.__interface__;
2958 mixin Focusable.__interface__;
2959 mixin Scrollable.__interface__;
2960 mixin Stylable.__interface__;
2961 alias parent this;
2962 alias parent super_;
2963 alias parent grid;
2964 Grid parent;
2965 private ItemViewPrivate* priv;
2968 // Create a new #MxItemView
2969 // RETURNS: a newly allocated #MxItemView
2970 static ItemView* new_()() {
2971 return mx_item_view_new();
2974 // Adds an attribute mapping between the current model and the objects from the
2975 // cell renderer.
2976 // <attribute>: Name of the attribute
2977 // <column>: Column number
2978 void add_attribute()(char* attribute, int column) {
2979 mx_item_view_add_attribute(&this, attribute, column);
2982 // Freeze the view. This means that the view will not act on changes to the
2983 // model until it is thawed. Call #mx_item_view_thaw to thaw the view
2984 void freeze()() {
2985 mx_item_view_freeze(&this);
2988 // Gets the #MxItemFactory used for creating new items.
2989 // RETURNS: A #MxItemFactory.
2990 ItemFactory* get_factory()() {
2991 return mx_item_view_get_factory(&this);
2994 // Get the item type currently being used to create items
2995 // RETURNS: a #GType
2996 Type get_item_type()() {
2997 return mx_item_view_get_item_type(&this);
3000 // Get the model currently used by the #MxItemView
3001 // RETURNS: the current #ClutterModel
3002 Clutter.Model* get_model()() {
3003 return mx_item_view_get_model(&this);
3006 // Sets @factory to be the factory used for creating new items
3007 // <factory>: A #MxItemFactory
3008 void set_factory()(ItemFactory* factory=null) {
3009 mx_item_view_set_factory(&this, factory);
3012 // Set the item type used to create items representing each row in the
3013 // model
3014 // <item_type>: A #GType
3015 void set_item_type()(Type item_type) {
3016 mx_item_view_set_item_type(&this, item_type);
3019 // Set the model used by the #MxItemView
3020 // <model>: A #ClutterModel
3021 void set_model()(Clutter.Model* model) {
3022 mx_item_view_set_model(&this, model);
3025 // Thaw the view. This means that the view will now act on changes to the
3026 // model.
3027 void thaw()() {
3028 mx_item_view_thaw(&this);
3032 struct ItemViewClass {
3033 GridClass parent_class;
3034 extern (C) void function () _padding_0;
3035 extern (C) void function () _padding_1;
3036 extern (C) void function () _padding_2;
3037 extern (C) void function () _padding_3;
3038 extern (C) void function () _padding_4;
3041 struct ItemViewPrivate {
3045 // The contents of this structure is private and should only be accessed using
3046 // the provided API.
3047 struct KineticScrollView /* : Bin */ {
3048 mixin Atk.ImplementorIface.__interface__;
3049 mixin Clutter.Animatable.__interface__;
3050 mixin Clutter.Container.__interface__;
3051 mixin Clutter.Scriptable.__interface__;
3052 mixin Focusable.__interface__;
3053 mixin Scrollable.__interface__;
3054 mixin Stylable.__interface__;
3055 alias parent_instance this;
3056 alias parent_instance super_;
3057 alias parent_instance bin;
3058 Bin parent_instance;
3059 private KineticScrollViewPrivate* priv;
3062 // VERSION: 1.2
3063 // Creates a new #MxKineticScrollView.
3064 // RETURNS: a newly allocated #MxKineticScrollView
3065 static KineticScrollView* new_()() {
3066 return mx_kinetic_scroll_view_new();
3069 // VERSION: 1.4
3070 // Retrieves the initial acceleration factor of the kinetic scroll-view.
3071 // RETURNS: The initial acceleration factor of the kinetic scroll-view
3072 double get_acceleration_factor()() {
3073 return mx_kinetic_scroll_view_get_acceleration_factor(&this);
3076 // VERSION: 1.4
3077 // Retrieves the duration of the adjustment clamp animation.
3078 // RETURNS: Clamp duration
3079 uint get_clamp_duration()() {
3080 return mx_kinetic_scroll_view_get_clamp_duration(&this);
3083 // VERSION: 1.4
3084 // Retrieves the animation mode to use for the adjustment clamp animation.
3085 // RETURNS: Clamp mode
3086 c_ulong get_clamp_mode()() {
3087 return mx_kinetic_scroll_view_get_clamp_mode(&this);
3090 // VERSION: 1.4
3091 // Retrieves whether to clamp to step increments based on the center of the page.
3092 // RETURNS: Clamp to center
3093 int get_clamp_to_center()() {
3094 return mx_kinetic_scroll_view_get_clamp_to_center(&this);
3097 // VERSION: 1.2
3098 // Retrieves the deceleration rate of the kinetic scroll-view.
3099 // RETURNS: The deceleration rate of the kinetic scroll-view
3100 double get_deceleration()() {
3101 return mx_kinetic_scroll_view_get_deceleration(&this);
3104 // VERSION: 1.2
3105 // Gets the #MxKineticScrollView:mouse-button property
3107 // kinetic scroll-view
3108 // RETURNS: The mouse button number used to initiate drag events on the
3109 uint get_mouse_button()() {
3110 return mx_kinetic_scroll_view_get_mouse_button(&this);
3113 // VERSION: 1.2
3114 // Retrieves the deceleration rate multiplier used when the scroll-view is
3115 // scrolling beyond its boundaries.
3116 double get_overshoot()() {
3117 return mx_kinetic_scroll_view_get_overshoot(&this);
3120 // Retrieves the scrolling policy of the kinetic scroll-view.
3121 // RETURNS: A #MxScrollPolicy
3122 ScrollPolicy get_scroll_policy()() {
3123 return mx_kinetic_scroll_view_get_scroll_policy(&this);
3126 // VERSION: 1.2
3127 // Gets the #MxKineticScrollView:use-captured property.
3128 // RETURNS: %TRUE if captured-events should be used to initiate scrolling
3129 int get_use_captured()() {
3130 return mx_kinetic_scroll_view_get_use_captured(&this);
3133 // VERSION: 1.4
3134 // Factor applied to the initial momentum.
3135 // <acceleration_factor>: The acceleration factor
3136 void set_acceleration_factor()(double acceleration_factor) {
3137 mx_kinetic_scroll_view_set_acceleration_factor(&this, acceleration_factor);
3140 // VERSION: 1.4
3141 // Duration of the adjustment clamp animation.
3142 // <clamp_duration>: Clamp duration
3143 void set_clamp_duration()(uint clamp_duration) {
3144 mx_kinetic_scroll_view_set_clamp_duration(&this, clamp_duration);
3147 // VERSION: 1.4
3148 // Animation mode to use for the adjustment clamp animation.
3149 // <clamp_mode>: Clamp mode
3150 void set_clamp_mode()(c_ulong clamp_mode) {
3151 mx_kinetic_scroll_view_set_clamp_mode(&this, clamp_mode);
3154 // VERSION: 1.4
3155 // Set whether to clamp to step increments based on the center of the page.
3156 // <clamp_to_center>: Clamp to center
3157 void set_clamp_to_center()(int clamp_to_center) {
3158 mx_kinetic_scroll_view_set_clamp_to_center(&this, clamp_to_center);
3161 // VERSION: 1.2
3162 // Sets the deceleration rate when a drag is finished on the kinetic
3163 // scroll-view. This is the value that the momentum is divided by
3164 // every 60th of a second.
3165 // <rate>: The deceleration rate
3166 void set_deceleration()(double rate) {
3167 mx_kinetic_scroll_view_set_deceleration(&this, rate);
3170 // VERSION: 1.2
3171 // Sets the mouse button number used to initiate drag events on the kinetic
3172 // scroll-view.
3173 // <button>: A mouse button number
3174 void set_mouse_button()(uint button) {
3175 mx_kinetic_scroll_view_set_mouse_button(&this, button);
3178 // VERSION: 1.2
3179 // Sets the rate at which the view will decelerate when scrolling beyond its
3180 // boundaries. The deceleration rate will be multiplied by this value every
3181 // 60th of a second when the view is scrolling outside of the range set by its
3182 // adjustments.
3184 // See mx_kinetic_scroll_view_set_deceleration()
3185 // <overshoot>: The rate at which the view will decelerate when scrolling beyond its boundaries.
3186 void set_overshoot()(double overshoot) {
3187 mx_kinetic_scroll_view_set_overshoot(&this, overshoot);
3190 // Sets the scrolling policy for the kinetic scroll-view. This controls the
3191 // possible axes of movement, and can affect the minimum size of the widget.
3192 // <policy>: A #MxScrollPolicy
3193 void set_scroll_policy()(ScrollPolicy policy) {
3194 mx_kinetic_scroll_view_set_scroll_policy(&this, policy);
3197 // VERSION: 1.2
3198 // Sets whether to use captured events to initiate drag events. This can be
3199 // used to block events that would initiate scrolling from reaching the child
3200 // actor.
3201 // <use_captured>: %TRUE to use captured events
3202 void set_use_captured()(int use_captured) {
3203 mx_kinetic_scroll_view_set_use_captured(&this, use_captured);
3206 // VERSION: 1.2
3207 // Stops any current movement due to kinetic scrolling.
3208 void stop()() {
3209 mx_kinetic_scroll_view_stop(&this);
3213 struct KineticScrollViewClass {
3214 BinClass parent_class;
3217 struct KineticScrollViewPrivate {
3220 enum KineticScrollViewState {
3221 IDLE = 0,
3222 PANNING = 1,
3223 SCROLLING = 2,
3224 CLAMPING = 3
3227 // The contents of this structure is private and should only be accessed using
3228 // the provided API.
3229 struct Label /* : Widget */ {
3230 mixin Atk.ImplementorIface.__interface__;
3231 mixin Clutter.Animatable.__interface__;
3232 mixin Clutter.Scriptable.__interface__;
3233 mixin Stylable.__interface__;
3234 alias parent_instance this;
3235 alias parent_instance super_;
3236 alias parent_instance widget;
3237 Widget parent_instance;
3238 private LabelPrivate* priv;
3241 // Create a new #MxLabel
3242 // RETURNS: a new #MxLabel
3243 static Label* new_()() {
3244 return mx_label_new();
3247 // Create a new #MxLabel with the specified label
3248 // RETURNS: a new #MxLabel
3249 // <text>: text to set the label to
3250 static Label* new_with_text()(char* text) {
3251 return mx_label_new_with_text(text);
3254 // Retrieve the internal #ClutterText so that extra parameters can be set
3256 // is owned by the #MxLabel and should not be unref'ed by the application.
3257 // RETURNS: the #ClutterText used by #MxLabel. The label
3258 Clutter.Actor* get_clutter_text()() {
3259 return mx_label_get_clutter_text(&this);
3262 // VERSION: 1.2
3263 // Determines whether the label has been set to fade out when there isn't
3264 // enough space allocated to display the entire label.
3265 // RETURNS: %TRUE if the label is set to fade out, %FALSE otherwise
3266 int get_fade_out()() {
3267 return mx_label_get_fade_out(&this);
3270 // VERSION: 1.2
3271 // Get the value of the #MxLabel:line-wrap property.
3272 // RETURNS: %TRUE if the "line-wrap" property is set.
3273 int get_line_wrap()() {
3274 return mx_label_get_line_wrap(&this);
3277 // VERSION: 1.4
3278 // Returns the current value of the #MxLabel:show-tooltip property.
3279 // RETURNS: %TRUE if the #MxLabel:show-tooltip property is enabled
3280 int get_show_tooltip()() {
3281 return mx_label_get_show_tooltip(&this);
3284 // Get the text displayed on the label
3285 // RETURNS: the text for the label. This must not be freed by the application
3286 char* get_text()() {
3287 return mx_label_get_text(&this);
3290 // VERSION: 1.2
3291 // Determines whether the text of the label is being treated as Pango markup.
3293 // %FALSE otherwise.
3294 // RETURNS: %TRUE if the text of the label is treated as Pango markup,
3295 int get_use_markup()() {
3296 return mx_label_get_use_markup(&this);
3298 Align get_x_align()() {
3299 return mx_label_get_x_align(&this);
3301 Align get_y_align()() {
3302 return mx_label_get_y_align(&this);
3305 // VERSION: 1.2
3306 // Set whether to fade out the end of the label, instead of ellipsizing.
3307 // Enabling this mode will also set the #ClutterText:single-line-mode and
3308 // #ClutterText:ellipsize properties.
3309 // <fade>: %TRUE to fade out, %FALSE otherwise
3310 void set_fade_out()(int fade) {
3311 mx_label_set_fade_out(&this, fade);
3314 // VERSION: 1.2
3315 // Set the value of the #MxLabel:line-wrap property.
3316 // <line_wrap>: new value of the line-wrap property.
3317 void set_line_wrap()(int line_wrap) {
3318 mx_label_set_line_wrap(&this, line_wrap);
3321 // VERSION: 1.4
3322 // Set the value of the #MxLabel:show-tooltip property
3323 // <show_tooltip>: %TRUE if the tooltip should be shown
3324 void set_show_tooltip()(int show_tooltip) {
3325 mx_label_set_show_tooltip(&this, show_tooltip);
3328 // Sets the text displayed on the label
3329 // <text>: text to set the label to
3330 void set_text()(char* text) {
3331 mx_label_set_text(&this, text);
3334 // Sets whether the text of the label should be treated as Pango markup.
3335 // <use_markup>: %TRUE to use Pango markup, %FALSE otherwise
3336 void set_use_markup()(int use_markup) {
3337 mx_label_set_use_markup(&this, use_markup);
3339 void set_x_align()(Align align_) {
3340 mx_label_set_x_align(&this, align_);
3342 void set_y_align()(Align align_) {
3343 mx_label_set_y_align(&this, align_);
3347 struct LabelClass {
3348 WidgetClass parent_class;
3349 extern (C) void function () _padding_0;
3350 extern (C) void function () _padding_1;
3351 extern (C) void function () _padding_2;
3352 extern (C) void function () _padding_3;
3353 extern (C) void function () _padding_4;
3356 struct LabelPrivate {
3360 // The contents of the this structure are private and should only be accessed
3361 // through the public API.
3362 struct ListView /* : BoxLayout */ {
3363 mixin Atk.ImplementorIface.__interface__;
3364 mixin Clutter.Animatable.__interface__;
3365 mixin Clutter.Container.__interface__;
3366 mixin Clutter.Scriptable.__interface__;
3367 mixin Focusable.__interface__;
3368 mixin Scrollable.__interface__;
3369 mixin Stylable.__interface__;
3370 alias parent this;
3371 alias parent super_;
3372 alias parent boxlayout;
3373 BoxLayout parent;
3374 private ListViewPrivate* priv;
3377 // Create a new #MxListView
3378 // RETURNS: a newly allocated #MxListView
3379 static ListView* new_()() {
3380 return mx_list_view_new();
3383 // Adds an attribute mapping between the current model and the objects from the
3384 // cell renderer.
3385 // <attribute>: Name of the attribute
3386 // <column>: Column number
3387 void add_attribute()(char* attribute, int column) {
3388 mx_list_view_add_attribute(&this, attribute, column);
3391 // Freeze the view. This means that the view will not act on changes to the
3392 // model until it is thawed. Call #mx_list_view_thaw to thaw the view.
3393 void freeze()() {
3394 mx_list_view_freeze(&this);
3397 // Gets the #MxItemFactory used for creating new list items.
3398 // RETURNS: A #MxItemFactory.
3399 ItemFactory* get_factory()() {
3400 return mx_list_view_get_factory(&this);
3403 // Get the item type currently being used to create items
3404 // RETURNS: a #GType
3405 Type get_item_type()() {
3406 return mx_list_view_get_item_type(&this);
3409 // Get the model currently used by the #MxListView
3410 // RETURNS: the current #ClutterModel
3411 Clutter.Model* get_model()() {
3412 return mx_list_view_get_model(&this);
3415 // Sets @factory to be the factory used for creating new list items
3416 // <factory>: A #MxItemFactory
3417 void set_factory()(ItemFactory* factory=null) {
3418 mx_list_view_set_factory(&this, factory);
3421 // Set the item type used to create items representing each row in the
3422 // model
3423 // <item_type>: A #GType
3424 void set_item_type()(Type item_type) {
3425 mx_list_view_set_item_type(&this, item_type);
3428 // Set the model used by the #MxListView
3429 // <model>: A #ClutterModel
3430 void set_model()(Clutter.Model* model) {
3431 mx_list_view_set_model(&this, model);
3434 // Thaw the view. This means that the view will now act on changes to the
3435 // model.
3436 void thaw()() {
3437 mx_list_view_thaw(&this);
3441 struct ListViewClass {
3442 BoxLayoutClass parent_class;
3443 extern (C) void function () _padding_0;
3444 extern (C) void function () _padding_1;
3445 extern (C) void function () _padding_2;
3446 extern (C) void function () _padding_3;
3447 extern (C) void function () _padding_4;
3450 struct ListViewPrivate {
3453 enum LongPressAction {
3454 QUERY = 0,
3455 ACTION = 1,
3456 CANCEL = 2
3458 enum int MAJOR_VERSION = 1;
3459 enum int MICRO_VERSION = 2;
3460 enum int MINOR_VERSION = 99;
3462 // The contents of this structure are private and should only be accessed
3463 // through the public API.
3464 struct Menu /* : FloatingWidget */ {
3465 mixin Atk.ImplementorIface.__interface__;
3466 mixin Clutter.Animatable.__interface__;
3467 mixin Clutter.Scriptable.__interface__;
3468 mixin Focusable.__interface__;
3469 mixin Stylable.__interface__;
3470 alias parent this;
3471 alias parent super_;
3472 alias parent floatingwidget;
3473 FloatingWidget parent;
3474 private MenuPrivate* priv;
3477 // Create a new #MxMenu
3478 // RETURNS: a newly allocated #MxMenu
3479 static Menu* new_()() {
3480 return mx_menu_new();
3483 // Append @action to @menu.
3484 // <action>: A #MxAction
3485 void add_action()(Action* action) {
3486 mx_menu_add_action(&this, action);
3489 // Remove @action from @menu.
3490 // <action>: A #MxAction
3491 void remove_action()(Action* action) {
3492 mx_menu_remove_action(&this, action);
3494 // Remove all the actions from @menu.
3495 void remove_all()() {
3496 mx_menu_remove_all(&this);
3499 // Moves the menu to the specified position and shows it.
3500 // <x>: X position
3501 // <y>: Y position
3502 void show_with_position()(float x, float y) {
3503 mx_menu_show_with_position(&this, x, y);
3505 extern (C) alias static void function (Menu* this_, Action* object, void* user_data=null) signal_action_activated;
3507 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3508 return super_.signal_connect!name(cb, data, cf);
3511 ulong signal_connect(string name:"action-activated", CB:signal_action_activated)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3512 return signal_connect_data!()(&this, cast(char*)"action-activated",
3513 cast(GObject2.Callback)cb, data, null, cf);
3517 struct MenuClass {
3518 FloatingWidgetClass parent_class;
3519 extern (C) void function (Menu* menu, Action* action) action_activated;
3520 extern (C) void function () _padding_0;
3521 extern (C) void function () _padding_1;
3522 extern (C) void function () _padding_2;
3523 extern (C) void function () _padding_3;
3524 extern (C) void function () _padding_4;
3527 struct MenuPrivate {
3531 // The contents of this structure is private and should only be accessed using
3532 // the provided API.
3533 struct Notebook /* : Widget */ {
3534 mixin Atk.ImplementorIface.__interface__;
3535 mixin Clutter.Animatable.__interface__;
3536 mixin Clutter.Container.__interface__;
3537 mixin Clutter.Scriptable.__interface__;
3538 mixin Focusable.__interface__;
3539 mixin Stylable.__interface__;
3540 alias parent this;
3541 alias parent super_;
3542 alias parent widget;
3543 Widget parent;
3544 NotebookPrivate* priv;
3546 static Notebook* new_()() {
3547 return mx_notebook_new();
3550 // Get the current page
3551 // RETURNS: the current page
3552 Clutter.Actor* get_current_page()() {
3553 return mx_notebook_get_current_page(&this);
3555 int get_enable_gestures()() {
3556 return mx_notebook_get_enable_gestures(&this);
3558 // Change the current page to next one.
3559 void next_page()() {
3560 mx_notebook_next_page(&this);
3562 // Change the current page to previous one.
3563 void previous_page()() {
3564 mx_notebook_previous_page(&this);
3566 void set_current_page()(Clutter.Actor* page) {
3567 mx_notebook_set_current_page(&this, page);
3569 void set_enable_gestures()(int enabled) {
3570 mx_notebook_set_enable_gestures(&this, enabled);
3574 struct NotebookClass {
3575 WidgetClass parent_class;
3576 extern (C) void function () _padding_0;
3577 extern (C) void function () _padding_1;
3578 extern (C) void function () _padding_2;
3579 extern (C) void function () _padding_3;
3580 extern (C) void function () _padding_4;
3583 struct NotebookPrivate {
3587 // The contents of this structure is private and should only be accessed using
3588 // the provided API.
3589 struct Offscreen /* : Clutter.Texture */ {
3590 mixin Atk.ImplementorIface.__interface__;
3591 mixin Clutter.Animatable.__interface__;
3592 mixin Clutter.Container.__interface__;
3593 mixin Clutter.Scriptable.__interface__;
3594 mixin Focusable.__interface__;
3595 alias parent this;
3596 alias parent super_;
3597 alias parent texture;
3598 Clutter.Texture parent;
3599 OffscreenPrivate* priv;
3602 // Creates a new #MxOffscreen.
3603 // RETURNS: a newly allocated #MxOffscreen
3604 static Offscreen* new_()() {
3605 return mx_offscreen_new();
3608 // VERSION: 1.2
3609 // Gets the value of the #MxOffscreen:accumulation-enabled property.
3610 // RETURNS: #TRUE if the accumulation buffer is enabled
3611 int get_accumulation_enabled()() {
3612 return mx_offscreen_get_accumulation_enabled(&this);
3615 // VERSION: 1.2
3616 // Gets the #MxOffscreen:accumulation-material property.
3618 // for the accumulation buffer
3619 // RETURNS: The #CoglHandle for the material used
3620 Cogl.Handle get_accumulation_material()() {
3621 return mx_offscreen_get_accumulation_material(&this);
3624 // Gets the value of the #MxOffscreen:auto-update property.
3625 // RETURNS: #TRUE if automatic updating of the offscreen surface is enabled
3626 int get_auto_update()() {
3627 return mx_offscreen_get_auto_update(&this);
3630 // VERSION: 1.2
3631 // Gets the value of the #MxOffscreen:buffer property.
3632 // RETURNS: the #CoglHandle for the offscreen buffer object
3633 Cogl.Handle get_buffer()() {
3634 return mx_offscreen_get_buffer(&this);
3637 // Gets the value of the #MxOffscreen:child property.
3638 // RETURNS: The child of the offscreen widget
3639 Clutter.Actor* get_child()() {
3640 return mx_offscreen_get_child(&this);
3643 // Gets the value of the #MxOffscreen:pick-child property.
3644 // RETURNS: #TRUE if picking of the child is enabled.
3645 int get_pick_child()() {
3646 return mx_offscreen_get_pick_child(&this);
3649 // VERSION: 1.2
3650 // Gets the value of the #MxOffscreen:redirect-enabled property.
3651 // RETURNS: #TRUE if offscreen redirection is enabled
3652 int get_redirect_enabled()() {
3653 return mx_offscreen_get_redirect_enabled(&this);
3656 // VERSION: 1.2
3657 // Sets whether the accumulation buffer is enabled. When enabled, an extra
3658 // offscreen buffer is allocated, and the contents of the offscreen texture
3659 // are blended with this accumulation buffer. By default, the blend function
3660 // is set to blend the contents of the offscreen texture with the accumulation
3661 // buffer at the opacity specified in the alpha component of the blend
3662 // constant. This opacity is 50% by default.
3663 // <enable>: #TRUE to enable an accumulation buffer
3664 void set_accumulation_enabled()(int enable) {
3665 mx_offscreen_set_accumulation_enabled(&this, enable);
3668 // Enable automatic updating of the offscreen surface when the child is
3669 // updated.
3670 // <auto_update>: #TRUE if the offscreen surface should be automatically updated
3671 void set_auto_update()(int auto_update) {
3672 mx_offscreen_set_auto_update(&this, auto_update);
3675 // Redirects the painting of @actor to the offscreen surface owned by
3676 // @offscreen. In the event that @actor is unparented, it will be parented
3677 // to @offscreen. Note that when you redirect the painting of @actor, it
3678 // will no longer be painted in its original position in the scenegraph.
3679 // <actor>: A #ClutterActor
3680 void set_child()(Clutter.Actor* actor) {
3681 mx_offscreen_set_child(&this, actor);
3684 // Enable picking of the child actor.
3685 // <pick>: #TRUE to enable picking of the child actor
3686 void set_pick_child()(int pick) {
3687 mx_offscreen_set_pick_child(&this, pick);
3690 // VERSION: 1.2
3691 // Sets the value of the #MxOffscreen:redirect-enabled property. When
3692 // redirection is enabled, the painting of the child of @offscreen will be
3693 // redirected to the texture of @offscreen.
3694 // <enabled>: #TRUE if redirection to the offscreen surface should be enabled
3695 void set_redirect_enabled()(int enabled) {
3696 mx_offscreen_set_redirect_enabled(&this, enabled);
3699 // Updates the offscreen surface. This causes the child of @offscreen to be
3700 // drawn into the texture of @offscreen.
3701 void update()() {
3702 mx_offscreen_update(&this);
3706 struct OffscreenClass {
3707 Clutter.TextureClass parent_class;
3708 extern (C) void function (Offscreen* self) paint_child;
3709 extern (C) void function () _padding_0;
3710 extern (C) void function () _padding_1;
3711 extern (C) void function () _padding_2;
3712 extern (C) void function () _padding_3;
3713 extern (C) void function () _padding_4;
3716 struct OffscreenPrivate {
3719 // Defines the orientation of various layout widgets.
3720 enum Orientation {
3721 HORIZONTAL = 0,
3722 VERTICAL = 1
3724 enum int PARAM_TRANSLATEABLE = 256;
3725 // The padding from the internal border of the parent container.
3726 struct Padding {
3727 float top, right, bottom, left;
3731 // The contents of this structure is private and should only be accessed using
3732 // the provided API.
3733 struct PathBar /* : Widget */ {
3734 mixin Atk.ImplementorIface.__interface__;
3735 mixin Clutter.Animatable.__interface__;
3736 mixin Clutter.Scriptable.__interface__;
3737 mixin Focusable.__interface__;
3738 mixin Stylable.__interface__;
3739 alias parent this;
3740 alias parent super_;
3741 alias parent widget;
3742 Widget parent;
3743 PathBarPrivate* priv;
3745 static PathBar* new_()() {
3746 return mx_path_bar_new();
3748 // Remove all the current buttons
3749 void clear()() {
3750 mx_path_bar_clear(&this);
3753 // Get the value of the #MxPathBar:clear-on-change property
3754 // RETURNS: the value of the "clear-on-change" property
3755 int get_clear_on_change()() {
3756 return mx_path_bar_get_clear_on_change(&this);
3759 // Get the value of the #MxPathBar:editable property.
3760 // RETURNS: the current value of the "editable" property.
3761 int get_editable()() {
3762 return mx_path_bar_get_editable(&this);
3765 // Get the MxEntry used as the editable area in the MxPathBar.
3766 // RETURNS: MxEntry *
3767 Entry* get_entry()() {
3768 return mx_path_bar_get_entry(&this);
3770 char* get_label()(int level) {
3771 return mx_path_bar_get_label(&this, level);
3773 int get_level()() {
3774 return mx_path_bar_get_level(&this);
3776 char* get_text()() {
3777 return mx_path_bar_get_text(&this);
3779 int pop()() {
3780 return mx_path_bar_pop(&this);
3782 int push()(char* name) {
3783 return mx_path_bar_push(&this, name);
3786 // Set theh value of the #MxPathBar:clear-on-change property
3787 // <clear_on_change>: the new value of the property
3788 void set_clear_on_change()(int clear_on_change) {
3789 mx_path_bar_set_clear_on_change(&this, clear_on_change);
3792 // Set the value of the #MxPathBar:editable property.
3793 // <editable>: #TRUE if the path bar should be editable
3794 void set_editable()(int editable) {
3795 mx_path_bar_set_editable(&this, editable);
3798 // Set the text on the button specified by @level
3799 // <level>: A #gint
3800 // <label>: A #gchar
3801 void set_label()(int level, char* label) {
3802 mx_path_bar_set_label(&this, level, label);
3805 // Set the text in the editable area of the #MxPathBar
3806 // <text>: string to set the editable text to.
3807 void set_text()(char* text) {
3808 mx_path_bar_set_text(&this, text);
3812 struct PathBarClass {
3813 WidgetClass parent_class;
3814 extern (C) void function () _padding_0;
3815 extern (C) void function () _padding_1;
3816 extern (C) void function () _padding_2;
3817 extern (C) void function () _padding_3;
3818 extern (C) void function () _padding_4;
3821 struct PathBarPrivate {
3824 // Defines the position of an interface element.
3825 enum Position /* Version 1.2 */ {
3826 TOP = 0,
3827 RIGHT = 1,
3828 BOTTOM = 2,
3829 LEFT = 3
3832 // The contents of this structure are private and should only be
3833 // accessed through the public API.
3834 struct ProgressBar /* : Widget */ {
3835 mixin Atk.ImplementorIface.__interface__;
3836 mixin Clutter.Animatable.__interface__;
3837 mixin Clutter.Scriptable.__interface__;
3838 mixin Stylable.__interface__;
3839 alias parent this;
3840 alias parent super_;
3841 alias parent widget;
3842 Widget parent;
3843 private ProgressBarPrivate* priv;
3846 // Create a new progress bar
3847 // RETURNS: a new #MxProgressBar
3848 static ProgressBar* new_()() {
3849 return mx_progress_bar_new();
3852 // Get the progress of the progress bar
3853 // RETURNS: A value between 0.0 and 1.0
3854 double get_progress()() {
3855 return mx_progress_bar_get_progress(&this);
3858 // Set the progress of the progress bar
3859 // <progress>: A value between 0.0 and 1.0
3860 void set_progress()(double progress) {
3861 mx_progress_bar_set_progress(&this, progress);
3865 struct ProgressBarClass {
3866 WidgetClass parent_class;
3867 extern (C) void function () _padding_0;
3868 extern (C) void function () _padding_1;
3869 extern (C) void function () _padding_2;
3870 extern (C) void function () _padding_3;
3871 extern (C) void function () _padding_4;
3874 struct ProgressBarPrivate {
3878 // The contents of this structure are private and should only be accessed
3879 // through the public API.
3880 struct ScrollBar /* : Bin */ {
3881 mixin Atk.ImplementorIface.__interface__;
3882 mixin Clutter.Animatable.__interface__;
3883 mixin Clutter.Container.__interface__;
3884 mixin Clutter.Scriptable.__interface__;
3885 mixin Focusable.__interface__;
3886 mixin Stylable.__interface__;
3887 alias parent_instance this;
3888 alias parent_instance super_;
3889 alias parent_instance bin;
3890 Bin parent_instance;
3891 private ScrollBarPrivate* priv;
3894 // Create a new #MxScrollBar
3895 // RETURNS: a new #MxScrollBar
3896 static ScrollBar* new_()() {
3897 return mx_scroll_bar_new();
3900 // Create a new #MxScrollBar with the given adjustment set
3901 // RETURNS: a new #MxScrollBar
3902 // <adjustment>: an #MxAdjustment
3903 static ScrollBar* new_with_adjustment()(Adjustment* adjustment) {
3904 return mx_scroll_bar_new_with_adjustment(adjustment);
3907 // Gets the adjustment object that stores the current position
3908 // of the scrollbar.
3909 // RETURNS: the adjustment
3910 Adjustment* get_adjustment()() {
3911 return mx_scroll_bar_get_adjustment(&this);
3913 Orientation get_orientation()() {
3914 return mx_scroll_bar_get_orientation(&this);
3916 void set_adjustment()(Adjustment* adjustment) {
3917 mx_scroll_bar_set_adjustment(&this, adjustment);
3919 void set_orientation()(Orientation orientation) {
3920 mx_scroll_bar_set_orientation(&this, orientation);
3922 extern (C) alias static void function (ScrollBar* this_, void* user_data=null) signal_scroll_start;
3924 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3925 return super_.signal_connect!name(cb, data, cf);
3928 ulong signal_connect(string name:"scroll-start", CB:signal_scroll_start)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3929 return signal_connect_data!()(&this, cast(char*)"scroll-start",
3930 cast(GObject2.Callback)cb, data, null, cf);
3932 extern (C) alias static void function (ScrollBar* this_, void* user_data=null) signal_scroll_stop;
3933 ulong signal_connect(string name:"scroll-stop", CB:signal_scroll_stop)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
3934 return signal_connect_data!()(&this, cast(char*)"scroll-stop",
3935 cast(GObject2.Callback)cb, data, null, cf);
3939 struct ScrollBarClass {
3940 BinClass parent_class;
3941 extern (C) void function (ScrollBar* bar) scroll_start;
3942 extern (C) void function (ScrollBar* bar) scroll_stop;
3943 extern (C) void function () _padding_0;
3944 extern (C) void function () _padding_1;
3945 extern (C) void function () _padding_2;
3946 extern (C) void function () _padding_3;
3947 extern (C) void function () _padding_4;
3950 struct ScrollBarPrivate {
3953 // Defines the scrolling policy of scrollable widgets.
3954 enum ScrollPolicy {
3955 NONE = 0,
3956 HORIZONTAL = 1,
3957 VERTICAL = 2,
3958 BOTH = 3
3961 // The contents of this structure are private and should only be accessed
3962 // through the public API.
3963 struct ScrollView /* : Bin */ {
3964 mixin Atk.ImplementorIface.__interface__;
3965 mixin Clutter.Animatable.__interface__;
3966 mixin Clutter.Container.__interface__;
3967 mixin Clutter.Scriptable.__interface__;
3968 mixin Focusable.__interface__;
3969 mixin Stylable.__interface__;
3970 alias parent_instance this;
3971 alias parent_instance super_;
3972 alias parent_instance bin;
3973 Bin parent_instance;
3974 private ScrollViewPrivate* priv;
3976 static ScrollView* new_()() {
3977 return mx_scroll_view_new();
3980 // Ensures that a given region is visible in the ScrollView, with the top-left
3981 // taking precedence.
3982 // <geometry>: The region to make visible
3983 void ensure_visible()(Clutter.Geometry* geometry) {
3984 mx_scroll_view_ensure_visible(&this, geometry);
3986 int get_enable_gestures()() {
3987 return mx_scroll_view_get_enable_gestures(&this);
3989 int get_enable_mouse_scrolling()() {
3990 return mx_scroll_view_get_enable_mouse_scrolling(&this);
3992 ScrollPolicy get_scroll_policy()() {
3993 return mx_scroll_view_get_scroll_policy(&this);
3995 void set_enable_gestures()(int enabled) {
3996 mx_scroll_view_set_enable_gestures(&this, enabled);
3998 void set_enable_mouse_scrolling()(int enabled) {
3999 mx_scroll_view_set_enable_mouse_scrolling(&this, enabled);
4001 void set_scroll_policy()(ScrollPolicy policy) {
4002 mx_scroll_view_set_scroll_policy(&this, policy);
4006 struct ScrollViewClass {
4007 BinClass parent_class;
4008 extern (C) void function () _padding_0;
4009 extern (C) void function () _padding_1;
4010 extern (C) void function () _padding_2;
4011 extern (C) void function () _padding_3;
4012 extern (C) void function () _padding_4;
4015 struct ScrollViewPrivate {
4018 // This is an opaque structure whose members cannot be directly accessed.
4019 struct Scrollable /* Interface */ {
4020 mixin template __interface__() {
4021 // Gets the adjustment objects that store the offsets of the scrollable widget
4022 // into its possible scrolling area.
4023 // <hadjustment>: location to store the horizontal adjustment, or %NULL
4024 // <vadjustment>: location to store the vertical adjustment, or %NULL
4025 void get_adjustments()(/*out*/ Adjustment** hadjustment=null, /*out*/ Adjustment** vadjustment=null) {
4026 mx_scrollable_get_adjustments(cast(Scrollable*)&this, hadjustment, vadjustment);
4028 void set_adjustments()(Adjustment* hadjustment, Adjustment* vadjustment) {
4029 mx_scrollable_set_adjustments(cast(Scrollable*)&this, hadjustment, vadjustment);
4032 mixin __interface__;
4035 struct ScrollableIface {
4036 private GObject2.TypeInterface parent;
4037 extern (C) void function (Scrollable* scrollable, Adjustment* hadjustment, Adjustment* vadjustment) set_adjustments;
4039 // <hadjustment>: location to store the horizontal adjustment, or %NULL
4040 // <vadjustment>: location to store the vertical adjustment, or %NULL
4041 extern (C) void function (Scrollable* scrollable, /*out*/ Adjustment** hadjustment=null, /*out*/ Adjustment** vadjustment=null) get_adjustments;
4044 struct Settings /* : GObject.Object */ {
4045 alias parent this;
4046 alias parent super_;
4047 alias parent object;
4048 GObject2.Object parent;
4049 SettingsPrivate* priv;
4052 // Get the global MxSettings object.
4053 // RETURNS: an #MxSettings object
4054 static Settings* get_default()() {
4055 return mx_settings_get_default();
4059 struct SettingsClass {
4060 GObject2.ObjectClass parent_class;
4061 extern (C) void function () _padding_0;
4062 extern (C) void function () _padding_1;
4063 extern (C) void function () _padding_2;
4064 extern (C) void function () _padding_3;
4065 extern (C) void function () _padding_4;
4068 struct SettingsPrivate {
4071 struct SettingsProvider {
4074 struct SettingsProviderIface {
4075 private GObject2.TypeInterface parent_iface;
4076 // Unintrospectable functionp: setting_changed() / ()
4077 extern (C) void function (SettingsProvider* provider, MxSettingsProperty id) setting_changed;
4078 // Unintrospectable functionp: get_setting() / ()
4079 extern (C) int function (SettingsProvider* provider, MxSettingsProperty id, void* value) get_setting;
4080 // Unintrospectable functionp: set_setting() / ()
4081 extern (C) int function (SettingsProvider* provider, MxSettingsProperty id, void* value) set_setting;
4085 // The contents of this structure are private and should only be accessed
4086 // through the public API.
4087 struct Slider /* : Widget */ {
4088 mixin Atk.ImplementorIface.__interface__;
4089 mixin Clutter.Animatable.__interface__;
4090 mixin Clutter.Scriptable.__interface__;
4091 mixin Focusable.__interface__;
4092 mixin Stylable.__interface__;
4093 alias parent this;
4094 alias parent super_;
4095 alias parent widget;
4096 Widget parent;
4097 private SliderPrivate* priv;
4100 // Create a new slider
4101 // RETURNS: a new #MxSlider
4102 static Slider* new_()() {
4103 return mx_slider_new();
4106 // VERSION: 1.2
4107 // Get the value of the #MxSlider:buffer-value property.
4108 // RETURNS: The current value of the "buffer-value" property.
4109 double get_buffer_value()() {
4110 return mx_slider_get_buffer_value(&this);
4113 // Retrieve the current value of the media bar
4114 // RETURNS: gdouble
4115 double get_value()() {
4116 return mx_slider_get_value(&this);
4119 // VERSION: 1.2
4120 // Set the value of the #MxSlider:buffer-value property.
4121 // <value>: the new buffer value of the slider
4122 void set_buffer_value()(double value) {
4123 mx_slider_set_buffer_value(&this, value);
4126 // Set the value of the slider
4127 // <value>: A value between 0.0 and 1.0
4128 void set_value()(double value) {
4129 mx_slider_set_value(&this, value);
4131 extern (C) alias static void function (Slider* this_, void* user_data=null) signal_slide_start;
4133 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4134 return super_.signal_connect!name(cb, data, cf);
4137 ulong signal_connect(string name:"slide-start", CB:signal_slide_start)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4138 return signal_connect_data!()(&this, cast(char*)"slide-start",
4139 cast(GObject2.Callback)cb, data, null, cf);
4141 extern (C) alias static void function (Slider* this_, void* user_data=null) signal_slide_stop;
4142 ulong signal_connect(string name:"slide-stop", CB:signal_slide_stop)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4143 return signal_connect_data!()(&this, cast(char*)"slide-stop",
4144 cast(GObject2.Callback)cb, data, null, cf);
4148 struct SliderClass {
4149 WidgetClass parent_class;
4150 extern (C) void function () _padding_0;
4151 extern (C) void function () _padding_1;
4152 extern (C) void function () _padding_2;
4153 extern (C) void function () _padding_3;
4154 extern (C) void function () _padding_4;
4157 struct SliderPrivate {
4161 // The contents of this structure are private and should only be accessed
4162 // through the public API.
4163 struct Spinner /* : Widget */ {
4164 mixin Atk.ImplementorIface.__interface__;
4165 mixin Clutter.Animatable.__interface__;
4166 mixin Clutter.Scriptable.__interface__;
4167 mixin Stylable.__interface__;
4168 alias parent this;
4169 alias parent super_;
4170 alias parent widget;
4171 Widget parent;
4172 private SpinnerPrivate* priv;
4175 // VERSION: 1.2
4176 // Create a new #MxSpinner widget.
4177 // RETURNS: a newly allocated #MxSpinner
4178 static Spinner* new_()() {
4179 return mx_spinner_new();
4182 // VERSION: 1.2
4183 // Determines whether the spinner is animating.
4184 // RETURNS: %TRUE if the spinner is animating, %FALSE otherwise
4185 int get_animating()() {
4186 return mx_spinner_get_animating(&this);
4189 // VERSION: 1.2
4190 // Sets whether the spinner is animating. A spinner can be stopped if
4191 // the task it represents has finished, or to save energy.
4192 // <animating>: %TRUE to enable animation, %FALSE to disable
4193 void set_animating()(int animating) {
4194 mx_spinner_set_animating(&this, animating);
4197 // VERSION: 1.2
4198 // Emitted after the animation has displayed the final frame.
4199 extern (C) alias static void function (Spinner* this_, void* user_data=null) signal_looped;
4201 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4202 return super_.signal_connect!name(cb, data, cf);
4205 ulong signal_connect(string name:"looped", CB:signal_looped)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4206 return signal_connect_data!()(&this, cast(char*)"looped",
4207 cast(GObject2.Callback)cb, data, null, cf);
4211 struct SpinnerClass {
4212 WidgetClass parent_class;
4213 extern (C) void function (Spinner* spinner) looped;
4214 extern (C) void function () _padding_0;
4215 extern (C) void function () _padding_1;
4216 extern (C) void function () _padding_2;
4217 extern (C) void function () _padding_3;
4220 struct SpinnerPrivate {
4224 // The contents of this structure are private and should only be accessed
4225 // through the public API.
4226 struct Stack /* : Widget */ {
4227 mixin Atk.ImplementorIface.__interface__;
4228 mixin Clutter.Animatable.__interface__;
4229 mixin Clutter.Container.__interface__;
4230 mixin Clutter.Scriptable.__interface__;
4231 mixin Focusable.__interface__;
4232 mixin Stylable.__interface__;
4233 alias parent this;
4234 alias parent super_;
4235 alias parent widget;
4236 Widget parent;
4237 private StackPrivate* priv;
4240 // VERSION: 1.2
4241 // Create a new #MxStack.
4242 // RETURNS: a newly allocated #MxStack
4243 static Stack* new_()() {
4244 return mx_stack_new();
4247 // VERSION: 1.4
4248 // Get the value of the #MxStackChild:fit property.
4249 // RETURNS: the current value of the #MxStackChild:crop property
4250 // <child>: A #ClutterActor
4251 int child_get_crop()(Clutter.Actor* child) {
4252 return mx_stack_child_get_crop(&this, child);
4255 // VERSION: 1.2
4256 // Get the value of the #MxStackChild:fit property.
4257 // RETURNS: the current value of the #MxStackChild:fit property
4258 // <child>: A #ClutterActor
4259 int child_get_fit()(Clutter.Actor* child) {
4260 return mx_stack_child_get_fit(&this, child);
4263 // VERSION: 1.2
4264 // Get the value of the #MxStackChild:x-align property
4265 // RETURNS: the current value of the "x-align" property
4266 // <child>: A #ClutterActor
4267 Align child_get_x_align()(Clutter.Actor* child) {
4268 return mx_stack_child_get_x_align(&this, child);
4271 // VERSION: 1.2
4272 // Get the value of the #MxStackChild:x-fill property.
4273 // RETURNS: the current value of the "x-fill" property.
4274 // <child>: A #ClutterActor
4275 int child_get_x_fill()(Clutter.Actor* child) {
4276 return mx_stack_child_get_x_fill(&this, child);
4279 // VERSION: 1.2
4280 // Get the value of the #MxStackChild:y-align property.
4281 // RETURNS: the current value of the "y-align" property.
4282 // <child>: A #ClutterActor
4283 Align child_get_y_align()(Clutter.Actor* child) {
4284 return mx_stack_child_get_y_align(&this, child);
4287 // VERSION: 1.2
4288 // Get the value of the #MxStackChild:y-fill property
4289 // RETURNS: the current value of the "y-fill" property
4290 // <child>: A #ClutterActor
4291 int child_get_y_fill()(Clutter.Actor* child) {
4292 return mx_stack_child_get_y_fill(&this, child);
4295 // VERSION: 1.4
4296 // Set the value of the #MxStackChild:crop property.
4297 // <child>: A #ClutterActor
4298 // <crop>: A #gboolean
4299 void child_set_crop()(Clutter.Actor* child, int crop) {
4300 mx_stack_child_set_crop(&this, child, crop);
4303 // VERSION: 1.2
4304 // Set the value of the #MxStackChild:fit property.
4305 // <child>: A #ClutterActor
4306 // <fit>: A #gboolean
4307 void child_set_fit()(Clutter.Actor* child, int fit) {
4308 mx_stack_child_set_fit(&this, child, fit);
4311 // VERSION: 1.2
4312 // Set the value of the #MxStackChild:x-align property.
4313 // <child>: A #ClutterActor
4314 // <x_align>: An #MxAlign
4315 void child_set_x_align()(Clutter.Actor* child, Align x_align) {
4316 mx_stack_child_set_x_align(&this, child, x_align);
4319 // VERSION: 1.2
4320 // Set the value of the #MxStackChild:x-fill property.
4321 // <child>: A #ClutterActor
4322 // <x_fill>: A #gboolean
4323 void child_set_x_fill()(Clutter.Actor* child, int x_fill) {
4324 mx_stack_child_set_x_fill(&this, child, x_fill);
4327 // VERSION: 1.2
4328 // Set the value of the #MxStackChild:y-align property.
4329 // <child>: A #ClutterActor
4330 // <y_align>: An #MxAlign
4331 void child_set_y_align()(Clutter.Actor* child, Align y_align) {
4332 mx_stack_child_set_y_align(&this, child, y_align);
4335 // VERSION: 1.2
4336 // Set the value of the #MxStackChild:y-fill property.
4337 // <child>: A #ClutterActor
4338 // <y_fill>: A #gboolean
4339 void child_set_y_fill()(Clutter.Actor* child, int y_fill) {
4340 mx_stack_child_set_y_fill(&this, child, y_fill);
4345 // The contents of this structure are private and should only be accessed
4346 // through the public API.
4347 struct StackChild /* : Clutter.ChildMeta */ {
4348 alias parent this;
4349 alias parent super_;
4350 alias parent childmeta;
4351 Clutter.ChildMeta parent;
4352 static import std.bitmanip; mixin(std.bitmanip.bitfields!(
4353 uint, "x_fill", 1,
4354 uint, "y_fill", 1,
4355 uint, "fit", 1,
4356 uint, "crop", 1,
4357 uint, "__dummy32A", 28));
4358 private Align x_align, y_align;
4361 struct StackChildClass {
4362 Clutter.ChildMetaClass parent_class;
4363 extern (C) void function () _padding_0;
4364 extern (C) void function () _padding_1;
4365 extern (C) void function () _padding_2;
4366 extern (C) void function () _padding_3;
4367 extern (C) void function () _padding_4;
4370 struct StackChildPrivate {
4373 struct StackClass {
4374 WidgetClass parent_class;
4375 extern (C) void function () _padding_0;
4376 extern (C) void function () _padding_1;
4377 extern (C) void function () _padding_2;
4378 extern (C) void function () _padding_3;
4379 extern (C) void function () _padding_4;
4382 struct StackPrivate {
4385 // This is an opaque structure whose members cannot be directly accessed.
4386 struct Stylable /* Interface */ {
4387 mixin template __interface__() { void apply_clutter_text_attributes()(Clutter.Text* text) {
4388 mx_stylable_apply_clutter_text_attributes(cast(Stylable*)&this, text);
4390 void connect_change_notifiers()() {
4391 mx_stylable_connect_change_notifiers(cast(Stylable*)&this);
4394 // Finds the #GParamSpec installed by @stylable for the property
4395 // with @property_name.
4397 // or %NULL if no property with that name was found
4398 // RETURNS: a #GParamSpec for the given property,
4399 // <property_name>: the name of the property to find
4400 GObject2.ParamSpec* find_property()(char* property_name) {
4401 return mx_stylable_find_property(cast(Stylable*)&this, property_name);
4404 // Unintrospectable method: get() / mx_stylable_get()
4405 // Gets the style properties for @stylable.
4407 // In general, a copy is made of the property contents and the called
4408 // is responsible for freeing the memory in the appropriate manner for
4409 // the property type.
4411 // <example>
4412 // <title>Using mx_stylable_get(<!-- -->)</title>
4413 // <para>An example of using mx_stylable_get() to get the contents of
4414 // two style properties - one of type #G_TYPE_INT and one of type
4415 // #CLUTTER_TYPE_COLOR:</para>
4416 // <programlisting>
4417 // gint x_spacing;
4418 // ClutterColor *bg_color;
4420 // mx_stylable_get (stylable,
4421 // "x-spacing", &amp;x_spacing,
4422 // "bg-color", &amp;bg_color,
4423 // NULL);
4425 // /<!-- -->* do something with x_spacing and bg_color *<!-- -->/
4427 // clutter_color_free (bg_color);
4428 // </programlisting>
4429 // </example>
4430 // <first_property_name>: name of the first property to get
4431 /+ Not available -- variadic methods unsupported - use the C function directly.
4432 alias mx_stylable_get get; // Variadic
4435 // Query @stylable for the default value of property @property_name and
4436 // fill @value_out with the result.
4438 // been returned.
4439 // RETURNS: %TRUE if property @property_name exists and the default value has
4440 // <property_name>: name of the property to query
4441 // <value_out>: return location for the default value
4442 int get_default_value()(char* property_name, /*out*/ GObject2.Value* value_out) {
4443 return mx_stylable_get_default_value(cast(Stylable*)&this, property_name, value_out);
4446 // Retrieves the value of @property_name for @stylable, and puts it
4447 // into @value.
4448 // <property_name>: the name of the property
4449 // <value>: return location for an empty #GValue
4450 void get_property()(char* property_name, /*out*/ GObject2.Value* value) {
4451 mx_stylable_get_property(cast(Stylable*)&this, property_name, value);
4454 // Retrieves the #MxStyle used by @stylable. This function does not
4455 // alter the reference count of the returned object.
4456 // RETURNS: a #MxStyle
4457 Style* get_style()() {
4458 return mx_stylable_get_style(cast(Stylable*)&this);
4461 // Get the current style class name
4463 // should not be modified or freed.
4464 // RETURNS: the class name string. The string is owned by the #MxWidget and
4465 char* get_style_class()() {
4466 return mx_stylable_get_style_class(cast(Stylable*)&this);
4469 // Get the current style pseudo class. This can contain multiple pseudo class
4470 // names, separated by ':'.
4472 // should not be modified or freed.
4473 // RETURNS: the pseudo class string. The string is owned by the #MxWidget and
4474 char* get_style_pseudo_class()() {
4475 return mx_stylable_get_style_pseudo_class(cast(Stylable*)&this);
4478 // Retrieves all the #GParamSpec<!-- -->s installed by @stylable.
4480 // of #GParamSpec<!-- -->s. Free it with g_free() when done.
4481 // RETURNS: an array
4482 // <n_props>: return location for the number of properties, or %NULL
4483 GObject2.ParamSpec** /*new container*/ list_properties()(/*out*/ uint* n_props) {
4484 return mx_stylable_list_properties(cast(Stylable*)&this, n_props);
4487 // Sets @style as the new #MxStyle to be used by @stylable.
4489 // The #MxStylable will take ownership of the passed #MxStyle.
4491 // After the #MxStyle has been set, the MxStylable::style-set signal
4492 // will be emitted.
4493 // <style>: a #MxStyle
4494 void set_style()(Style* style) {
4495 mx_stylable_set_style(cast(Stylable*)&this, style);
4498 // Set the style class name
4499 // <style_class>: a new style class string
4500 void set_style_class()(char* style_class) {
4501 mx_stylable_set_style_class(cast(Stylable*)&this, style_class);
4504 // Set the style pseudo class. The string can contain multiple pseudo class
4505 // names, separated by ':'.
4506 // <pseudo_class>: a new pseudo class string
4507 void set_style_pseudo_class()(char* pseudo_class) {
4508 mx_stylable_set_style_pseudo_class(cast(Stylable*)&this, pseudo_class);
4511 // Emit the "style-changed" signal on @stylable to notify it that one or more
4512 // of the style properties has changed.
4514 // If @stylable is a #ClutterContainer then the "style-changed" notification is
4515 // propagated to it's children, since their style may depend on one or more
4516 // properties of the parent.
4517 // <flags>: flags that control the style changing
4518 void style_changed()(StyleChangedFlags flags) {
4519 mx_stylable_style_changed(cast(Stylable*)&this, flags);
4522 // VERSION: 1.2
4523 // Add a pseudo-class name to the list of pseudo classes, contained in the
4524 // #MxStylable:style-pseudo-class property.
4525 // <new_class>: A pseudo-class name to add
4526 void style_pseudo_class_add()(char* new_class) {
4527 mx_stylable_style_pseudo_class_add(cast(Stylable*)&this, new_class);
4530 // VERSION: 1.2
4531 // Check if the given pseudo-class name is contained in the list of
4532 // set pseudo classes on this #MxStylable object.
4533 // RETURNS: %TRUE if the given pseudo-class is set, %FALSE otherwise
4534 // <pseudo_class>: A pseudo-class name
4535 int style_pseudo_class_contains()(char* pseudo_class) {
4536 return mx_stylable_style_pseudo_class_contains(cast(Stylable*)&this, pseudo_class);
4539 // VERSION: 1.2
4540 // Remove the specified pseudo class name from the list of pseudo classes
4541 // contained in the #MxStylable:style-pseudo-class property.
4542 // <remove_class>: A pseudo class name to remove
4543 void style_pseudo_class_remove()(char* remove_class) {
4544 mx_stylable_style_pseudo_class_remove(cast(Stylable*)&this, remove_class);
4547 // The ::style-changed signal is emitted each time one of the style
4548 // properties have changed.
4549 // <flags>: the #MxStyleChangedFlags associated with the signal
4550 extern (C) alias static void function (Stylable* this_, StyleChangedFlags* flags, void* user_data=null) signal_style_changed;
4552 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4553 return super_.signal_connect!name(cb, data, cf);
4556 ulong signal_connect(string name:"style-changed", CB:signal_style_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4557 return signal_connect_data!()(&this, cast(char*)"style-changed",
4558 cast(GObject2.Callback)cb, data, null, cf);
4561 mixin __interface__;
4564 struct StylableIface {
4565 private GObject2.TypeInterface g_iface;
4566 // RETURNS: a #MxStyle
4567 extern (C) Style* function (Stylable* stylable) get_style;
4568 // <style>: a #MxStyle
4569 extern (C) void function (Stylable* stylable, Style* style) set_style;
4570 // RETURNS: the class name string. The string is owned by the #MxWidget and
4571 extern (C) char* function (Stylable* stylable) get_style_class;
4572 // <style_class>: a new style class string
4573 extern (C) void function (Stylable* stylable, char* style_class) set_style_class;
4574 // RETURNS: the pseudo class string. The string is owned by the #MxWidget and
4575 extern (C) char* function (Stylable* stylable) get_style_pseudo_class;
4576 // <pseudo_class>: a new pseudo class string
4577 extern (C) void function (Stylable* stylable, char* pseudo_class) set_style_pseudo_class;
4578 // <flags>: flags that control the style changing
4579 extern (C) void function (Stylable* stylable, StyleChangedFlags flags) style_changed;
4582 // Installs a property for @owner_type using @pspec as the property
4583 // description.
4585 // This function should be used inside the #MxStylableIface initialization
4586 // function of a class, for instance:
4588 // <informalexample><programlisting>
4589 // G_DEFINE_TYPE_WITH_CODE (FooActor, foo_actor, CLUTTER_TYPE_ACTOR,
4590 // G_IMPLEMENT_INTERFACE (MX_TYPE_STYLABLE,
4591 // mx_stylable_init));
4592 // ...
4593 // static void
4594 // mx_stylable_init (MxStylableIface *iface)
4595 // {
4596 // static gboolean is_initialized = FALSE;
4598 // if (!is_initialized)
4599 // {
4600 // ...
4601 // mx_stylable_iface_install_property (stylable,
4602 // FOO_TYPE_ACTOR,
4603 // g_param_spec_int ("x-spacing",
4604 // "X Spacing",
4605 // "Horizontal spacing",
4606 // -1, G_MAXINT,
4607 // 2,
4608 // G_PARAM_READWRITE));
4609 // ...
4610 // }
4611 // }
4612 // </programlisting></informalexample>
4613 // <owner_type>: #GType of the style property owner
4614 // <pspec>: a #GParamSpec
4615 void install_property()(Type owner_type, GObject2.ParamSpec* pspec) {
4616 mx_stylable_iface_install_property(&this, owner_type, pspec);
4621 // The contents of this structure is private and should only be accessed using
4622 // the provided API.
4623 struct Style /* : GObject.Object */ {
4624 alias parent_instance this;
4625 alias parent_instance super_;
4626 alias parent_instance object;
4627 GObject2.Object parent_instance;
4628 private StylePrivate* priv;
4631 // Creates a new #MxStyle object. This must be freed using #g_object_unref
4632 // when no longer required.
4633 // RETURNS: a newly allocated #MxStyle
4634 static Style* /*new*/ new_()() {
4635 return mx_style_new();
4638 // Return the default MxStyle object. This includes the current theme (if
4639 // any).
4641 // unref'd by applications
4642 // RETURNS: a #MxStyle object. This must not be freed or
4643 static Style* get_default()() {
4644 return mx_style_get_default();
4647 // Unintrospectable method: get() / mx_style_get()
4648 // Gets the style properties for @stylable from @style.
4650 // In general, a copy is made of the property contents and the caller
4651 // is responsible for freeing the memory in the appropriate manner for
4652 // the property type.
4653 // <stylable>: a #MxStylable
4654 // <first_property_name>: name of the first property to get
4655 /+ Not available -- variadic methods unsupported - use the C function directly.
4656 alias mx_style_get get; // Variadic
4659 // Requests the property described in @pspec for the specified stylable
4660 // <stylable>: a stylable to retreive the data for
4661 // <pspec>: a #GParamSpec describing the property required
4662 // <value>: a #GValue to place the return value in
4663 void get_property()(Stylable* stylable, GObject2.ParamSpec* pspec, /*out*/ GObject2.Value* value) {
4664 mx_style_get_property(&this, stylable, pspec, value);
4667 // Unintrospectable method: get_valist() / mx_style_get_valist()
4668 // Gets the style properties for @stylable from @style.
4670 // Please refer to mx_style_get() for further information.
4671 // <stylable>: a #MxStylable
4672 // <first_property_name>: name of the first property to get
4673 // <va_args>: return location for the first property, followed optionally by more name/return location pairs, followed by %NULL
4674 void get_valist()(Stylable* stylable, char* first_property_name, va_list va_args) {
4675 mx_style_get_valist(&this, stylable, first_property_name, va_args);
4678 // Load style information from the specified file.
4680 // FALSE on error.
4681 // RETURNS: TRUE if the style information was loaded successfully. Returns
4682 // <filename>: filename of the style sheet to load
4683 int load_from_file()(char* filename, GLib2.Error** error=null) {
4684 return mx_style_load_from_file(&this, filename, error);
4687 // Indicates that the style data has changed in some way. For example, a new
4688 // stylesheet may have been loaded.
4689 extern (C) alias static void function (Style* this_, void* user_data=null) signal_changed;
4691 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4692 return super_.signal_connect!name(cb, data, cf);
4695 ulong signal_connect(string name:"changed", CB:signal_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
4696 return signal_connect_data!()(&this, cast(char*)"changed",
4697 cast(GObject2.Callback)cb, data, null, cf);
4701 enum StyleChangedFlags {
4702 NONE = 0,
4703 FORCE = 1,
4704 INVALIDATE_CACHE = 2
4706 struct StyleClass {
4707 GObject2.ObjectClass parent_class;
4708 extern (C) void function (Style* style) changed;
4709 extern (C) void function () _padding_0;
4710 extern (C) void function () _padding_1;
4711 extern (C) void function () _padding_2;
4712 extern (C) void function () _padding_3;
4713 extern (C) void function () _padding_4;
4716 enum StyleError {
4717 INVALID_FILE = 0
4719 struct StylePrivate {
4723 // The contents of this structure is private and should only be accessed using
4724 // the provided API.
4725 struct Table /* : Widget */ {
4726 mixin Atk.ImplementorIface.__interface__;
4727 mixin Clutter.Animatable.__interface__;
4728 mixin Clutter.Container.__interface__;
4729 mixin Clutter.Scriptable.__interface__;
4730 mixin Focusable.__interface__;
4731 mixin Stylable.__interface__;
4732 alias parent_instance this;
4733 alias parent_instance super_;
4734 alias parent_instance widget;
4735 Widget parent_instance;
4736 private TablePrivate* priv;
4739 // Create a new #MxTable
4740 // RETURNS: a new #MxTable
4741 static Table* new_()() {
4742 return mx_table_new();
4745 // Add an actor at the specified row and column
4747 // Note, column and rows numbers start from zero
4748 // <actor>: the child to insert
4749 // <row>: the row to place the child into
4750 // <column>: the column to place the child into
4751 void add_actor()(Clutter.Actor* actor, int row, int column) {
4752 mx_table_add_actor(&this, actor, row, column);
4755 // Unintrospectable method: add_actor_with_properties() / mx_table_add_actor_with_properties()
4756 // Add an actor into at the specified row and column, with additional child
4757 // properties to set.
4758 // <actor>: the child #ClutterActor
4759 // <row>: the row to place the child into
4760 // <column>: the column to place the child into
4761 // <first_property_name>: name of the first property to set
4762 /+ Not available -- variadic methods unsupported - use the C function directly.
4763 alias mx_table_add_actor_with_properties add_actor_with_properties; // Variadic
4766 // Get the column of the child.
4767 // RETURNS: the column of the child
4768 // <child>: a #ClutterActor
4769 int child_get_column()(Clutter.Actor* child) {
4770 return mx_table_child_get_column(&this, child);
4773 // Get the column span of the child. Defaults to 1.
4774 // RETURNS: the column span of the child
4775 // <child>: a #ClutterActor
4776 int child_get_column_span()(Clutter.Actor* child) {
4777 return mx_table_child_get_column_span(&this, child);
4780 // Get the row of the child.
4781 // RETURNS: the row of the child
4782 // <child>: a #ClutterActor
4783 int child_get_row()(Clutter.Actor* child) {
4784 return mx_table_child_get_row(&this, child);
4787 // Get the row span of the child. Defaults to 1.
4788 // RETURNS: the row span of the child
4789 // <child>: A #ClutterActor
4790 int child_get_row_span()(Clutter.Actor* child) {
4791 return mx_table_child_get_row_span(&this, child);
4794 // Get the x-align value of the child
4795 // RETURNS: An #MxAlign value
4796 // <child>: A #ClutterActor
4797 Align child_get_x_align()(Clutter.Actor* child) {
4798 return mx_table_child_get_x_align(&this, child);
4801 // Get the x-expand property of the child
4802 // RETURNS: #TRUE if the child is set to x-expand
4803 // <child>: A #ClutterActor
4804 int child_get_x_expand()(Clutter.Actor* child) {
4805 return mx_table_child_get_x_expand(&this, child);
4808 // Get the x-fill state of the child
4809 // RETURNS: #TRUE if the child is set to x-fill
4810 // <child>: A #ClutterActor
4811 int child_get_x_fill()(Clutter.Actor* child) {
4812 return mx_table_child_get_x_fill(&this, child);
4815 // Get the y-align value of the child
4816 // RETURNS: An #MxAlign value
4817 // <child>: A #ClutterActor
4818 Align child_get_y_align()(Clutter.Actor* child) {
4819 return mx_table_child_get_y_align(&this, child);
4822 // Get the y-expand property of the child.
4823 // RETURNS: #TRUE if the child is set to y-expand
4824 // <child>: A #ClutterActor
4825 int child_get_y_expand()(Clutter.Actor* child) {
4826 return mx_table_child_get_y_expand(&this, child);
4829 // Get the y-fill state of the child
4830 // RETURNS: #TRUE if the child is set to y-fill
4831 // <child>: A #ClutterActor
4832 int child_get_y_fill()(Clutter.Actor* child) {
4833 return mx_table_child_get_y_fill(&this, child);
4836 // Set the column of the child
4837 // <child>: a #ClutterActor
4838 // <col>: the column of the child
4839 void child_set_column()(Clutter.Actor* child, int col) {
4840 mx_table_child_set_column(&this, child, col);
4843 // Set the column span of the child.
4844 // <child>: An #ClutterActor
4845 // <span>: The number of columns to span
4846 void child_set_column_span()(Clutter.Actor* child, int span) {
4847 mx_table_child_set_column_span(&this, child, span);
4850 // Set the row of the child
4851 // <child>: a #ClutterActor
4852 // <row>: the row of the child
4853 void child_set_row()(Clutter.Actor* child, int row) {
4854 mx_table_child_set_row(&this, child, row);
4857 // Set the row span of the child.
4858 // <child>: A #ClutterActor
4859 // <span>: the number of rows to span
4860 void child_set_row_span()(Clutter.Actor* child, int span) {
4861 mx_table_child_set_row_span(&this, child, span);
4864 // Set the alignment of the child within its cell. This will only have an effect
4865 // if the the x-fill property is FALSE.
4866 // <child>: A #ClutterActor
4867 // <align>: A #MxAlign value
4868 void child_set_x_align()(Clutter.Actor* child, Align align_) {
4869 mx_table_child_set_x_align(&this, child, align_);
4872 // Set x-expand on the child. This causes the column which the child
4873 // resides in to be allocated any extra space if the allocation of the table is
4874 // larger than the preferred size.
4875 // <child>: A #ClutterActor
4876 // <expand>: the new value of the x expand child property
4877 void child_set_x_expand()(Clutter.Actor* child, int expand) {
4878 mx_table_child_set_x_expand(&this, child, expand);
4881 // Set the fill state of the child on the x-axis. This will cause the child to
4882 // be allocated the maximum available space.
4883 // <child>: A #ClutterActor
4884 // <fill>: the fill state
4885 void child_set_x_fill()(Clutter.Actor* child, int fill) {
4886 mx_table_child_set_x_fill(&this, child, fill);
4889 // Set the value of the y-align property. This will only have an effect if
4890 // y-fill value is set to FALSE.
4891 // <child>: A #ClutterActor
4892 // <align>: A #MxAlign value
4893 void child_set_y_align()(Clutter.Actor* child, Align align_) {
4894 mx_table_child_set_y_align(&this, child, align_);
4897 // Set y-expand on the child. This causes the row which the child
4898 // resides in to be allocated any extra space if the allocation of the table is
4899 // larger than the preferred size.
4900 // <child>: A #ClutterActor
4901 // <expand>: the new value of the y-expand child property
4902 void child_set_y_expand()(Clutter.Actor* child, int expand) {
4903 mx_table_child_set_y_expand(&this, child, expand);
4906 // Set the fill state of the child on the y-axis. This will cause the child to
4907 // be allocated the maximum available space.
4908 // <child>: A #ClutterActor
4909 // <fill>: the fill state
4910 void child_set_y_fill()(Clutter.Actor* child, int fill) {
4911 mx_table_child_set_y_fill(&this, child, fill);
4914 // Retrieve the current number of columns in @table
4915 // RETURNS: the number of columns
4916 int get_column_count()() {
4917 return mx_table_get_column_count(&this);
4920 // Gets the amount of spacing between columns.
4921 // RETURNS: the spacing between columns in device units
4922 int get_column_spacing()() {
4923 return mx_table_get_column_spacing(&this);
4926 // Retrieve the current number rows in the @table
4927 // RETURNS: the number of rows
4928 int get_row_count()() {
4929 return mx_table_get_row_count(&this);
4932 // Gets the amount of spacing between rows.
4933 // RETURNS: the spacing between rows in device units
4934 int get_row_spacing()() {
4935 return mx_table_get_row_spacing(&this);
4938 // Sets the amount of spacing between columns.
4939 // <spacing>: spacing in pixels
4940 void set_column_spacing()(int spacing) {
4941 mx_table_set_column_spacing(&this, spacing);
4944 // Sets the amount of spacing between rows.
4945 // <spacing>: spacing in pixels
4946 void set_row_spacing()(int spacing) {
4947 mx_table_set_row_spacing(&this, spacing);
4952 // The contents of this structure is private and should only be accessed using
4953 // the provided API.
4954 struct TableChild /* : Clutter.ChildMeta */ {
4955 alias method_parent this;
4956 alias method_parent super_;
4957 alias method_parent childmeta;
4958 Clutter.ChildMeta method_parent;
4961 struct TableChildClass {
4962 Clutter.ChildMetaClass parent_class;
4963 extern (C) void function () _padding_0;
4964 extern (C) void function () _padding_1;
4965 extern (C) void function () _padding_2;
4966 extern (C) void function () _padding_3;
4967 extern (C) void function () _padding_4;
4970 struct TableClass {
4971 WidgetClass parent_class;
4972 extern (C) void function () _padding_0;
4973 extern (C) void function () _padding_1;
4974 extern (C) void function () _padding_2;
4975 extern (C) void function () _padding_3;
4976 extern (C) void function () _padding_4;
4979 struct TablePrivate {
4983 // The contents of this structure are private and should only be accessed
4984 // through the public API.
4985 struct TextureCache /* : GObject.Object */ {
4986 alias parent this;
4987 alias parent super_;
4988 alias parent object;
4989 GObject2.Object parent;
4992 // Returns the default texture cache. This is owned by Mx and should not be
4993 // unreferenced or freed.
4994 // RETURNS: a MxTextureCache
4995 static TextureCache* get_default()() {
4996 return mx_texture_cache_get_default();
4999 // VERSION: 1.2
5000 // Checks whether the given URI/path is contained within the texture
5001 // cache.
5002 // RETURNS: %TRUE if the image exists, %FALSE otherwise
5003 // <uri>: A URI or path to an image file
5004 int contains()(char* uri) {
5005 return mx_texture_cache_contains(&this, uri);
5008 // VERSION: 1.2
5009 // Checks whether there are any textures associated with the given URI by
5010 // the given identifier.
5011 // RETURNS: %TRUE if the data exists, %FALSE otherwise
5012 // <uri>: A URI or path to an image file
5013 // <ident>: A unique identifier
5014 int contains_meta()(char* uri, void* ident) {
5015 return mx_texture_cache_contains_meta(&this, uri, ident);
5018 // This is a wrapper around mx_texture_cache_get_texture() which returns
5019 // a ClutterActor.
5020 // RETURNS: a newly created ClutterTexture
5021 // <uri>: A URI or path to a image file
5022 Clutter.Actor* get_actor()(char* uri) {
5023 return mx_texture_cache_get_actor(&this, uri);
5026 // Create a #CoglHandle representing a texture of the specified image. Adds
5027 // the image to the cache if the image had not been previously loaded.
5028 // Subsequent calls with the same image URI/path will return the #CoglHandle of
5029 // the previously loaded image with an increased reference count.
5030 // RETURNS: a #CoglHandle to the cached texture
5031 // <uri>: A URI or path to an image file
5032 Cogl.Handle get_cogl_texture()(char* uri) {
5033 return mx_texture_cache_get_cogl_texture(&this, uri);
5036 // VERSION: 1.2
5037 // Retrieves the #CoglHandle of the previously added image associated
5038 // with the given unique identifier.
5040 // See mx_texture_cache_insert_meta()
5042 // reference. %NULL if no image was found.
5043 // RETURNS: A #CoglHandle to a texture, with an added
5044 // <uri>: A URI or path to an image file
5045 // <ident>: A unique identifier
5046 Cogl.Handle /*new*/ get_meta_cogl_texture()(char* uri, void* ident) {
5047 return mx_texture_cache_get_meta_cogl_texture(&this, uri, ident);
5050 // VERSION: 1.2
5051 // Create a new ClutterTexture using the previously added image associated
5052 // with the given unique identifier.
5054 // See mx_texture_cache_insert_meta()
5056 // %NULL if no image was found
5057 // RETURNS: A newly allocated #ClutterTexture, or
5058 // <uri>: A URI or path to an image file
5059 // <ident>: A unique identifier
5060 Clutter.Texture* /*new*/ get_meta_texture()(char* uri, void* ident) {
5061 return mx_texture_cache_get_meta_texture(&this, uri, ident);
5064 // Returns the number of items in the texture cache
5065 // RETURNS: the current size of the cache
5066 int get_size()() {
5067 return mx_texture_cache_get_size(&this);
5070 // Create a new ClutterTexture with the specified image. Adds the image to the
5071 // cache if the image had not been previously loaded. Subsequent calls with
5072 // the same image URI/path will return a new ClutterTexture with the previously
5073 // loaded image.
5074 // RETURNS: a newly created ClutterTexture
5075 // <uri>: A URI or path to a image file
5076 Clutter.Texture* get_texture()(char* uri) {
5077 return mx_texture_cache_get_texture(&this, uri);
5080 // VERSION: 1.2
5081 // Inserts a texture into the texture cache. This can be useful if you
5082 // want to cache a texture from a custom or unhandled URI type, or you
5083 // want to override a particular texture.
5085 // If the image is already in the cache, this texture will replace it. A
5086 // reference will be taken on the given texture.
5087 // <uri>: A URI or local file path
5088 // <texture>: A #CoglHandle to a texture
5089 void insert()(char* uri, Cogl.Handle* texture) {
5090 mx_texture_cache_insert(&this, uri, texture);
5093 // VERSION: 1.2
5094 // Inserts a texture that's associated with a URI into the cache.
5095 // If the metadata already exists for this URI, it will be replaced.
5097 // This is useful if you have a widely used modification of an image,
5098 // for example, an image with a border composited around it.
5099 // <uri>: A URI or local file path
5100 // <ident>: A unique identifier
5101 // <texture>: A #CoglHandle to a texture
5102 // <destroy_func>: An optional destruction function for @ident
5103 void insert_meta()(char* uri, void* ident, Cogl.Handle* texture, GLib2.DestroyNotify destroy_func) {
5104 mx_texture_cache_insert_meta(&this, uri, ident, texture, destroy_func);
5106 void load_cache()(char* filename) {
5107 mx_texture_cache_load_cache(&this, filename);
5111 struct TextureCacheClass {
5112 GObject2.ObjectClass parent_class;
5113 extern (C) void function (TextureCache* self, char* uri, Clutter.Texture* texture) loaded;
5114 extern (C) void function (TextureCache* self, GLib2.Error* error) error_loading;
5115 extern (C) void function () _padding_0;
5116 extern (C) void function () _padding_1;
5117 extern (C) void function () _padding_2;
5118 extern (C) void function () _padding_3;
5119 extern (C) void function () _padding_4;
5123 // The contents of this structure are private and should only be accessed
5124 // through the public API.
5125 struct TextureFrame /* : Clutter.Actor */ {
5126 mixin Atk.ImplementorIface.__interface__;
5127 mixin Clutter.Animatable.__interface__;
5128 mixin Clutter.Scriptable.__interface__;
5129 alias parent_instance this;
5130 alias parent_instance super_;
5131 alias parent_instance actor;
5132 Clutter.Actor parent_instance;
5133 private TextureFramePrivate* priv;
5136 // A #MxTextureFrame is a specialized texture that efficiently clones
5137 // an area of the given @texture while keeping preserving portions of the
5138 // same texture.
5140 // A #MxTextureFrame can be used to make a rectangular texture fit a
5141 // given size without stretching its borders.
5142 // RETURNS: the newly created #MxTextureFrame
5143 // <texture>: a #ClutterTexture or %NULL
5144 // <top>: top margin preserving its content
5145 // <right>: right margin preserving its content
5146 // <bottom>: bottom margin preserving its content
5147 // <left>: left margin preserving its content
5148 static TextureFrame* new_()(Clutter.Texture* texture, float top, float right, float bottom, float left) {
5149 return mx_texture_frame_new(texture, top, right, bottom, left);
5152 // Retrieve the current slice lines from the specified frame.
5153 // <top>: width of the top slice
5154 // <right>: width of the right slice
5155 // <bottom>: width of the bottom slice
5156 // <left>: width of the left slice
5157 void get_border_values()(float* top, float* right, float* bottom, float* left) {
5158 mx_texture_frame_get_border_values(&this, top, right, bottom, left);
5161 // Return the texture used by the #MxTextureFrame
5162 // RETURNS: a #ClutterTexture owned by the #MxTextureFrame
5163 Clutter.Texture* get_parent_texture()() {
5164 return mx_texture_frame_get_parent_texture(&this);
5167 // Set the slice lines of the specified frame. The slices are calculated as
5168 // widths from the edge of the frame.
5169 // <top>: width of the top slice
5170 // <right>: width of the right slice
5171 // <bottom>: width of the bottom slice
5172 // <left>: width of the left slice
5173 void set_border_values()(float top, float right, float bottom, float left) {
5174 mx_texture_frame_set_border_values(&this, top, right, bottom, left);
5177 // Set the #ClutterTexture used by this #MxTextureFrame
5178 // <texture>: A #ClutterTexture
5179 void set_parent_texture()(Clutter.Texture* texture) {
5180 mx_texture_frame_set_parent_texture(&this, texture);
5184 struct TextureFrameClass {
5185 Clutter.ActorClass parent_class;
5186 extern (C) void function () _padding_0;
5187 extern (C) void function () _padding_1;
5188 extern (C) void function () _padding_2;
5189 extern (C) void function () _padding_3;
5190 extern (C) void function () _padding_4;
5193 struct TextureFramePrivate {
5197 // The contents of this structure is private and should only be accessed using
5198 // the provided API.
5199 struct Toggle /* : Widget */ {
5200 mixin Atk.ImplementorIface.__interface__;
5201 mixin Clutter.Animatable.__interface__;
5202 mixin Clutter.Scriptable.__interface__;
5203 mixin Focusable.__interface__;
5204 mixin Stylable.__interface__;
5205 alias parent this;
5206 alias parent super_;
5207 alias parent widget;
5208 Widget parent;
5209 TogglePrivate* priv;
5211 static Toggle* new_()() {
5212 return mx_toggle_new();
5214 int get_active()() {
5215 return mx_toggle_get_active(&this);
5217 void set_active()(int active) {
5218 mx_toggle_set_active(&this, active);
5222 struct ToggleClass {
5223 WidgetClass parent_class;
5224 extern (C) void function () _padding_0;
5225 extern (C) void function () _padding_1;
5226 extern (C) void function () _padding_2;
5227 extern (C) void function () _padding_3;
5228 extern (C) void function () _padding_4;
5231 struct TogglePrivate {
5235 // The contents of this structure are private and should only be accessed
5236 // through the public API.
5237 struct Toolbar /* : Bin */ {
5238 mixin Atk.ImplementorIface.__interface__;
5239 mixin Clutter.Animatable.__interface__;
5240 mixin Clutter.Container.__interface__;
5241 mixin Clutter.Scriptable.__interface__;
5242 mixin Focusable.__interface__;
5243 mixin Stylable.__interface__;
5244 alias parent this;
5245 alias parent super_;
5246 alias parent bin;
5247 Bin parent;
5248 ToolbarPrivate* priv;
5251 // Create a new #MxToolbar. This is not normally necessary if using #MxWindow,
5252 // where #mx_window_get_toolbar should be used to retrieve the toolbar instead.
5253 // RETURNS: A newly allocated #MxToolbar
5254 static Toolbar* new_()() {
5255 return mx_toolbar_new();
5258 // Get the value of the #MxToolbar:has-close-button property.
5259 // RETURNS: the current value of the "hast-close-button" property.
5260 int get_has_close_button()() {
5261 return mx_toolbar_get_has_close_button(&this);
5264 // Set the #MxToolbar:has-close-button property
5265 // <has_close_button>: #TRUE if a close button should be displayed
5266 void set_has_close_button()(int has_close_button) {
5267 mx_toolbar_set_has_close_button(&this, has_close_button);
5270 // Emitted when the close button of the toolbar is clicked.
5272 // Normally, the parent stage will be closed when the close button is
5273 // clicked. Return #TRUE from this handler to prevent the stage from being
5274 // destroyed.
5275 // RETURNS: #TRUE to prevent the parent stage being destroyed.
5276 extern (C) alias static c_int function (Toolbar* this_, void* user_data=null) signal_close_button_clicked;
5278 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5279 return super_.signal_connect!name(cb, data, cf);
5282 ulong signal_connect(string name:"close-button-clicked", CB:signal_close_button_clicked)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5283 return signal_connect_data!()(&this, cast(char*)"close-button-clicked",
5284 cast(GObject2.Callback)cb, data, null, cf);
5288 struct ToolbarClass {
5289 BinClass parent_class;
5290 extern (C) int function (Toolbar* toolbar) close_button_clicked;
5291 extern (C) void function () _padding_0;
5292 extern (C) void function () _padding_1;
5293 extern (C) void function () _padding_2;
5294 extern (C) void function () _padding_3;
5295 extern (C) void function () _padding_4;
5298 struct ToolbarPrivate {
5302 // The contents of this structure is private and should only be accessed using
5303 // the provided API.
5304 struct Tooltip /* : FloatingWidget */ {
5305 mixin Atk.ImplementorIface.__interface__;
5306 mixin Clutter.Animatable.__interface__;
5307 mixin Clutter.Scriptable.__interface__;
5308 mixin Stylable.__interface__;
5309 alias parent_instance this;
5310 alias parent_instance super_;
5311 alias parent_instance floatingwidget;
5312 FloatingWidget parent_instance;
5313 private TooltipPrivate* priv;
5316 // VERSION: 1.2
5317 // Browse mode is entered whenever a tooltip is displayed and it is
5318 // left after a short delay when a tooltip is hidden. This is used to
5319 // make tooltips display quicker when a previous tooltip is already
5320 // displayed.
5322 // otherwise.
5323 // RETURNS: %TRUE if the app is in tooltip browse mode or %FALSE
5324 static int is_in_browse_mode()() {
5325 return mx_tooltip_is_in_browse_mode();
5328 // Get the text displayed on the tooltip
5329 // RETURNS: the text for the tooltip. This must not be freed by the application
5330 char* get_text()() {
5331 return mx_tooltip_get_text(&this);
5334 // Retrieve the area on the stage that the tooltip currently applies to
5336 // by the application.
5337 // RETURNS: the #ClutterGeometry, owned by the tooltip which must not be freed
5338 Clutter.Geometry* get_tip_area()() {
5339 return mx_tooltip_get_tip_area(&this);
5341 // Hide the tooltip
5342 void hide()() {
5343 mx_tooltip_hide(&this);
5346 // Sets the text displayed on the tooltip
5347 // <text>: text to set the label to
5348 void set_text()(char* text) {
5349 mx_tooltip_set_text(&this, text);
5352 // Set the area on the stage that the tooltip applies to.
5353 // <area>: A #ClutterGeometry
5354 void set_tip_area()(Clutter.Geometry* area) {
5355 mx_tooltip_set_tip_area(&this, area);
5358 // Utility function to set the geometry of the tooltip area
5359 // from an existing actor.
5360 // See also mx_tooltip_set_tip_area
5361 // <actor>: A #ClutterActor
5362 void set_tip_area_from_actor()(Clutter.Actor* actor) {
5363 mx_tooltip_set_tip_area_from_actor(&this, actor);
5365 // Show the tooltip relative to the associated widget.
5366 void show()() {
5367 mx_tooltip_show(&this);
5371 // Defines the animation when tooltips are shown and hidden.
5372 enum TooltipAnimation /* Version 1.2 */ {
5373 BOUNCE = 0,
5374 FADE = 1
5376 struct TooltipClass {
5377 FloatingWidgetClass parent_class;
5378 extern (C) void function () _padding_0;
5379 extern (C) void function () _padding_1;
5380 extern (C) void function () _padding_2;
5381 extern (C) void function () _padding_3;
5382 extern (C) void function () _padding_4;
5385 struct TooltipPrivate {
5388 enum int VERSION_HEX = 0;
5389 enum VERSION_S = "1.99.2";
5391 // The contents of this structure are private and should only be accessed
5392 // through the public API.
5393 struct Viewport /* : Bin */ {
5394 mixin Atk.ImplementorIface.__interface__;
5395 mixin Clutter.Animatable.__interface__;
5396 mixin Clutter.Container.__interface__;
5397 mixin Clutter.Scriptable.__interface__;
5398 mixin Focusable.__interface__;
5399 mixin Scrollable.__interface__;
5400 mixin Stylable.__interface__;
5401 alias parent this;
5402 alias parent super_;
5403 alias parent bin;
5404 Bin parent;
5405 private ViewportPrivate* priv;
5407 static Viewport* new_()() {
5408 return mx_viewport_new();
5410 void get_origin()(float* x, float* y, float* z) {
5411 mx_viewport_get_origin(&this, x, y, z);
5413 int get_sync_adjustments()() {
5414 return mx_viewport_get_sync_adjustments(&this);
5416 void set_origin()(float x, float y, float z) {
5417 mx_viewport_set_origin(&this, x, y, z);
5419 void set_sync_adjustments()(int sync) {
5420 mx_viewport_set_sync_adjustments(&this, sync);
5424 struct ViewportClass {
5425 BinClass parent_class;
5426 extern (C) void function () _padding_0;
5427 extern (C) void function () _padding_1;
5428 extern (C) void function () _padding_2;
5429 extern (C) void function () _padding_3;
5430 extern (C) void function () _padding_4;
5433 struct ViewportPrivate {
5437 // Base class for stylable actors. The contents of the #MxWidget
5438 // structure are private and should only be accessed through the
5439 // public API.
5440 struct Widget /* : Clutter.Actor */ {
5441 mixin Atk.ImplementorIface.__interface__;
5442 mixin Clutter.Animatable.__interface__;
5443 mixin Clutter.Scriptable.__interface__;
5444 mixin Stylable.__interface__;
5445 alias parent_instance this;
5446 alias parent_instance super_;
5447 alias parent_instance actor;
5448 Clutter.Actor parent_instance;
5449 private WidgetPrivate* priv;
5452 // VERSION: 1.2
5453 // Used to implement how a new style instance should be applied in the widget.
5454 // For instance, setting style instance on stylable internal children.
5455 // <style>: A #MxStyle
5456 void apply_style()(Style* style) {
5457 mx_widget_apply_style(&this, style);
5460 // Copies @allocation into @area and accounts for the padding values. This
5461 // gives the area that is available in which to allocate children with respect
5462 // to padding.
5463 // <allocation>: A #ClutterActorBox
5464 // <area>: A #ClutterActorBox
5465 void get_available_area()(Clutter.ActorBox* allocation, Clutter.ActorBox* area) {
5466 mx_widget_get_available_area(&this, allocation, area);
5469 // Get the texture used as the background image. This is set using the
5470 // "background-image" CSS property. This function should normally only be used
5471 // by subclasses.
5472 // RETURNS: a #ClutterActor
5473 Clutter.Actor* get_background_image()() {
5474 return mx_widget_get_background_image(&this);
5477 // Get the texture used as the border image. This is set using the
5478 // "border-image" CSS property. This function should normally only be used
5479 // by subclasses.
5480 // RETURNS: #ClutterActor
5481 Clutter.Actor* get_border_image()() {
5482 return mx_widget_get_border_image(&this);
5484 // Get the value of the "disabled" property.
5485 int get_disabled()() {
5486 return mx_widget_get_disabled(&this);
5489 // Get the object in the #MxWidget:menu property.
5490 // RETURNS: The current object in the "menu" property.
5491 Menu* get_menu()() {
5492 return mx_widget_get_menu(&this);
5495 // Gets the padding of the widget, set using the "padding" CSS property. This
5496 // function should normally only be used by subclasses.
5497 // <padding>: A pointer to an #MxPadding to fill
5498 void get_padding()(Padding* padding) {
5499 mx_widget_get_padding(&this, padding);
5502 // Get the value of the "tooltip-delay" property.
5503 // RETURNS: the current delay value in milliseconds
5504 uint get_tooltip_delay()() {
5505 return mx_widget_get_tooltip_delay(&this);
5508 // Get the current tooltip string
5509 // RETURNS: The current tooltip string, owned by the #MxWidget
5510 char* get_tooltip_text()() {
5511 return mx_widget_get_tooltip_text(&this);
5513 // Hide the tooltip for @widget
5514 void hide_tooltip()() {
5515 mx_widget_hide_tooltip(&this);
5518 // Cancel a long-press timeout if one is running and emit the signal to notify
5519 // that the long-press has been cancelled.
5520 void long_press_cancel()() {
5521 mx_widget_long_press_cancel(&this);
5524 // Emit the long-press query signal and start a long-press timeout if required.
5525 // <event>: the event used to determine whether to run a long-press
5526 void long_press_query()(Clutter.ButtonEvent* event) {
5527 mx_widget_long_press_query(&this, event);
5530 // Invokes #MxWidget::paint_background() using the default background
5531 // image and/or color from the @widget style
5533 // This function should be used by subclasses of #MxWidget that override
5534 // the paint() virtual function and cannot chain up
5535 void paint_background()() {
5536 mx_widget_paint_background(&this);
5539 // Set the disabled property. Disabled widgets have a "disabled" pseudo-class
5540 // until disabled is set to #FALSE.
5541 // <disabled>: value to set
5542 void set_disabled()(int disabled) {
5543 mx_widget_set_disabled(&this, disabled);
5546 // Set the value of the #MxWidget:menu property.
5547 // <menu>: A #MxMenu
5548 void set_menu()(Menu* menu) {
5549 mx_widget_set_menu(&this, menu);
5552 // Set the value, in milliseconds, of the "tooltip-delay" property.
5553 // This is initially set to MX_WIDGET_TOOLTIP_TIMEOUT.
5554 void set_tooltip_delay()(uint delay) {
5555 mx_widget_set_tooltip_delay(&this, delay);
5558 // Set the tooltip text of the widget. Note that setting tooltip text will cause
5559 // the widget to be set reactive. If you no longer need tooltips and you do not
5560 // need the widget to be reactive, you must set ClutterActor::reactive to
5561 // %FALSE.
5562 // <text>: text to set as the tooltip
5563 void set_tooltip_text()(char* text) {
5564 mx_widget_set_tooltip_text(&this, text);
5566 // Show the tooltip for @widget
5567 void show_tooltip()() {
5568 mx_widget_show_tooltip(&this);
5570 // Emitted when the user holds a mouse button down for a longer period.
5571 extern (C) alias static c_int function (Widget* this_, float object, float p0, LongPressAction* p1, void* user_data=null) signal_long_press;
5573 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5574 return super_.signal_connect!name(cb, data, cf);
5577 ulong signal_connect(string name:"long-press", CB:signal_long_press)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5578 return signal_connect_data!()(&this, cast(char*)"long-press",
5579 cast(GObject2.Callback)cb, data, null, cf);
5583 // Base class for stylable actors.
5584 struct WidgetClass {
5585 private Clutter.ActorClass parent_class;
5586 extern (C) void function (Widget* self, Clutter.Actor* background, Clutter.Color* color) paint_background;
5587 extern (C) int function (Widget* widget, LongPressAction action, float x, float y) long_press;
5588 // <style>: A #MxStyle
5589 extern (C) void function (Widget* widget, Style* style) apply_style;
5590 extern (C) void function () _padding_0;
5591 extern (C) void function () _padding_1;
5592 extern (C) void function () _padding_2;
5593 extern (C) void function () _padding_3;
5594 extern (C) void function () _padding_4;
5595 extern (C) void function () _padding_5;
5596 extern (C) void function () _padding_6;
5597 extern (C) void function () _padding_7;
5598 extern (C) void function () _padding_8;
5601 struct WidgetPrivate {
5605 // The contents of this structure is private and should only be accessed using
5606 // the provided API.
5607 struct Window /* : GObject.Object */ {
5608 alias parent this;
5609 alias parent super_;
5610 alias parent object;
5611 GObject2.Object parent;
5612 WindowPrivate* priv;
5615 // Creates a new #MxWindow.
5616 // RETURNS: A #MxWindow
5617 static Window* /*new*/ new_()() {
5618 return mx_window_new();
5621 // Creates a new #MxWindow, using @stage as the backing #ClutterStage. This
5622 // function is meant for use primarily for embedding a #MxWindow into
5623 // a foreign stage when using a Clutter toolkit integration library.
5624 // RETURNS: A #MxWindow
5625 // <stage>: A #ClutterStage
5626 static Window* /*new*/ new_with_clutter_stage()(Clutter.Stage* stage) {
5627 return mx_window_new_with_clutter_stage(stage);
5630 // Gets the #MxWindow parent of the #ClutterStage, if it exists.
5631 // RETURNS: A #MxWindow, or %NULL
5632 // <stage>: A #ClutterStage
5633 static Window* get_for_stage()(Clutter.Stage* stage) {
5634 return mx_window_get_for_stage(stage);
5637 // Get the primary child of the window. See mx_window_set_child().
5638 // RETURNS: A #ClutterActor, or %NULL
5639 Clutter.Actor* get_child()() {
5640 return mx_window_get_child(&this);
5643 // Gets the #ClutterStage managed by the window.
5644 // RETURNS: A #ClutterStage
5645 Clutter.Stage* get_clutter_stage()() {
5646 return mx_window_get_clutter_stage(&this);
5649 // VERSION: 1.2
5650 // Determines if the window has been set to be in fullscreen mode.
5652 // otherwise %FALSE
5653 // RETURNS: %TRUE if the window has been set to be in fullscreen mode,
5654 int get_fullscreen()() {
5655 return mx_window_get_fullscreen(&this);
5658 // Determines whether the window has a toolbar or not.
5659 // See mx_window_set_has_toolbar().
5660 // RETURNS: %TRUE if the window has a toolbar, otherwise %FALSE
5661 int get_has_toolbar()() {
5662 return mx_window_get_has_toolbar(&this);
5665 // Gets the currently set window icon name. This will be %NULL if there is none
5666 // set, or the icon was set with mx_window_set_icon_from_cogl_texture().
5667 // RETURNS: The window icon name, or %NULL
5668 char* get_icon_name()() {
5669 return mx_window_get_icon_name(&this);
5672 // Determines if the window is in small-screen mode.
5673 // See mx_window_set_small_screen().
5674 // RETURNS: %TRUE if the window is in small-screen mode, otherwise %FALSE
5675 int get_small_screen()() {
5676 return mx_window_get_small_screen(&this);
5679 // VERSION: 1.2
5680 // Retrieves the title used for the window.
5681 // RETURNS: The title used for the window
5682 char* get_title()() {
5683 return mx_window_get_title(&this);
5686 // Retrieves the toolbar associated with the window.
5687 // RETURNS: A #MxToolbar
5688 Toolbar* get_toolbar()() {
5689 return mx_window_get_toolbar(&this);
5692 // Retrieves the absolute position of the window on the screen.
5693 // <x>: A pointer for the x-coordinate
5694 // <y>: A pointer for the y-coordinate
5695 void get_window_position()(/*out*/ int* x, /*out*/ int* y) {
5696 mx_window_get_window_position(&this, x, y);
5699 // VERSION: 1.2
5700 // Retrieve the rotation of the window.
5701 // RETURNS: An #MxWindowRotation
5702 WindowRotation get_window_rotation()() {
5703 return mx_window_get_window_rotation(&this);
5706 // VERSION: 1.2
5707 // Retrieves the size of the display area of the window, taking into
5708 // account any window border. This includes the area occupied by the
5709 // window's toolbar, if it's enabled.
5710 // <width>: A #gint pointer for the window's width
5711 // <height>: A #gint pointer for the window's height
5712 void get_window_size()(/*out*/ int* width, /*out*/ int* height) {
5713 mx_window_get_window_size(&this, width, height);
5716 // VERSION: 1.2
5717 // Hide the window
5718 void hide()() {
5719 mx_window_hide(&this);
5722 // VERSION: 1.2
5723 // Present the window. The actual behaviour is specific to the window system.
5724 void present()() {
5725 mx_window_present(&this);
5728 // Adds @actor to the window and sets it as the primary child. When the
5729 // stage managed in the window changes size, the child will be resized
5730 // to match it.
5731 // <actor>: A #ClutterActor
5732 void set_child()(Clutter.Actor* actor) {
5733 mx_window_set_child(&this, actor);
5736 // VERSION: 1.2
5737 // Set the window to be in fullscreen mode or windowed mode.
5739 // <note><para>
5740 // Setting fullscreen mode doesn't necessarily mean the window is actually
5741 // fullscreen. Setting this property is only a request to the underlying
5742 // window system.
5743 // </para></note>
5744 // <fullscreen>: %TRUE to request fullscreen mode, %FALSE to disable
5745 void set_fullscreen()(int fullscreen) {
5746 mx_window_set_fullscreen(&this, fullscreen);
5749 // Sets whether the window has a toolbar or not. If the window has a toolbar,
5750 // client-side window decorations will be enabled.
5751 // <toolbar>: %TRUE if the toolbar should be displayed
5752 void set_has_toolbar()(int toolbar) {
5753 mx_window_set_has_toolbar(&this, toolbar);
5756 // Sets the window icon from a texture. This will take precedence over
5757 // any currently set icon-name.
5758 // <texture>: A #CoglHandle for a texture
5759 void set_icon_from_cogl_texture()(Cogl.Handle texture) {
5760 mx_window_set_icon_from_cogl_texture(&this, texture);
5763 // Set an icon-name to use for the window icon. The icon will be looked up
5764 // from the default theme.
5765 // <icon_name>: An icon name, or %NULL
5766 void set_icon_name()(char* icon_name=null) {
5767 mx_window_set_icon_name(&this, icon_name);
5770 // Enables or disables small-screen mode. This mode is meant primarily
5771 // for platforms with limited screen-space, such as netbooks. When enabled,
5772 // the window will take up all available room and will disable moving and
5773 // resizing.
5774 // <small_screen>: %TRUE if small-screen mode should be enabled
5775 void set_small_screen()(int small_screen) {
5776 mx_window_set_small_screen(&this, small_screen);
5779 // VERSION: 1.2
5780 // Sets the title used for the window, the results of which are
5781 // window-system specific.
5782 // <title>: A string to use for the window title name
5783 void set_title()(char* title) {
5784 mx_window_set_title(&this, title);
5787 // VERSION: 1.2
5788 // Sets the toolbar associated with the window.
5789 void set_toolbar()(Toolbar* toolbar) {
5790 mx_window_set_toolbar(&this, toolbar);
5793 // Sets the absolute position of the window on the screen.
5794 // <x>: An x-coordinate
5795 // <y>: A y-coordinate
5796 void set_window_position()(int x, int y) {
5797 mx_window_set_window_position(&this, x, y);
5800 // VERSION: 1.2
5801 // Set the rotation of the window.
5802 // <rotation>: The #MxWindowRotation
5803 void set_window_rotation()(WindowRotation rotation) {
5804 mx_window_set_window_rotation(&this, rotation);
5807 // VERSION: 1.2
5808 // Sets the size of the window, taking into account any window border. This
5809 // corresponds to the window's available area for its child, minus the area
5810 // occupied by the window's toolbar, if it's enabled.
5812 // <note><para>
5813 // Setting the window size may involve a request to the underlying windowing
5814 // system, and may not immediately be reflected.
5815 // </para></note>
5816 // <width>: A width, in pixels
5817 // <height>: A height, in pixels
5818 void set_window_size()(int width, int height) {
5819 mx_window_set_window_size(&this, width, height);
5822 // VERSION: 1.2
5823 // Show the window
5824 void show()() {
5825 mx_window_show(&this);
5827 // Emitted when the stage managed by the window is destroyed.
5828 extern (C) alias static void function (Window* this_, void* user_data=null) signal_destroy;
5830 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5831 return super_.signal_connect!name(cb, data, cf);
5834 ulong signal_connect(string name:"destroy", CB:signal_destroy)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
5835 return signal_connect_data!()(&this, cast(char*)"destroy",
5836 cast(GObject2.Callback)cb, data, null, cf);
5840 struct WindowClass {
5841 GObject2.ObjectClass parent_class;
5842 extern (C) void function (Window* window) destroy;
5843 extern (C) void function () _padding_0;
5844 extern (C) void function () _padding_1;
5845 extern (C) void function () _padding_2;
5846 extern (C) void function () _padding_3;
5847 extern (C) void function () _padding_4;
5850 struct WindowPrivate {
5853 // Defines the clock-wise rotation angle of a window.
5854 enum WindowRotation /* Version 1.2 */ {
5855 _0 = 0,
5856 _90 = 1,
5857 _180 = 2,
5858 _270 = 3
5860 static void actor_box_clamp_to_pixels()(Clutter.ActorBox* box) {
5861 mx_actor_box_clamp_to_pixels(box);
5864 static void allocate_align_fill()(Clutter.Actor* child, Clutter.ActorBox* childbox, Align x_alignment, Align y_alignment, int x_fill, int y_fill) {
5865 mx_allocate_align_fill(child, childbox, x_alignment, y_alignment, x_fill, y_fill);
5868 // MOVED TO: BorderImage.set_from_string
5869 static void border_image_set_from_string()(GObject2.Value* value, char* str, char* filename) {
5870 mx_border_image_set_from_string(value, str, filename);
5874 // VERSION: 1.2
5875 // MOVED TO: FocusHint.from_direction
5876 // Transforms a focus direction to a focus hint. This is a convenience
5877 // function for actors that implement the #MxFocusable interface, to
5878 // pass the correct #MxFocusHint to their children when calling
5879 // mx_focusable_accept_focus().
5881 // %MX_FOCUS_DIRECTION_UP maps to %MX_FOCUS_HINT_FROM_BELOW,
5882 // %MX_FOCUS_DIRECTION_DOWN maps to %MX_FOCUS_HINT_FROM_ABOVE,
5883 // %MX_FOCUS_DIRECTION_LEFT maps to %MX_FOCUS_HINT_FROM_RIGHT,
5884 // %MX_FOCUS_DIRECTION_RIGHT maps to %MX_FOCUS_HINT_FROM_LEFT,
5885 // %MX_FOCUS_DIRECTION_NEXT maps to %MX_FOCUS_HINT_FIRST,
5886 // %MX_FOCUS_DIRECTION_PREVIOUS maps to %MX_FOCUS_HINT_LAST and
5887 // anything else maps to %MX_FOCUS_HINT_PRIOR.
5888 // RETURNS: A #MxFocusHint
5889 // <direction>: A #MxFocusDirection
5890 static FocusHint focus_hint_from_direction()(FocusDirection direction) {
5891 return mx_focus_hint_from_direction(direction);
5894 // MOVED TO: FontWeight.set_from_string
5895 static void font_weight_set_from_string()(GObject2.Value* value, char* str) {
5896 mx_font_weight_set_from_string(value, str);
5899 // MOVED TO: ImageError.quark
5900 static GLib2.Quark image_error_quark()() {
5901 return mx_image_error_quark();
5905 // Initializes internationalization support for Mx. If MxApplication is
5906 // used, this is called automatically. Otherwise it has to be called
5907 // together with clutter_init() before using Mx.
5908 static void set_locale()() {
5909 mx_set_locale();
5913 // Generates a string describing the time given in @time_ using
5914 // colloquial language suitable for display to the user. Examples of
5915 // what might be returned are "A few minutes ago" or "Yesterday".
5916 // RETURNS: a string. Free with g_free().
5917 // <time_>: a time value
5918 static char* /*new*/ utils_format_time()(GLib2.TimeVal* time_) {
5919 return mx_utils_format_time(time_);
5923 // C prototypes:
5925 extern (C) {
5926 Action* /*new*/ mx_action_new();
5927 Action* /*new*/ mx_action_new_full(char* name, char* display_name, ActionCallbackFunc activated_cb, void* user_data);
5928 Action* mx_action_new_stateful(char* name, GLib2.VariantType* parameter_type, GLib2.Variant* state);
5929 Action* mx_action_new_with_parameter(char* name, GLib2.VariantType* parameter_type=null);
5930 int mx_action_get_active(Action* this_);
5931 char* mx_action_get_display_name(Action* this_);
5932 char* mx_action_get_icon(Action* this_);
5933 char* mx_action_get_name(Action* this_);
5934 void mx_action_set_active(Action* this_, int active);
5935 void mx_action_set_display_name(Action* this_, char* name);
5936 void mx_action_set_icon(Action* this_, char* name);
5937 void mx_action_set_name(Action* this_, char* name);
5938 ActorManager* mx_actor_manager_new(Clutter.Stage* stage);
5939 ActorManager* mx_actor_manager_get_for_stage(Clutter.Stage* stage);
5940 c_ulong mx_actor_manager_add_actor(ActorManager* this_, Clutter.Container* container, Clutter.Actor* actor);
5941 void mx_actor_manager_cancel_operation(ActorManager* this_, c_ulong id);
5942 void mx_actor_manager_cancel_operations(ActorManager* this_, Clutter.Actor* actor);
5943 c_ulong mx_actor_manager_create_actor(ActorManager* this_, ActorManagerCreateFunc create_func, void* userdata, GLib2.DestroyNotify destroy_func);
5944 uint mx_actor_manager_get_n_operations(ActorManager* this_);
5945 Clutter.Stage* mx_actor_manager_get_stage(ActorManager* this_);
5946 uint mx_actor_manager_get_time_slice(ActorManager* this_);
5947 c_ulong mx_actor_manager_remove_actor(ActorManager* this_, Clutter.Container* container, Clutter.Actor* actor);
5948 void mx_actor_manager_remove_container(ActorManager* this_, Clutter.Container* container);
5949 void mx_actor_manager_set_time_slice(ActorManager* this_, uint msecs);
5950 Adjustment* /*new*/ mx_adjustment_new();
5951 Adjustment* /*new*/ mx_adjustment_new_with_values(double value, double lower, double upper, double step_increment, double page_increment, double page_size);
5952 int mx_adjustment_get_clamp_value(Adjustment* this_);
5953 int mx_adjustment_get_elastic(Adjustment* this_);
5954 double mx_adjustment_get_lower(Adjustment* this_);
5955 double mx_adjustment_get_page_increment(Adjustment* this_);
5956 double mx_adjustment_get_page_size(Adjustment* this_);
5957 double mx_adjustment_get_step_increment(Adjustment* this_);
5958 double mx_adjustment_get_upper(Adjustment* this_);
5959 double mx_adjustment_get_value(Adjustment* this_);
5960 void mx_adjustment_get_values(Adjustment* this_, double* value, double* lower, double* upper, double* step_increment, double* page_increment, double* page_size);
5961 void mx_adjustment_interpolate(Adjustment* this_, double value, uint duration, c_ulong mode);
5962 void mx_adjustment_interpolate_relative(Adjustment* this_, double offset, uint duration, c_ulong mode);
5963 void mx_adjustment_set_clamp_value(Adjustment* this_, int clamp);
5964 void mx_adjustment_set_elastic(Adjustment* this_, int elastic);
5965 void mx_adjustment_set_lower(Adjustment* this_, double lower);
5966 void mx_adjustment_set_page_increment(Adjustment* this_, double increment);
5967 void mx_adjustment_set_page_size(Adjustment* this_, double page_size);
5968 void mx_adjustment_set_step_increment(Adjustment* this_, double increment);
5969 void mx_adjustment_set_upper(Adjustment* this_, double upper);
5970 void mx_adjustment_set_value(Adjustment* this_, double value);
5971 void mx_adjustment_set_values(Adjustment* this_, double value, double lower, double upper, double step_increment, double page_increment, double page_size);
5972 Application* /*new*/ mx_application_new(/*inout*/ int* argc, /*inout*/ char*** argv, char* name, ApplicationFlags flags);
5973 void mx_application_add_action(Application* this_, Action* action);
5974 void mx_application_add_window(Application* this_, Window* window);
5975 Window* mx_application_create_window(Application* this_);
5976 GLib2.List* /*new container*/ mx_application_get_actions(Application* this_);
5977 ApplicationFlags mx_application_get_flags(Application* this_);
5978 GLib2.List* mx_application_get_windows(Application* this_);
5979 void mx_application_invoke_action(Application* this_, char* name);
5980 void mx_application_invoke_action_with_parameter(Application* this_, char* name, GLib2.Variant* variant);
5981 int mx_application_is_running(Application* this_);
5982 void mx_application_quit(Application* this_);
5983 void mx_application_remove_action(Application* this_, char* name);
5984 void mx_application_remove_window(Application* this_, Window* window);
5985 void mx_application_run(Application* this_);
5986 void mx_bin_allocate_child(Bin* this_, Clutter.ActorBox* box, Clutter.AllocationFlags flags);
5987 void mx_bin_get_alignment(Bin* this_, Align* x_align, Align* y_align);
5988 Clutter.Actor* mx_bin_get_child(Bin* this_);
5989 void mx_bin_get_fill(Bin* this_, /*out*/ int* x_fill, /*out*/ int* y_fill);
5990 void mx_bin_set_alignment(Bin* this_, Align x_align, Align y_align);
5991 void mx_bin_set_child(Bin* this_, Clutter.Actor* child);
5992 void mx_bin_set_fill(Bin* this_, int x_fill, int y_fill);
5993 int mx_border_image_equal(BorderImage* this_, BorderImage* b2);
5994 void mx_border_image_set_from_string(GObject2.Value* value, char* str, char* filename);
5995 BoxLayout* mx_box_layout_new();
5996 BoxLayout* mx_box_layout_new_with_orientation(Orientation orientation);
5997 void mx_box_layout_add_actor(BoxLayout* this_, Clutter.Actor* actor, int position);
5998 void mx_box_layout_add_actor_with_properties(BoxLayout* this_, Clutter.Actor* actor, int position, char* first_property, ...);
5999 int mx_box_layout_child_get_expand(BoxLayout* this_, Clutter.Actor* child);
6000 Align mx_box_layout_child_get_x_align(BoxLayout* this_, Clutter.Actor* child);
6001 int mx_box_layout_child_get_x_fill(BoxLayout* this_, Clutter.Actor* child);
6002 Align mx_box_layout_child_get_y_align(BoxLayout* this_, Clutter.Actor* child);
6003 int mx_box_layout_child_get_y_fill(BoxLayout* this_, Clutter.Actor* child);
6004 void mx_box_layout_child_set_expand(BoxLayout* this_, Clutter.Actor* child, int expand);
6005 void mx_box_layout_child_set_x_align(BoxLayout* this_, Clutter.Actor* child, Align x_align);
6006 void mx_box_layout_child_set_x_fill(BoxLayout* this_, Clutter.Actor* child, int x_fill);
6007 void mx_box_layout_child_set_y_align(BoxLayout* this_, Clutter.Actor* child, Align y_align);
6008 void mx_box_layout_child_set_y_fill(BoxLayout* this_, Clutter.Actor* child, int y_fill);
6009 int mx_box_layout_get_enable_animations(BoxLayout* this_);
6010 Orientation mx_box_layout_get_orientation(BoxLayout* this_);
6011 int mx_box_layout_get_scroll_to_focused(BoxLayout* this_);
6012 uint mx_box_layout_get_spacing(BoxLayout* this_);
6013 void mx_box_layout_set_enable_animations(BoxLayout* this_, int enable_animations);
6014 void mx_box_layout_set_orientation(BoxLayout* this_, Orientation orientation);
6015 void mx_box_layout_set_scroll_to_focused(BoxLayout* this_, int scroll_to_focused);
6016 void mx_box_layout_set_spacing(BoxLayout* this_, uint spacing);
6017 Button* mx_button_new();
6018 Button* mx_button_new_with_label(char* text);
6019 Action* mx_button_get_action(Button* this_);
6020 char* mx_button_get_icon_name(Button* this_);
6021 Position mx_button_get_icon_position(Button* this_);
6022 uint mx_button_get_icon_size(Button* this_);
6023 int mx_button_get_icon_visible(Button* this_);
6024 int mx_button_get_is_toggle(Button* this_);
6025 char* mx_button_get_label(Button* this_);
6026 int mx_button_get_label_visible(Button* this_);
6027 int mx_button_get_toggled(Button* this_);
6028 void mx_button_set_action(Button* this_, Action* action);
6029 void mx_button_set_icon_name(Button* this_, char* icon_name=null);
6030 void mx_button_set_icon_position(Button* this_, Position position);
6031 void mx_button_set_icon_size(Button* this_, uint icon_size);
6032 void mx_button_set_icon_visible(Button* this_, int visible);
6033 void mx_button_set_is_toggle(Button* this_, int toggle);
6034 void mx_button_set_label(Button* this_, char* text);
6035 void mx_button_set_label_visible(Button* this_, int visible);
6036 void mx_button_set_toggled(Button* this_, int toggled);
6037 ButtonGroup* mx_button_group_new();
6038 void mx_button_group_add(ButtonGroup* this_, Button* button);
6039 void mx_button_group_foreach(ButtonGroup* this_, Clutter.Callback callback, void* userdata);
6040 Button* mx_button_group_get_active_button(ButtonGroup* this_);
6041 int mx_button_group_get_allow_no_active(ButtonGroup* this_);
6042 GLib2.SList* mx_button_group_get_buttons(ButtonGroup* this_);
6043 void mx_button_group_remove(ButtonGroup* this_, Button* button);
6044 void mx_button_group_set_active_button(ButtonGroup* this_, Button* button=null);
6045 void mx_button_group_set_allow_no_active(ButtonGroup* this_, int allow_no_active);
6046 Clipboard* mx_clipboard_get_default();
6047 void mx_clipboard_get_text(Clipboard* this_, ClipboardCallbackFunc callback, void* user_data);
6048 void mx_clipboard_set_text(Clipboard* this_, char* text);
6049 ComboBox* mx_combo_box_new();
6050 void mx_combo_box_append_text(ComboBox* this_, char* text);
6051 char* mx_combo_box_get_active_icon_name(ComboBox* this_);
6052 char* mx_combo_box_get_active_text(ComboBox* this_);
6053 int mx_combo_box_get_index(ComboBox* this_);
6054 void mx_combo_box_insert_text(ComboBox* this_, int position, char* text);
6055 void mx_combo_box_insert_text_with_icon(ComboBox* this_, int position, char* text, char* icon);
6056 void mx_combo_box_prepend_text(ComboBox* this_, char* text);
6057 void mx_combo_box_remove_all(ComboBox* this_);
6058 void mx_combo_box_remove_text(ComboBox* this_, int position);
6059 void mx_combo_box_set_active_icon_name(ComboBox* this_, char* icon_name=null);
6060 void mx_combo_box_set_active_text(ComboBox* this_, char* text);
6061 void mx_combo_box_set_index(ComboBox* this_, int index);
6062 DeformBowTie* mx_deform_bow_tie_new();
6063 int mx_deform_bow_tie_get_flip_back(DeformBowTie* this_);
6064 double mx_deform_bow_tie_get_period(DeformBowTie* this_);
6065 void mx_deform_bow_tie_set_flip_back(DeformBowTie* this_, int flip_back);
6066 void mx_deform_bow_tie_set_period(DeformBowTie* this_, double period);
6067 DeformPageTurn* mx_deform_page_turn_new();
6068 double mx_deform_page_turn_get_angle(DeformPageTurn* this_);
6069 double mx_deform_page_turn_get_period(DeformPageTurn* this_);
6070 double mx_deform_page_turn_get_radius(DeformPageTurn* this_);
6071 void mx_deform_page_turn_set_angle(DeformPageTurn* this_, double angle);
6072 void mx_deform_page_turn_set_period(DeformPageTurn* this_, double period);
6073 void mx_deform_page_turn_set_radius(DeformPageTurn* this_, double radius);
6074 void mx_deform_texture_get_resolution(DeformTexture* this_, /*out*/ int* tiles_x=null, /*out*/ int* tiles_y=null);
6075 void mx_deform_texture_get_textures(DeformTexture* this_, /*out*/ Clutter.Texture** front=null, /*out*/ Clutter.Texture** back=null);
6076 void mx_deform_texture_invalidate(DeformTexture* this_);
6077 void mx_deform_texture_set_resolution(DeformTexture* this_, int tiles_x, int tiles_y);
6078 void mx_deform_texture_set_textures(DeformTexture* this_, Clutter.Texture* front=null, Clutter.Texture* back=null);
6079 DeformWaves* mx_deform_waves_new();
6080 double mx_deform_waves_get_amplitude(DeformWaves* this_);
6081 double mx_deform_waves_get_angle(DeformWaves* this_);
6082 double mx_deform_waves_get_period(DeformWaves* this_);
6083 double mx_deform_waves_get_radius(DeformWaves* this_);
6084 void mx_deform_waves_set_amplitude(DeformWaves* this_, double amplitude);
6085 void mx_deform_waves_set_angle(DeformWaves* this_, double angle);
6086 void mx_deform_waves_set_period(DeformWaves* this_, double period);
6087 void mx_deform_waves_set_radius(DeformWaves* this_, double radius);
6088 Dialog* mx_dialog_new();
6089 void mx_dialog_add_action(Dialog* this_, Action* action);
6090 GLib2.List* /*new container*/ mx_dialog_get_actions(Dialog* this_);
6091 void mx_dialog_remove_action(Dialog* this_, Action* action);
6092 void mx_dialog_set_transient_parent(Dialog* this_, Clutter.Actor* actor);
6093 void mx_draggable_disable(Draggable* this_);
6094 void mx_draggable_enable(Draggable* this_);
6095 DragAxis mx_draggable_get_axis(Draggable* this_);
6096 Clutter.Actor* mx_draggable_get_drag_actor(Draggable* this_);
6097 uint mx_draggable_get_drag_threshold(Draggable* this_);
6098 int mx_draggable_is_enabled(Draggable* this_);
6099 void mx_draggable_set_axis(Draggable* this_, DragAxis axis);
6100 void mx_draggable_set_drag_actor(Draggable* this_, Clutter.Actor* actor);
6101 void mx_draggable_set_drag_threshold(Draggable* this_, uint threshold);
6102 int mx_droppable_accept_drop(Droppable* this_, Draggable* draggable);
6103 void mx_droppable_disable(Droppable* this_);
6104 void mx_droppable_enable(Droppable* this_);
6105 int mx_droppable_is_enabled(Droppable* this_);
6106 Entry* mx_entry_new();
6107 Entry* mx_entry_new_with_text(char* text);
6108 Clutter.Actor* mx_entry_get_clutter_text(Entry* this_);
6109 char* mx_entry_get_hint_text(Entry* this_);
6110 char* mx_entry_get_icon_highlight_suffix(Entry* this_);
6111 dchar mx_entry_get_password_char(Entry* this_);
6112 char* mx_entry_get_text(Entry* this_);
6113 void mx_entry_set_hint_text(Entry* this_, char* text);
6114 void mx_entry_set_icon_highlight_suffix(Entry* this_, char* suffix);
6115 void mx_entry_set_password_char(Entry* this_, dchar password_char);
6116 void mx_entry_set_primary_icon_from_file(Entry* this_, char* filename);
6117 void mx_entry_set_primary_icon_tooltip_text(Entry* this_, char* text);
6118 void mx_entry_set_secondary_icon_from_file(Entry* this_, char* filename);
6119 void mx_entry_set_secondary_icon_tooltip_text(Entry* this_, char* text);
6120 void mx_entry_set_text(Entry* this_, char* text);
6121 Expander* mx_expander_new();
6122 int mx_expander_get_expanded(Expander* this_);
6123 void mx_expander_set_expanded(Expander* this_, int expanded);
6124 void mx_expander_set_label(Expander* this_, char* label);
6125 FadeEffect* mx_fade_effect_new();
6126 void mx_fade_effect_get_border(FadeEffect* this_, /*out*/ uint* top, /*out*/ uint* right, /*out*/ uint* bottom, /*out*/ uint* left);
6127 void mx_fade_effect_get_bounds(FadeEffect* this_, /*out*/ int* x, /*out*/ int* y, /*out*/ uint* width, /*out*/ uint* height);
6128 void mx_fade_effect_get_color(FadeEffect* this_, /*out*/ Clutter.Color* color);
6129 void mx_fade_effect_set_border(FadeEffect* this_, uint top, uint right, uint bottom, uint left);
6130 void mx_fade_effect_set_bounds(FadeEffect* this_, int x, int y, uint width, uint height);
6131 void mx_fade_effect_set_color(FadeEffect* this_, Clutter.Color* color);
6132 FocusManager* mx_focus_manager_get_for_stage(Clutter.Stage* stage);
6133 Focusable* mx_focus_manager_get_focused(FocusManager* this_);
6134 Clutter.Stage* mx_focus_manager_get_stage(FocusManager* this_);
6135 void mx_focus_manager_move_focus(FocusManager* this_, FocusDirection direction);
6136 void mx_focus_manager_push_focus(FocusManager* this_, Focusable* focusable);
6137 void mx_focus_manager_push_focus_with_hint(FocusManager* this_, Focusable* focusable, FocusHint hint);
6138 Focusable* mx_focusable_accept_focus(Focusable* this_, FocusHint hint);
6139 Focusable* mx_focusable_move_focus(Focusable* this_, FocusDirection direction, Focusable* from);
6140 Frame* mx_frame_new();
6141 Grid* mx_grid_new();
6142 Align mx_grid_get_child_x_align(Grid* this_);
6143 Align mx_grid_get_child_y_align(Grid* this_);
6144 float mx_grid_get_column_spacing(Grid* this_);
6145 int mx_grid_get_homogenous_columns(Grid* this_);
6146 int mx_grid_get_homogenous_rows(Grid* this_);
6147 int mx_grid_get_line_alignment(Grid* this_);
6148 int mx_grid_get_max_stride(Grid* this_);
6149 Orientation mx_grid_get_orientation(Grid* this_);
6150 float mx_grid_get_row_spacing(Grid* this_);
6151 void mx_grid_set_child_x_align(Grid* this_, Align value);
6152 void mx_grid_set_child_y_align(Grid* this_, Align value);
6153 void mx_grid_set_column_spacing(Grid* this_, float value);
6154 void mx_grid_set_homogenous_columns(Grid* this_, int value);
6155 void mx_grid_set_homogenous_rows(Grid* this_, int value);
6156 void mx_grid_set_line_alignment(Grid* this_, Align value);
6157 void mx_grid_set_max_stride(Grid* this_, int value);
6158 void mx_grid_set_orientation(Grid* this_, Orientation orientation);
6159 void mx_grid_set_row_spacing(Grid* this_, float value);
6160 Icon* mx_icon_new();
6161 char* mx_icon_get_icon_name(Icon* this_);
6162 int mx_icon_get_icon_size(Icon* this_);
6163 void mx_icon_set_icon_name(Icon* this_, char* icon_name);
6164 void mx_icon_set_icon_size(Icon* this_, int size);
6165 IconTheme* /*new*/ mx_icon_theme_new();
6166 IconTheme* mx_icon_theme_get_default();
6167 GLib2.List* mx_icon_theme_get_search_paths(IconTheme* this_);
6168 char* mx_icon_theme_get_theme_name(IconTheme* this_);
6169 int mx_icon_theme_has_icon(IconTheme* this_, char* icon_name);
6170 Cogl.Handle mx_icon_theme_lookup(IconTheme* this_, char* icon_name, int size);
6171 Clutter.Texture* mx_icon_theme_lookup_texture(IconTheme* this_, char* icon_name, int size);
6172 void mx_icon_theme_set_search_paths(IconTheme* this_, GLib2.List* paths);
6173 void mx_icon_theme_set_theme_name(IconTheme* this_, char* theme_name);
6174 Image* mx_image_new();
6175 void mx_image_animate_scale_mode(Image* this_, c_ulong mode, uint duration, ImageScaleMode scale_mode);
6176 void mx_image_clear(Image* this_);
6177 int mx_image_get_allow_upscale(Image* this_);
6178 float mx_image_get_image_rotation(Image* this_);
6179 int mx_image_get_load_async(Image* this_);
6180 uint mx_image_get_scale_height_threshold(Image* this_);
6181 ImageScaleMode mx_image_get_scale_mode(Image* this_);
6182 uint mx_image_get_scale_width_threshold(Image* this_);
6183 uint mx_image_get_transition_duration(Image* this_);
6184 void mx_image_set_allow_upscale(Image* this_, int allow);
6185 int mx_image_set_from_buffer(Image* this_, ubyte* buffer, size_t buffer_size, GLib2.DestroyNotify buffer_free_func, GLib2.Error** error);
6186 int mx_image_set_from_buffer_at_size(Image* this_, ubyte* buffer, size_t buffer_size, GLib2.DestroyNotify buffer_free_func, int width, int height, GLib2.Error** error);
6187 int mx_image_set_from_cogl_texture(Image* this_, Cogl.Handle texture);
6188 int mx_image_set_from_data(Image* this_, ubyte* data, Cogl.PixelFormat pixel_format, int width, int height, int rowstride, GLib2.Error** error);
6189 int mx_image_set_from_file(Image* this_, char* filename, GLib2.Error** error);
6190 int mx_image_set_from_file_at_size(Image* this_, char* filename, int width, int height, GLib2.Error** error);
6191 void mx_image_set_image_rotation(Image* this_, float rotation);
6192 void mx_image_set_load_async(Image* this_, int load_async);
6193 void mx_image_set_scale_height_threshold(Image* this_, uint pixels);
6194 void mx_image_set_scale_mode(Image* this_, ImageScaleMode mode);
6195 void mx_image_set_scale_width_threshold(Image* this_, uint pixels);
6196 void mx_image_set_transition_duration(Image* this_, uint duration);
6197 Clutter.Actor* /*new*/ mx_item_factory_create(ItemFactory* this_);
6198 ItemView* mx_item_view_new();
6199 void mx_item_view_add_attribute(ItemView* this_, char* attribute, int column);
6200 void mx_item_view_freeze(ItemView* this_);
6201 ItemFactory* mx_item_view_get_factory(ItemView* this_);
6202 Type mx_item_view_get_item_type(ItemView* this_);
6203 Clutter.Model* mx_item_view_get_model(ItemView* this_);
6204 void mx_item_view_set_factory(ItemView* this_, ItemFactory* factory=null);
6205 void mx_item_view_set_item_type(ItemView* this_, Type item_type);
6206 void mx_item_view_set_model(ItemView* this_, Clutter.Model* model);
6207 void mx_item_view_thaw(ItemView* this_);
6208 KineticScrollView* mx_kinetic_scroll_view_new();
6209 double mx_kinetic_scroll_view_get_acceleration_factor(KineticScrollView* this_);
6210 uint mx_kinetic_scroll_view_get_clamp_duration(KineticScrollView* this_);
6211 c_ulong mx_kinetic_scroll_view_get_clamp_mode(KineticScrollView* this_);
6212 int mx_kinetic_scroll_view_get_clamp_to_center(KineticScrollView* this_);
6213 double mx_kinetic_scroll_view_get_deceleration(KineticScrollView* this_);
6214 uint mx_kinetic_scroll_view_get_mouse_button(KineticScrollView* this_);
6215 double mx_kinetic_scroll_view_get_overshoot(KineticScrollView* this_);
6216 ScrollPolicy mx_kinetic_scroll_view_get_scroll_policy(KineticScrollView* this_);
6217 int mx_kinetic_scroll_view_get_use_captured(KineticScrollView* this_);
6218 void mx_kinetic_scroll_view_set_acceleration_factor(KineticScrollView* this_, double acceleration_factor);
6219 void mx_kinetic_scroll_view_set_clamp_duration(KineticScrollView* this_, uint clamp_duration);
6220 void mx_kinetic_scroll_view_set_clamp_mode(KineticScrollView* this_, c_ulong clamp_mode);
6221 void mx_kinetic_scroll_view_set_clamp_to_center(KineticScrollView* this_, int clamp_to_center);
6222 void mx_kinetic_scroll_view_set_deceleration(KineticScrollView* this_, double rate);
6223 void mx_kinetic_scroll_view_set_mouse_button(KineticScrollView* this_, uint button);
6224 void mx_kinetic_scroll_view_set_overshoot(KineticScrollView* this_, double overshoot);
6225 void mx_kinetic_scroll_view_set_scroll_policy(KineticScrollView* this_, ScrollPolicy policy);
6226 void mx_kinetic_scroll_view_set_use_captured(KineticScrollView* this_, int use_captured);
6227 void mx_kinetic_scroll_view_stop(KineticScrollView* this_);
6228 Label* mx_label_new();
6229 Label* mx_label_new_with_text(char* text);
6230 Clutter.Actor* mx_label_get_clutter_text(Label* this_);
6231 int mx_label_get_fade_out(Label* this_);
6232 int mx_label_get_line_wrap(Label* this_);
6233 int mx_label_get_show_tooltip(Label* this_);
6234 char* mx_label_get_text(Label* this_);
6235 int mx_label_get_use_markup(Label* this_);
6236 Align mx_label_get_x_align(Label* this_);
6237 Align mx_label_get_y_align(Label* this_);
6238 void mx_label_set_fade_out(Label* this_, int fade);
6239 void mx_label_set_line_wrap(Label* this_, int line_wrap);
6240 void mx_label_set_show_tooltip(Label* this_, int show_tooltip);
6241 void mx_label_set_text(Label* this_, char* text);
6242 void mx_label_set_use_markup(Label* this_, int use_markup);
6243 void mx_label_set_x_align(Label* this_, Align align_);
6244 void mx_label_set_y_align(Label* this_, Align align_);
6245 ListView* mx_list_view_new();
6246 void mx_list_view_add_attribute(ListView* this_, char* attribute, int column);
6247 void mx_list_view_freeze(ListView* this_);
6248 ItemFactory* mx_list_view_get_factory(ListView* this_);
6249 Type mx_list_view_get_item_type(ListView* this_);
6250 Clutter.Model* mx_list_view_get_model(ListView* this_);
6251 void mx_list_view_set_factory(ListView* this_, ItemFactory* factory=null);
6252 void mx_list_view_set_item_type(ListView* this_, Type item_type);
6253 void mx_list_view_set_model(ListView* this_, Clutter.Model* model);
6254 void mx_list_view_thaw(ListView* this_);
6255 Menu* mx_menu_new();
6256 void mx_menu_add_action(Menu* this_, Action* action);
6257 void mx_menu_remove_action(Menu* this_, Action* action);
6258 void mx_menu_remove_all(Menu* this_);
6259 void mx_menu_show_with_position(Menu* this_, float x, float y);
6260 Notebook* mx_notebook_new();
6261 Clutter.Actor* mx_notebook_get_current_page(Notebook* this_);
6262 int mx_notebook_get_enable_gestures(Notebook* this_);
6263 void mx_notebook_next_page(Notebook* this_);
6264 void mx_notebook_previous_page(Notebook* this_);
6265 void mx_notebook_set_current_page(Notebook* this_, Clutter.Actor* page);
6266 void mx_notebook_set_enable_gestures(Notebook* this_, int enabled);
6267 Offscreen* mx_offscreen_new();
6268 int mx_offscreen_get_accumulation_enabled(Offscreen* this_);
6269 Cogl.Handle mx_offscreen_get_accumulation_material(Offscreen* this_);
6270 int mx_offscreen_get_auto_update(Offscreen* this_);
6271 Cogl.Handle mx_offscreen_get_buffer(Offscreen* this_);
6272 Clutter.Actor* mx_offscreen_get_child(Offscreen* this_);
6273 int mx_offscreen_get_pick_child(Offscreen* this_);
6274 int mx_offscreen_get_redirect_enabled(Offscreen* this_);
6275 void mx_offscreen_set_accumulation_enabled(Offscreen* this_, int enable);
6276 void mx_offscreen_set_auto_update(Offscreen* this_, int auto_update);
6277 void mx_offscreen_set_child(Offscreen* this_, Clutter.Actor* actor);
6278 void mx_offscreen_set_pick_child(Offscreen* this_, int pick);
6279 void mx_offscreen_set_redirect_enabled(Offscreen* this_, int enabled);
6280 void mx_offscreen_update(Offscreen* this_);
6281 PathBar* mx_path_bar_new();
6282 void mx_path_bar_clear(PathBar* this_);
6283 int mx_path_bar_get_clear_on_change(PathBar* this_);
6284 int mx_path_bar_get_editable(PathBar* this_);
6285 Entry* mx_path_bar_get_entry(PathBar* this_);
6286 char* mx_path_bar_get_label(PathBar* this_, int level);
6287 int mx_path_bar_get_level(PathBar* this_);
6288 char* mx_path_bar_get_text(PathBar* this_);
6289 int mx_path_bar_pop(PathBar* this_);
6290 int mx_path_bar_push(PathBar* this_, char* name);
6291 void mx_path_bar_set_clear_on_change(PathBar* this_, int clear_on_change);
6292 void mx_path_bar_set_editable(PathBar* this_, int editable);
6293 void mx_path_bar_set_label(PathBar* this_, int level, char* label);
6294 void mx_path_bar_set_text(PathBar* this_, char* text);
6295 ProgressBar* mx_progress_bar_new();
6296 double mx_progress_bar_get_progress(ProgressBar* this_);
6297 void mx_progress_bar_set_progress(ProgressBar* this_, double progress);
6298 ScrollBar* mx_scroll_bar_new();
6299 ScrollBar* mx_scroll_bar_new_with_adjustment(Adjustment* adjustment);
6300 Adjustment* mx_scroll_bar_get_adjustment(ScrollBar* this_);
6301 Orientation mx_scroll_bar_get_orientation(ScrollBar* this_);
6302 void mx_scroll_bar_set_adjustment(ScrollBar* this_, Adjustment* adjustment);
6303 void mx_scroll_bar_set_orientation(ScrollBar* this_, Orientation orientation);
6304 ScrollView* mx_scroll_view_new();
6305 void mx_scroll_view_ensure_visible(ScrollView* this_, Clutter.Geometry* geometry);
6306 int mx_scroll_view_get_enable_gestures(ScrollView* this_);
6307 int mx_scroll_view_get_enable_mouse_scrolling(ScrollView* this_);
6308 ScrollPolicy mx_scroll_view_get_scroll_policy(ScrollView* this_);
6309 void mx_scroll_view_set_enable_gestures(ScrollView* this_, int enabled);
6310 void mx_scroll_view_set_enable_mouse_scrolling(ScrollView* this_, int enabled);
6311 void mx_scroll_view_set_scroll_policy(ScrollView* this_, ScrollPolicy policy);
6312 void mx_scrollable_get_adjustments(Scrollable* this_, /*out*/ Adjustment** hadjustment=null, /*out*/ Adjustment** vadjustment=null);
6313 void mx_scrollable_set_adjustments(Scrollable* this_, Adjustment* hadjustment, Adjustment* vadjustment);
6314 Settings* mx_settings_get_default();
6315 Slider* mx_slider_new();
6316 double mx_slider_get_buffer_value(Slider* this_);
6317 double mx_slider_get_value(Slider* this_);
6318 void mx_slider_set_buffer_value(Slider* this_, double value);
6319 void mx_slider_set_value(Slider* this_, double value);
6320 Spinner* mx_spinner_new();
6321 int mx_spinner_get_animating(Spinner* this_);
6322 void mx_spinner_set_animating(Spinner* this_, int animating);
6323 Stack* mx_stack_new();
6324 int mx_stack_child_get_crop(Stack* this_, Clutter.Actor* child);
6325 int mx_stack_child_get_fit(Stack* this_, Clutter.Actor* child);
6326 Align mx_stack_child_get_x_align(Stack* this_, Clutter.Actor* child);
6327 int mx_stack_child_get_x_fill(Stack* this_, Clutter.Actor* child);
6328 Align mx_stack_child_get_y_align(Stack* this_, Clutter.Actor* child);
6329 int mx_stack_child_get_y_fill(Stack* this_, Clutter.Actor* child);
6330 void mx_stack_child_set_crop(Stack* this_, Clutter.Actor* child, int crop);
6331 void mx_stack_child_set_fit(Stack* this_, Clutter.Actor* child, int fit);
6332 void mx_stack_child_set_x_align(Stack* this_, Clutter.Actor* child, Align x_align);
6333 void mx_stack_child_set_x_fill(Stack* this_, Clutter.Actor* child, int x_fill);
6334 void mx_stack_child_set_y_align(Stack* this_, Clutter.Actor* child, Align y_align);
6335 void mx_stack_child_set_y_fill(Stack* this_, Clutter.Actor* child, int y_fill);
6336 void mx_stylable_apply_clutter_text_attributes(Stylable* this_, Clutter.Text* text);
6337 void mx_stylable_connect_change_notifiers(Stylable* this_);
6338 GObject2.ParamSpec* mx_stylable_find_property(Stylable* this_, char* property_name);
6339 void mx_stylable_get(Stylable* this_, char* first_property_name, ...);
6340 int mx_stylable_get_default_value(Stylable* this_, char* property_name, /*out*/ GObject2.Value* value_out);
6341 void mx_stylable_get_property(Stylable* this_, char* property_name, /*out*/ GObject2.Value* value);
6342 Style* mx_stylable_get_style(Stylable* this_);
6343 char* mx_stylable_get_style_class(Stylable* this_);
6344 char* mx_stylable_get_style_pseudo_class(Stylable* this_);
6345 GObject2.ParamSpec** /*new container*/ mx_stylable_list_properties(Stylable* this_, /*out*/ uint* n_props);
6346 void mx_stylable_set_style(Stylable* this_, Style* style);
6347 void mx_stylable_set_style_class(Stylable* this_, char* style_class);
6348 void mx_stylable_set_style_pseudo_class(Stylable* this_, char* pseudo_class);
6349 void mx_stylable_style_changed(Stylable* this_, StyleChangedFlags flags);
6350 void mx_stylable_style_pseudo_class_add(Stylable* this_, char* new_class);
6351 int mx_stylable_style_pseudo_class_contains(Stylable* this_, char* pseudo_class);
6352 void mx_stylable_style_pseudo_class_remove(Stylable* this_, char* remove_class);
6353 void mx_stylable_iface_install_property(StylableIface* this_, Type owner_type, GObject2.ParamSpec* pspec);
6354 Style* /*new*/ mx_style_new();
6355 Style* mx_style_get_default();
6356 void mx_style_get(Style* this_, Stylable* stylable, char* first_property_name, ...);
6357 void mx_style_get_property(Style* this_, Stylable* stylable, GObject2.ParamSpec* pspec, /*out*/ GObject2.Value* value);
6358 void mx_style_get_valist(Style* this_, Stylable* stylable, char* first_property_name, va_list va_args);
6359 int mx_style_load_from_file(Style* this_, char* filename, GLib2.Error** error);
6360 Table* mx_table_new();
6361 void mx_table_add_actor(Table* this_, Clutter.Actor* actor, int row, int column);
6362 void mx_table_add_actor_with_properties(Table* this_, Clutter.Actor* actor, int row, int column, char* first_property_name, ...);
6363 int mx_table_child_get_column(Table* this_, Clutter.Actor* child);
6364 int mx_table_child_get_column_span(Table* this_, Clutter.Actor* child);
6365 int mx_table_child_get_row(Table* this_, Clutter.Actor* child);
6366 int mx_table_child_get_row_span(Table* this_, Clutter.Actor* child);
6367 Align mx_table_child_get_x_align(Table* this_, Clutter.Actor* child);
6368 int mx_table_child_get_x_expand(Table* this_, Clutter.Actor* child);
6369 int mx_table_child_get_x_fill(Table* this_, Clutter.Actor* child);
6370 Align mx_table_child_get_y_align(Table* this_, Clutter.Actor* child);
6371 int mx_table_child_get_y_expand(Table* this_, Clutter.Actor* child);
6372 int mx_table_child_get_y_fill(Table* this_, Clutter.Actor* child);
6373 void mx_table_child_set_column(Table* this_, Clutter.Actor* child, int col);
6374 void mx_table_child_set_column_span(Table* this_, Clutter.Actor* child, int span);
6375 void mx_table_child_set_row(Table* this_, Clutter.Actor* child, int row);
6376 void mx_table_child_set_row_span(Table* this_, Clutter.Actor* child, int span);
6377 void mx_table_child_set_x_align(Table* this_, Clutter.Actor* child, Align align_);
6378 void mx_table_child_set_x_expand(Table* this_, Clutter.Actor* child, int expand);
6379 void mx_table_child_set_x_fill(Table* this_, Clutter.Actor* child, int fill);
6380 void mx_table_child_set_y_align(Table* this_, Clutter.Actor* child, Align align_);
6381 void mx_table_child_set_y_expand(Table* this_, Clutter.Actor* child, int expand);
6382 void mx_table_child_set_y_fill(Table* this_, Clutter.Actor* child, int fill);
6383 int mx_table_get_column_count(Table* this_);
6384 int mx_table_get_column_spacing(Table* this_);
6385 int mx_table_get_row_count(Table* this_);
6386 int mx_table_get_row_spacing(Table* this_);
6387 void mx_table_set_column_spacing(Table* this_, int spacing);
6388 void mx_table_set_row_spacing(Table* this_, int spacing);
6389 TextureCache* mx_texture_cache_get_default();
6390 int mx_texture_cache_contains(TextureCache* this_, char* uri);
6391 int mx_texture_cache_contains_meta(TextureCache* this_, char* uri, void* ident);
6392 Clutter.Actor* mx_texture_cache_get_actor(TextureCache* this_, char* uri);
6393 Cogl.Handle mx_texture_cache_get_cogl_texture(TextureCache* this_, char* uri);
6394 Cogl.Handle /*new*/ mx_texture_cache_get_meta_cogl_texture(TextureCache* this_, char* uri, void* ident);
6395 Clutter.Texture* /*new*/ mx_texture_cache_get_meta_texture(TextureCache* this_, char* uri, void* ident);
6396 int mx_texture_cache_get_size(TextureCache* this_);
6397 Clutter.Texture* mx_texture_cache_get_texture(TextureCache* this_, char* uri);
6398 void mx_texture_cache_insert(TextureCache* this_, char* uri, Cogl.Handle* texture);
6399 void mx_texture_cache_insert_meta(TextureCache* this_, char* uri, void* ident, Cogl.Handle* texture, GLib2.DestroyNotify destroy_func);
6400 void mx_texture_cache_load_cache(TextureCache* this_, char* filename);
6401 TextureFrame* mx_texture_frame_new(Clutter.Texture* texture, float top, float right, float bottom, float left);
6402 void mx_texture_frame_get_border_values(TextureFrame* this_, float* top, float* right, float* bottom, float* left);
6403 Clutter.Texture* mx_texture_frame_get_parent_texture(TextureFrame* this_);
6404 void mx_texture_frame_set_border_values(TextureFrame* this_, float top, float right, float bottom, float left);
6405 void mx_texture_frame_set_parent_texture(TextureFrame* this_, Clutter.Texture* texture);
6406 Toggle* mx_toggle_new();
6407 int mx_toggle_get_active(Toggle* this_);
6408 void mx_toggle_set_active(Toggle* this_, int active);
6409 Toolbar* mx_toolbar_new();
6410 int mx_toolbar_get_has_close_button(Toolbar* this_);
6411 void mx_toolbar_set_has_close_button(Toolbar* this_, int has_close_button);
6412 int mx_tooltip_is_in_browse_mode();
6413 char* mx_tooltip_get_text(Tooltip* this_);
6414 Clutter.Geometry* mx_tooltip_get_tip_area(Tooltip* this_);
6415 void mx_tooltip_hide(Tooltip* this_);
6416 void mx_tooltip_set_text(Tooltip* this_, char* text);
6417 void mx_tooltip_set_tip_area(Tooltip* this_, Clutter.Geometry* area);
6418 void mx_tooltip_set_tip_area_from_actor(Tooltip* this_, Clutter.Actor* actor);
6419 void mx_tooltip_show(Tooltip* this_);
6420 Viewport* mx_viewport_new();
6421 void mx_viewport_get_origin(Viewport* this_, float* x, float* y, float* z);
6422 int mx_viewport_get_sync_adjustments(Viewport* this_);
6423 void mx_viewport_set_origin(Viewport* this_, float x, float y, float z);
6424 void mx_viewport_set_sync_adjustments(Viewport* this_, int sync);
6425 void mx_widget_apply_style(Widget* this_, Style* style);
6426 void mx_widget_get_available_area(Widget* this_, Clutter.ActorBox* allocation, Clutter.ActorBox* area);
6427 Clutter.Actor* mx_widget_get_background_image(Widget* this_);
6428 Clutter.Actor* mx_widget_get_border_image(Widget* this_);
6429 int mx_widget_get_disabled(Widget* this_);
6430 Menu* mx_widget_get_menu(Widget* this_);
6431 void mx_widget_get_padding(Widget* this_, Padding* padding);
6432 uint mx_widget_get_tooltip_delay(Widget* this_);
6433 char* mx_widget_get_tooltip_text(Widget* this_);
6434 void mx_widget_hide_tooltip(Widget* this_);
6435 void mx_widget_long_press_cancel(Widget* this_);
6436 void mx_widget_long_press_query(Widget* this_, Clutter.ButtonEvent* event);
6437 void mx_widget_paint_background(Widget* this_);
6438 void mx_widget_set_disabled(Widget* this_, int disabled);
6439 void mx_widget_set_menu(Widget* this_, Menu* menu);
6440 void mx_widget_set_tooltip_delay(Widget* this_, uint delay);
6441 void mx_widget_set_tooltip_text(Widget* this_, char* text);
6442 void mx_widget_show_tooltip(Widget* this_);
6443 Window* /*new*/ mx_window_new();
6444 Window* /*new*/ mx_window_new_with_clutter_stage(Clutter.Stage* stage);
6445 Window* mx_window_get_for_stage(Clutter.Stage* stage);
6446 Clutter.Actor* mx_window_get_child(Window* this_);
6447 Clutter.Stage* mx_window_get_clutter_stage(Window* this_);
6448 int mx_window_get_fullscreen(Window* this_);
6449 int mx_window_get_has_toolbar(Window* this_);
6450 char* mx_window_get_icon_name(Window* this_);
6451 int mx_window_get_small_screen(Window* this_);
6452 char* mx_window_get_title(Window* this_);
6453 Toolbar* mx_window_get_toolbar(Window* this_);
6454 void mx_window_get_window_position(Window* this_, /*out*/ int* x, /*out*/ int* y);
6455 WindowRotation mx_window_get_window_rotation(Window* this_);
6456 void mx_window_get_window_size(Window* this_, /*out*/ int* width, /*out*/ int* height);
6457 void mx_window_hide(Window* this_);
6458 void mx_window_present(Window* this_);
6459 void mx_window_set_child(Window* this_, Clutter.Actor* actor);
6460 void mx_window_set_fullscreen(Window* this_, int fullscreen);
6461 void mx_window_set_has_toolbar(Window* this_, int toolbar);
6462 void mx_window_set_icon_from_cogl_texture(Window* this_, Cogl.Handle texture);
6463 void mx_window_set_icon_name(Window* this_, char* icon_name=null);
6464 void mx_window_set_small_screen(Window* this_, int small_screen);
6465 void mx_window_set_title(Window* this_, char* title);
6466 void mx_window_set_toolbar(Window* this_, Toolbar* toolbar);
6467 void mx_window_set_window_position(Window* this_, int x, int y);
6468 void mx_window_set_window_rotation(Window* this_, WindowRotation rotation);
6469 void mx_window_set_window_size(Window* this_, int width, int height);
6470 void mx_window_show(Window* this_);
6471 void mx_actor_box_clamp_to_pixels(Clutter.ActorBox* box);
6472 void mx_allocate_align_fill(Clutter.Actor* child, Clutter.ActorBox* childbox, Align x_alignment, Align y_alignment, int x_fill, int y_fill);
6473 FocusHint mx_focus_hint_from_direction(FocusDirection direction);
6474 void mx_font_weight_set_from_string(GObject2.Value* value, char* str);
6475 GLib2.Quark mx_image_error_quark();
6476 void mx_set_locale();
6477 char* /*new*/ mx_utils_format_time(GLib2.TimeVal* time_);