<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Atk" version="1.0"/>
  <include name="Clutter" version="1.0"/>
  <include name="Cogl" version="1.0"/>
  <include name="CoglPango" version="1.0"/>
  <include name="GL" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Json" version="1.0"/>
  <include name="Pango" version="1.0"/>
  <include name="PangoCairo" version="1.0"/>
  <include name="PangoFT2" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="fontconfig" version="2.0"/>
  <include name="freetype2" version="2.0"/>
  <package name="mx-1.0"/>
  <c:include name="mx/mx.h"/>
  <namespace name="Mx"
             version="1.0"
             shared-library="libmx-1.0.so.0.0"
             c:identifier-prefixes="Mx"
             c:symbol-prefixes="mx">
    <class name="Action"
           c:symbol-prefix="action"
           c:type="MxAction"
           parent="GObject.InitiallyUnowned"
           glib:type-name="MxAction"
           glib:get-type="mx_action_get_type"
           glib:type-struct="ActionClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Gio.Action"/>
      <constructor name="new" c:identifier="mx_action_new">
        <doc xml:whitespace="preserve">Creates a new, blank, #MxAction</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly allocated #MxAction</doc>
          <type name="Action" c:type="MxAction*"/>
        </return-value>
      </constructor>
      <constructor name="new_full" c:identifier="mx_action_new_full">
        <doc xml:whitespace="preserve">Creates a new #MxAction with the name and callback set</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly allocated #MxAction</doc>
          <type name="Action" c:type="MxAction*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the action</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="display_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the action to display to the user</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="activated_cb"
                     transfer-ownership="none"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">callback to connect to the activated signal</doc>
            <type name="ActionCallbackFunc" c:type="GCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">user data to be passed to the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_stateful"
                   c:identifier="mx_action_new_stateful"
                   version="1.4">
        <doc xml:whitespace="preserve">Creates a new stateful action.

@state is the initial state of the action.  All future state values
must have the same #GVariantType as the initial state.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxAction</doc>
          <type name="Action" c:type="MxAction*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the action</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="parameter_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the type of the parameter to the activate function</doc>
            <type name="GLib.VariantType" c:type="GVariantType*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:whitespace="preserve">the initial state of the action</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_parameter"
                   c:identifier="mx_action_new_with_parameter"
                   version="1.4">
        <doc xml:whitespace="preserve">Creates a new action with a parameter.

The created action is stateless.  See mx_action_new_stateful().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxAction</doc>
          <type name="Action" c:type="MxAction*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the action</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="parameter_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the type of parameter to the activate function</doc>
            <type name="GLib.VariantType" c:type="GVariantType*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_active" c:identifier="mx_action_get_active">
        <doc xml:whitespace="preserve">Get the value of the active property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the action is active</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_display_name"
              c:identifier="mx_action_get_display_name">
        <doc xml:whitespace="preserve">Get the display name of the action</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">display-name of the action, owned by MxAction</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_icon" c:identifier="mx_action_get_icon">
        <doc xml:whitespace="preserve">Get the icon of the action</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">icon of the action, owned by MxAction</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_name" c:identifier="mx_action_get_name">
        <doc xml:whitespace="preserve">Get the name of the action</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">name of the action, owned by MxAction</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_active" c:identifier="mx_action_set_active">
        <doc xml:whitespace="preserve">Set the value of the active property</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="active" transfer-ownership="none">
            <doc xml:whitespace="preserve">the value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_display_name"
              c:identifier="mx_action_set_display_name">
        <doc xml:whitespace="preserve">Set the name of the action to display to the user</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">new display name to set</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon" c:identifier="mx_action_set_icon">
        <doc xml:whitespace="preserve">The icon to be used in a visual representation of an action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">new icon to set</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="mx_action_set_name">
        <doc xml:whitespace="preserve">Set the name of the action</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">new name to set</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="active"
                deprecated="use the #GAction:enabled property instead"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="display-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="icon" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ActionPrivate" c:type="MxActionPrivate*"/>
      </field>
      <glib:signal name="activate" when="last" version="1.4">
        <doc xml:whitespace="preserve">Indicates that the action was just activated.

@parameter will always be of the expected type.  In the event that
an incorrect type was given, no signal will be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="parameter" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the parameter to the activation</doc>
            <type name="GLib.Variant"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="activated"
                   when="last"
                   deprecated="Use MxAction::activate instead."
                   deprecated-version="1.4">
        <doc xml:whitespace="preserve">Emitted when the MxAction is activated.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <callback name="ActionCallbackFunc" c:type="MxActionCallbackFunc">
      <doc xml:whitespace="preserve">Callback function called when action is activated.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxAction</doc>
          <type name="Action" c:type="MxAction*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ActionClass"
            c:type="MxActionClass"
            glib:is-gtype-struct-for="Action">
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="activated">
        <callback name="activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="action" transfer-ownership="none">
              <type name="Action" c:type="MxAction*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ActionPrivate" c:type="MxActionPrivate" disguised="1">
    </record>
    <class name="ActorManager"
           c:symbol-prefix="actor_manager"
           c:type="MxActorManager"
           parent="GObject.Object"
           glib:type-name="MxActorManager"
           glib:get-type="mx_actor_manager_get_type"
           glib:type-struct="ActorManagerClass">
      <constructor name="new"
                   c:identifier="mx_actor_manager_new"
                   version="1.2">
        <doc xml:whitespace="preserve">Creates a new #MxActorManager, associated with the given stage.

&lt;note&gt;&lt;para&gt;
A reference will not be taken on the stage, and when the stage is destroyed,
the actor manager will lose a reference. The actor manager can be kept
alive by taking a reference, but will no longer divide up events.
&lt;/para&gt;&lt;/note&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxActorManager, tied to the given #ClutterStage</doc>
          <type name="ActorManager" c:type="MxActorManager*"/>
        </return-value>
        <parameters>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterStage</doc>
            <type name="Clutter.Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_for_stage"
                c:identifier="mx_actor_manager_get_for_stage"
                version="1.2">
        <doc xml:whitespace="preserve">Get the MxActorManager associated with a stage, or creates one if this is the
first call to the function with the given #ClutterStage.

This is a convenience function that allows for easy association of one
#MxActorManager to a #ClutterStage.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxActorManager</doc>
          <type name="ActorManager" c:type="MxActorManager*"/>
        </return-value>
        <parameters>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterStage</doc>
            <type name="Clutter.Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="actor_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="container" transfer-ownership="none">
            <type name="Clutter.Container" c:type="ClutterContainer*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="actor_created">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="actor_finished">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="actor_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="container" transfer-ownership="none">
            <type name="Clutter.Container" c:type="ClutterContainer*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="operation_cancelled">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="operation_completed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="operation_failed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_actor"
              c:identifier="mx_actor_manager_add_actor"
              version="1.2">
        <doc xml:whitespace="preserve">Adds @actor to @container. The actor may not be parented immediately,
or at all, if the operation is cancelled.

On successful completion, the #MxActorManager::actor_added signal will
be fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The ID for this operation.</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
        <parameters>
          <parameter name="container" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterContainer</doc>
            <type name="Clutter.Container" c:type="ClutterContainer*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="cancel_operation"
              c:identifier="mx_actor_manager_cancel_operation"
              version="1.2">
        <doc xml:whitespace="preserve">Cancels the given operation, if it exists. The
#MxActorManager::operation_cancelled signal is fired whenever an operation
is cancelled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">An operation ID</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="cancel_operations"
              c:identifier="mx_actor_manager_cancel_operations"
              version="1.2">
        <doc xml:whitespace="preserve">Cancels all operations associated with the given actor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_actor"
              c:identifier="mx_actor_manager_create_actor"
              version="1.2"
              introspectable="0">
        <doc xml:whitespace="preserve">Creates a #ClutterActor. The actor may not be created immediately,
or at all, if the operation is cancelled.

On successful completion, the #MxActorManager::actor_created signal will
be fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The ID for this operation.</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
        <parameters>
          <parameter name="create_func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:whitespace="preserve">A #ClutterActor creation function</doc>
            <type name="ActorManagerCreateFunc"
                  c:type="MxActorManagerCreateFunc"/>
          </parameter>
          <parameter name="userdata" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_func"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:whitespace="preserve">callback to invoke before the operation is removed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_operations"
              c:identifier="mx_actor_manager_get_n_operations"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the amount of operations left in the queue.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Number of operations left to perform</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_stage"
              c:identifier="mx_actor_manager_get_stage"
              version="1.2">
        <doc xml:whitespace="preserve">Gets the #ClutterStage the actor manager is associated with.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The #ClutterStage the actor is associated with.</doc>
          <type name="Clutter.Stage" c:type="ClutterStage*"/>
        </return-value>
      </method>
      <method name="get_time_slice"
              c:identifier="mx_actor_manager_get_time_slice"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the current time slice being used for operations.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The time-slice being used, in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="remove_actor"
              c:identifier="mx_actor_manager_remove_actor"
              version="1.2">
        <doc xml:whitespace="preserve">Removes @actor from @container.

On successful completion, the #MxActorManager::actor_removed signal will
be fired.

&lt;note&gt;&lt;para&gt;
The actor may not be removed immediately, and thus you may want to set
the actor's opacity to 0 before calling this function.
&lt;/para&gt;&lt;/note&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The ID for this operation.</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
        <parameters>
          <parameter name="container" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterContainer</doc>
            <type name="Clutter.Container" c:type="ClutterContainer*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_container"
              c:identifier="mx_actor_manager_remove_container"
              version="1.2">
        <doc xml:whitespace="preserve">Removes the container. This is a utility function that works by first
removing all the children of the container, then the children itself. This
effectively spreads the load of removing a large container. All prior
operations associated with this container will be cancelled.

&lt;note&gt;&lt;para&gt;
The container may not be removed immediately, and thus you may want to set
the container's opacity to 0 before calling this function.
&lt;/para&gt;&lt;/note&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="container" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterContainer</doc>
            <type name="Clutter.Container" c:type="ClutterContainer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_time_slice"
              c:identifier="mx_actor_manager_set_time_slice"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the amount of time the actor manager will spend performing operations,
before yielding to allow any necessary redrawing to occur.

Lower times will lead to smoother performance, but will increase the amount
of time it takes for operations to complete.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:whitespace="preserve">A time, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="n-operations" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="stage"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Clutter.Stage"/>
      </property>
      <property name="time-slice" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ActorManagerPrivate" c:type="MxActorManagerPrivate*"/>
      </field>
      <glib:signal name="actor-added" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an actor add operation has completed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">The operation ID</doc>
            <type name="gulong"/>
          </parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #ClutterContainer the actor was added to</doc>
            <type name="Clutter.Actor"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">The added #ClutterActor</doc>
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="actor-created" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an actor creation operation has completed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">The operation ID</doc>
            <type name="gulong"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">The created #ClutterActor</doc>
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="actor-finished" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when all queued operations involving @actor have completed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #ClutterActor to which the signal pertains</doc>
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="actor-removed" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an actor remove operation has completed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">The operation ID</doc>
            <type name="gulong"/>
          </parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #ClutterContainer the actor was removed from</doc>
            <type name="Clutter.Actor"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">The removed #ClutterActor</doc>
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="operation-cancelled" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an operation has been cancelled.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">The operation id</doc>
            <type name="gulong"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="operation-completed" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an operation has completed successfully.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">The operation id</doc>
            <type name="gulong"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="operation-failed" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an operation has failed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">The operation id</doc>
            <type name="gulong"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GError describing the reason of the failure</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ActorManagerClass"
            c:type="MxActorManagerClass"
            glib:is-gtype-struct-for="ActorManager">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="actor_created">
        <callback name="actor_created">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="ActorManager" c:type="MxActorManager*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Clutter.Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="actor_added">
        <callback name="actor_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="ActorManager" c:type="MxActorManager*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="container" transfer-ownership="none">
              <type name="Clutter.Container" c:type="ClutterContainer*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Clutter.Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="actor_removed">
        <callback name="actor_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="ActorManager" c:type="MxActorManager*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="container" transfer-ownership="none">
              <type name="Clutter.Container" c:type="ClutterContainer*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Clutter.Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="actor_finished">
        <callback name="actor_finished">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="ActorManager" c:type="MxActorManager*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Clutter.Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="operation_completed">
        <callback name="operation_completed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="ActorManager" c:type="MxActorManager*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="operation_cancelled">
        <callback name="operation_cancelled">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="ActorManager" c:type="MxActorManager*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="operation_failed">
        <callback name="operation_failed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="ActorManager" c:type="MxActorManager*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <callback name="ActorManagerCreateFunc"
              c:type="MxActorManagerCreateFunc"
              introspectable="0">
      <return-value>
        <type name="Clutter.Actor" c:type="ClutterActor*"/>
      </return-value>
      <parameters>
        <parameter name="manager" transfer-ownership="none">
          <type name="ActorManager" c:type="MxActorManager*"/>
        </parameter>
        <parameter name="userdata" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="ActorManagerError"
                 glib:type-name="MxActorManagerError"
                 glib:get-type="mx_actor_manager_error_get_type"
                 c:type="MxActorManagerError">
      <member name="container_destroyed"
              value="0"
              c:identifier="MX_ACTOR_MANAGER_CONTAINER_DESTROYED"
              glib:nick="container-destroyed"/>
      <member name="actor_destroyed"
              value="1"
              c:identifier="MX_ACTOR_MANAGER_ACTOR_DESTROYED"
              glib:nick="actor-destroyed"/>
      <member name="creation_failed"
              value="2"
              c:identifier="MX_ACTOR_MANAGER_CREATION_FAILED"
              glib:nick="creation-failed"/>
      <member name="unknown_operation"
              value="3"
              c:identifier="MX_ACTOR_MANAGER_UNKNOWN_OPERATION"
              glib:nick="unknown-operation"/>
    </enumeration>
    <record name="ActorManagerPrivate"
            c:type="MxActorManagerPrivate"
            disguised="1">
    </record>
    <class name="Adjustment"
           c:symbol-prefix="adjustment"
           c:type="MxAdjustment"
           parent="GObject.Object"
           glib:type-name="MxAdjustment"
           glib:get-type="mx_adjustment_get_type"
           glib:type-struct="AdjustmentClass">
      <doc xml:whitespace="preserve">Class for handling an interval between to values. The contents of
the #MxAdjustment are private and should be accessed using the
public API.</doc>
      <constructor name="new" c:identifier="mx_adjustment_new">
        <doc xml:whitespace="preserve">Create a new MxAdjustment</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly allocated MxAdjustment</doc>
          <type name="Adjustment" c:type="MxAdjustment*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_values"
                   c:identifier="mx_adjustment_new_with_values">
        <doc xml:whitespace="preserve">Create a new MxAdjustment with the properties set to the values specified.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly allocated MxAdjustment</doc>
          <type name="Adjustment" c:type="MxAdjustment*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="lower" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="upper" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="step_increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="page_increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="page_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="interpolation_completed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_clamp_value"
              c:identifier="mx_adjustment_get_clamp_value"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxAdjustment:clamp-value property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "clamp-value" property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_elastic" c:identifier="mx_adjustment_get_elastic">
        <doc xml:whitespace="preserve">Get the value of the #MxAdjustment:elastic property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "elastic" property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_lower" c:identifier="mx_adjustment_get_lower">
        <doc xml:whitespace="preserve">Get the value of the #MxAdjustment:lower property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "lower" property.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_page_increment"
              c:identifier="mx_adjustment_get_page_increment">
        <doc xml:whitespace="preserve">Get the value of the MxAdjustment:page-increment property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "page-increment" property.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_page_size" c:identifier="mx_adjustment_get_page_size">
        <doc xml:whitespace="preserve">Get the value of the #MxAdjustment:page-size property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "page-size" property.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_step_increment"
              c:identifier="mx_adjustment_get_step_increment">
        <doc xml:whitespace="preserve">Get the value of the MxAdjustment:step-increment property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "step-increment" property.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_upper" c:identifier="mx_adjustment_get_upper">
        <doc xml:whitespace="preserve">Get the value of the #MxAdjustment:upper property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "upper" property.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_value" c:identifier="mx_adjustment_get_value">
        <doc xml:whitespace="preserve">Get the current value of the #MxAdjustment:value property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "value" property</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_values" c:identifier="mx_adjustment_get_values">
        <doc xml:whitespace="preserve">Get the various properties of MxAdjustment.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="lower" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="upper" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="step_increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="page_increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="page_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="interpolate" c:identifier="mx_adjustment_interpolate">
        <doc xml:whitespace="preserve">Interpolate #MxAdjustment:value to the new value specified by @value, using
the mode and duration given.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:whitespace="preserve">duration in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterAnimationMode</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="interpolate_relative"
              c:identifier="mx_adjustment_interpolate_relative">
        <doc xml:whitespace="preserve">Interpolate the value of #MxAdjustment:value to a new value calculated from
@offset.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:whitespace="preserve">duration in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterAnimationMode</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_clamp_value"
              c:identifier="mx_adjustment_set_clamp_value"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxAdjustment:clamp-value property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="clamp" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_elastic" c:identifier="mx_adjustment_set_elastic">
        <doc xml:whitespace="preserve">Set the value of the #MxAdjustment:elastic property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="elastic" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_lower" c:identifier="mx_adjustment_set_lower">
        <doc xml:whitespace="preserve">Set the value of the #MxAdjustment:lower property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="lower" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page_increment"
              c:identifier="mx_adjustment_set_page_increment">
        <doc xml:whitespace="preserve">Set the value of the #MxAdjustment:page-increment property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page_size" c:identifier="mx_adjustment_set_page_size">
        <doc xml:whitespace="preserve">Set the #MxAdjustment:page-size property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_step_increment"
              c:identifier="mx_adjustment_set_step_increment">
        <doc xml:whitespace="preserve">Set the value of the #MxAdjustment:step-increment property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_upper" c:identifier="mx_adjustment_set_upper">
        <doc xml:whitespace="preserve">Set the value of the #MxAdjustment:upper property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="upper" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="mx_adjustment_set_value">
        <doc xml:whitespace="preserve">Set the value of the #MxAdjustment:value property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_values" c:identifier="mx_adjustment_set_values">
        <doc xml:whitespace="preserve">Set the various properties of MxAdjustment.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="lower" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="upper" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="step_increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="page_increment" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="page_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gdouble</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="clamp-value" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="elastic" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="lower"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="page-increment"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="page-size"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="step-increment"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="upper"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="value"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="AdjustmentPrivate" c:type="MxAdjustmentPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <doc xml:whitespace="preserve">Emitted when any of the adjustment values have changed</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="interpolation-completed" when="last">
        <doc xml:whitespace="preserve">Emitted when the animation started by mx_adjustment_interpolate completes</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AdjustmentClass"
            c:type="MxAdjustmentClass"
            glib:is-gtype-struct-for="Adjustment">
      <doc xml:whitespace="preserve">Base class for #MxAdjustment.</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="adjustment" transfer-ownership="none">
              <type name="Adjustment" c:type="MxAdjustment*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="interpolation_completed">
        <callback name="interpolation_completed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="adjustment" transfer-ownership="none">
              <type name="Adjustment" c:type="MxAdjustment*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="AdjustmentPrivate"
            c:type="MxAdjustmentPrivate"
            disguised="1">
    </record>
    <enumeration name="Align"
                 glib:type-name="MxAlign"
                 glib:get-type="mx_align_get_type"
                 c:type="MxAlign">
      <doc xml:whitespace="preserve">Set the alignment of the item</doc>
      <member name="start"
              value="0"
              c:identifier="MX_ALIGN_START"
              glib:nick="start"/>
      <member name="middle"
              value="1"
              c:identifier="MX_ALIGN_MIDDLE"
              glib:nick="middle"/>
      <member name="end"
              value="2"
              c:identifier="MX_ALIGN_END"
              glib:nick="end"/>
    </enumeration>
    <class name="Application"
           c:symbol-prefix="application"
           c:type="MxApplication"
           parent="GObject.Object"
           glib:type-name="MxApplication"
           glib:get-type="mx_application_get_type"
           glib:type-struct="ApplicationClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <constructor name="new" c:identifier="mx_application_new">
        <doc xml:whitespace="preserve">Intialises everything needed to operate Clutter and use #MxApplication.
See clutter_init().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the #MxApplication singleton.</doc>
          <type name="Application" c:type="MxApplication*"/>
        </return-value>
        <parameters>
          <parameter name="argc"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The number of arguments in argv.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="argv"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <doc xml:whitespace="preserve">A pointer to an array of arguments</doc>
            <array length="0" zero-terminated="0" c:type="gchar***">
              <type name="utf8" c:type="gchar**"/>
            </array>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Unique application name.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">Application flags.</doc>
            <type name="ApplicationFlags" c:type="MxApplicationFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="actions_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="create_window" invoker="create_window">
        <doc xml:whitespace="preserve">Creates a window and associates it with the application.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxWindow.</doc>
          <type name="Window" c:type="MxWindow*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="raise">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="add_action" c:identifier="mx_application_add_action">
        <doc xml:whitespace="preserve">Add an action to the application.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">an #MxAction</doc>
            <type name="Action" c:type="MxAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_window" c:identifier="mx_application_add_window">
        <doc xml:whitespace="preserve">Adds a window to the list of windows associated with @application. If this
is the first window, it will be treated as the primary window and used for
startup notification.

This function does not take a reference on @window.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="full">
            <doc xml:whitespace="preserve">The #MxWindow to add to the application</doc>
            <type name="Window" c:type="MxWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_window" c:identifier="mx_application_create_window">
        <doc xml:whitespace="preserve">Creates a window and associates it with the application.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxWindow.</doc>
          <type name="Window" c:type="MxWindow*"/>
        </return-value>
      </method>
      <method name="get_actions" c:identifier="mx_application_get_actions">
        <doc xml:whitespace="preserve">Retrieves all actions registered on @application.

of #MxAction&lt;!-- --&gt;s. Use g_list_free() on the returned list
when done.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Action"/>
          </type>
        </return-value>
      </method>
      <method name="get_flags" c:identifier="mx_application_get_flags">
        <doc xml:whitespace="preserve">Get the application flags that where set on @application when created.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the application flags</doc>
          <type name="ApplicationFlags" c:type="MxApplicationFlags"/>
        </return-value>
      </method>
      <method name="get_windows" c:identifier="mx_application_get_windows">
        <doc xml:whitespace="preserve">Retrieves all windows added to @application.

of #MxWindow&lt;!-- --&gt;s. The returned list is owned by
@application and must not be altered.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a list</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
      </method>
      <method name="invoke_action" c:identifier="mx_application_invoke_action">
        <doc xml:whitespace="preserve">Run the named action for the application.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the action to invoke</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="invoke_action_with_parameter"
              c:identifier="mx_application_invoke_action_with_parameter"
              version="1.4">
        <doc xml:whitespace="preserve">Run the named action for the application, passing @variant as the parameter
for the action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the action to invoke</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:whitespace="preserve">parameter for the action</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_running" c:identifier="mx_application_is_running">
        <doc xml:whitespace="preserve">Query whether #MxApplication is running. This will also return #TRUE if the
given #MxApplication is single instance and there is an instance already
running.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the application is running</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="quit" c:identifier="mx_application_quit">
        <doc xml:whitespace="preserve">Stop the application from running and quit the main loop. This will cause
the call to mx_application_run() to complete.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_action" c:identifier="mx_application_remove_action">
        <doc xml:whitespace="preserve">Remove the action with the specified name from the application.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the action to remove</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_window" c:identifier="mx_application_remove_window">
        <doc xml:whitespace="preserve">Remove the specified window from the application. This will cause the window
to be unreferenced and destroyed unless another reference is held on it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <doc xml:whitespace="preserve">an #MxWindow</doc>
            <type name="Window" c:type="MxWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="run" c:identifier="mx_application_run">
        <doc xml:whitespace="preserve">Run the main loop of the application and start processing events. This
function will not return until the application is quit. If the application
is single instance and an existing instance is already running, this will
cause the existing instance to be raised and the function will complete
immediately.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="application-name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="flags"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ApplicationPrivate" c:type="MxApplicationPrivate*"/>
      </field>
      <glib:signal name="actions-changed" when="last">
        <doc xml:whitespace="preserve">Emitted when an action has been added or removed from the MxApplication.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ApplicationClass"
            c:type="MxApplicationClass"
            glib:is-gtype-struct-for="Application">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="create_window">
        <callback name="create_window">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">An #MxWindow.</doc>
            <type name="Window" c:type="MxWindow*"/>
          </return-value>
          <parameters>
            <parameter name="application" transfer-ownership="none">
              <type name="Application" c:type="MxApplication*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="raise">
        <callback name="raise">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="application" transfer-ownership="none">
              <type name="Application" c:type="MxApplication*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="actions_changed">
        <callback name="actions_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="Application" c:type="MxApplication*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <bitfield name="ApplicationFlags"
              glib:type-name="MxApplicationFlags"
              glib:get-type="mx_application_flags_get_type"
              c:type="MxApplicationFlags">
      <member name="single_instance"
              value="1"
              c:identifier="MX_APPLICATION_SINGLE_INSTANCE"
              glib:nick="single-instance"/>
      <member name="keep_alive"
              value="4"
              c:identifier="MX_APPLICATION_KEEP_ALIVE"
              glib:nick="keep-alive"/>
    </bitfield>
    <record name="ApplicationPrivate"
            c:type="MxApplicationPrivate"
            disguised="1">
    </record>
    <class name="Bin"
           c:symbol-prefix="bin"
           c:type="MxBin"
           parent="Widget"
           abstract="1"
           glib:type-name="MxBin"
           glib:get-type="mx_bin_get_type"
           glib:type-struct="BinClass">
      <doc xml:whitespace="preserve">The #MxBin struct contains only private data</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <method name="allocate_child" c:identifier="mx_bin_allocate_child">
        <doc xml:whitespace="preserve">Allocates the child of an #MxBin using the width and height from @box.
This function should usually only be called by subclasses of #MxBin.

This function can be used to allocate the child of an #MxBin if no special
allocation requirements are needed. It is similar to
#mx_allocate_align_fill, except that it reads the alignment, padding and
fill values from the #MxBin, and will call #clutter_actor_allocate on the
child.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="box" transfer-ownership="none">
            <doc xml:whitespace="preserve">The allocation box of the parent actor.</doc>
            <type name="Clutter.ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">#ClutterAllocationFlags, usually provided by the. clutter_actor_allocate function.</doc>
            <type name="Clutter.AllocationFlags"
                  c:type="ClutterAllocationFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_alignment" c:identifier="mx_bin_get_alignment">
        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical alignment of the child
inside a #MxBin, as set by mx_bin_set_alignment().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the horizontal alignment, or %NULL</doc>
            <type name="Align" c:type="MxAlign*"/>
          </parameter>
          <parameter name="y_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the vertical alignment, or %NULL</doc>
            <type name="Align" c:type="MxAlign*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child" c:identifier="mx_bin_get_child">
        <doc xml:whitespace="preserve">Retrieves a pointer to the child of @bin.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #ClutterActor, or %NULL</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_fill" c:identifier="mx_bin_get_fill">
        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical fill settings</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x_fill"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">return location for the horizontal fill, or %NULL</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
          <parameter name="y_fill"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">return location for the vertical fill, or %NULL</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_alignment" c:identifier="mx_bin_set_alignment">
        <doc xml:whitespace="preserve">Sets the horizontal and vertical alignment of the child
inside a #MxBin.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">horizontal alignment</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
          <parameter name="y_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">vertical alignment</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child" c:identifier="mx_bin_set_child">
        <doc xml:whitespace="preserve">Sets @child as the child of @bin.

If @bin already has a child, the previous child is removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterActor, or %NULL</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fill" c:identifier="mx_bin_set_fill">
        <doc xml:whitespace="preserve">Sets whether the child of @bin should fill out the horizontal
and/or vertical allocation of the parent</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x_fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the child should fill horizontally the @bin</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="y_fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the child should fill vertically the @bin</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="child" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">The child #ClutterActor of the #MxBin container.</doc>
        <type name="Clutter.Actor"/>
      </property>
      <property name="x-align" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">The horizontal alignment of the #MxBin child.</doc>
        <type name="Align"/>
      </property>
      <property name="x-fill" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">Whether the child should fill the horizontal allocation</doc>
        <type name="gboolean"/>
      </property>
      <property name="y-align" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">The vertical alignment of the #MxBin child.</doc>
        <type name="Align"/>
      </property>
      <property name="y-fill" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">Whether the child should fill the vertical allocation</doc>
        <type name="gboolean"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="BinPrivate" c:type="MxBinPrivate*"/>
      </field>
    </class>
    <record name="BinClass" c:type="MxBinClass" glib:is-gtype-struct-for="Bin">
      <doc xml:whitespace="preserve">The #MxBinClass struct contains only private data</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="BinPrivate" c:type="MxBinPrivate" disguised="1">
    </record>
    <record name="BorderImage"
            c:type="MxBorderImage"
            glib:type-name="MxBorderImage"
            glib:get-type="mx_border_image_get_type"
            c:symbol-prefix="border_image">
      <field name="uri" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="top" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="right" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="bottom" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="left" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <function name="set_from_string"
                c:identifier="mx_border_image_set_from_string">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
          <parameter name="str" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <class name="BoxLayout"
           c:symbol-prefix="box_layout"
           c:type="MxBoxLayout"
           parent="Widget"
           glib:type-name="MxBoxLayout"
           glib:get-type="mx_box_layout_get_type"
           glib:type-struct="BoxLayoutClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Scrollable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_box_layout_new">
        <doc xml:whitespace="preserve">Create a new #MxBoxLayout.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxBoxLayout</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="add_actor" c:identifier="mx_box_layout_add_actor">
        <doc xml:whitespace="preserve">Inserts @actor at @position in @box.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #ClutterActor actor to add to the box layout</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">the position where to insert the actor</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_actor_with_properties"
              c:identifier="mx_box_layout_add_actor_with_properties"
              introspectable="0">
        <doc xml:whitespace="preserve">Inserts @actor at @position in the layout @box. You can set some layout
properties on the child at the same time.

If @position is negative, or is larger than the number of actors in the
layout, the new actor is added on to the end of the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #ClutterActor actor to add to the box layout</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">the position where to insert the actor</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the first property to set</doc>
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_expand"
              c:identifier="mx_box_layout_child_get_expand">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayoutChild:expand property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "expand" property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_x_align"
              c:identifier="mx_box_layout_child_get_x_align">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayoutChild:x-align property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "x-align" property</doc>
          <type name="Align" c:type="MxAlign"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_x_fill"
              c:identifier="mx_box_layout_child_get_x_fill">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayoutChild:x-fill property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "x-fill" property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_y_align"
              c:identifier="mx_box_layout_child_get_y_align">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayoutChild:y-align property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "y-align" property.</doc>
          <type name="Align" c:type="MxAlign"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_y_fill"
              c:identifier="mx_box_layout_child_get_y_fill">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayoutChild:y-fill property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "y-fill" property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_expand"
              c:identifier="mx_box_layout_child_set_expand">
        <doc xml:whitespace="preserve">Set the value of the #MxBoxLayoutChild:expand property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="expand" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_x_align"
              c:identifier="mx_box_layout_child_set_x_align">
        <doc xml:whitespace="preserve">Set the value of the #MxBoxLayoutChild:x-align property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="x_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">An #MxAlign</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_x_fill"
              c:identifier="mx_box_layout_child_set_x_fill">
        <doc xml:whitespace="preserve">Set the value of the #MxBoxLayoutChild:x-fill property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="x_fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_y_align"
              c:identifier="mx_box_layout_child_set_y_align">
        <doc xml:whitespace="preserve">Set the value of the #MxBoxLayoutChild:y-align property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="y_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">An #MxAlign</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_y_fill"
              c:identifier="mx_box_layout_child_set_y_fill">
        <doc xml:whitespace="preserve">Set the value of the #MxBoxLayoutChild:y-fill property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="y_fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_enable_animations"
              c:identifier="mx_box_layout_get_enable_animations">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayout:enable-animations property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if animations enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_orientation"
              c:identifier="mx_box_layout_get_orientation">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayout:orientation property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the orientation of the layout</doc>
          <type name="Orientation" c:type="MxOrientation"/>
        </return-value>
      </method>
      <method name="get_scroll_to_focused"
              c:identifier="mx_box_layout_get_scroll_to_focused"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxBoxLayout:scroll-to-focused property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if automatically scrolling to the focused actor is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_spacing" c:identifier="mx_box_layout_get_spacing">
        <doc xml:whitespace="preserve">Get the spacing between children in pixels</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the spacing value</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="set_enable_animations"
              c:identifier="mx_box_layout_set_enable_animations">
        <doc xml:whitespace="preserve">Enable animations when certain properties change.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enable_animations" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE to enable animations</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation"
              c:identifier="mx_box_layout_set_orientation">
        <doc xml:whitespace="preserve">Set the orientation of the box layout.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:whitespace="preserve">orientation value for the layout</doc>
            <type name="Orientation" c:type="MxOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scroll_to_focused"
              c:identifier="mx_box_layout_set_scroll_to_focused"
              version="1.2">
        <doc xml:whitespace="preserve">Enables or disables automatic scrolling to the focused actor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scroll_to_focused" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE to enable automatically scrolling to the focused actor</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_spacing" c:identifier="mx_box_layout_set_spacing">
        <doc xml:whitespace="preserve">Set the amount of spacing between children in pixels</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:whitespace="preserve">the spacing value</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="enable-animations"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="orientation" writable="1" transfer-ownership="none">
        <type name="Orientation"/>
      </property>
      <property name="scroll-to-focused"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="spacing" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="BoxLayoutPrivate" c:type="MxBoxLayoutPrivate*"/>
      </field>
    </class>
    <class name="BoxLayoutChild"
           c:symbol-prefix="box_layout_child"
           c:type="MxBoxLayoutChild"
           parent="Clutter.ChildMeta"
           glib:type-name="MxBoxLayoutChild"
           glib:get-type="mx_box_layout_child_get_type"
           glib:type-struct="BoxLayoutChildClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <property name="expand" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="x-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="x-fill" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="y-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="y-fill" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Clutter.ChildMeta" c:type="ClutterChildMeta"/>
      </field>
      <field name="expand" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="x_fill" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="y_fill" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="x_align" readable="0" private="1">
        <type name="Align" c:type="MxAlign"/>
      </field>
      <field name="y_align" readable="0" private="1">
        <type name="Align" c:type="MxAlign"/>
      </field>
    </class>
    <record name="BoxLayoutChildClass"
            c:type="MxBoxLayoutChildClass"
            glib:is-gtype-struct-for="BoxLayoutChild">
      <field name="parent_class">
        <type name="Clutter.ChildMetaClass" c:type="ClutterChildMetaClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="BoxLayoutChildPrivate"
            c:type="MxBoxLayoutChildPrivate"
            disguised="1">
    </record>
    <record name="BoxLayoutClass"
            c:type="MxBoxLayoutClass"
            glib:is-gtype-struct-for="BoxLayout">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="BoxLayoutPrivate" c:type="MxBoxLayoutPrivate" disguised="1">
    </record>
    <class name="Button"
           c:symbol-prefix="button"
           c:type="MxButton"
           parent="Bin"
           glib:type-name="MxButton"
           glib:get-type="mx_button_get_type"
           glib:type-struct="ButtonClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_button_new">
        <doc xml:whitespace="preserve">Create a new button</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxButton</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_label"
                   c:identifier="mx_button_new_with_label">
        <doc xml:whitespace="preserve">Create a new #MxButton with the specified label</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxButton</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set the label to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_action"
              c:identifier="mx_button_get_action"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the #MxAction associated with @button.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxAction</doc>
          <type name="Action" c:type="MxAction*"/>
        </return-value>
      </method>
      <method name="get_icon_name"
              c:identifier="mx_button_get_icon_name"
              version="1.2">
        <doc xml:whitespace="preserve">Get the icon-name being used on the button.

no icon has been set</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the icon-name. This must not be freed by the application. %NULL if</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_icon_position"
              c:identifier="mx_button_get_icon_position"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the icon's relative position to the text.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxPosition</doc>
          <type name="Position" c:type="MxPosition"/>
        </return-value>
      </method>
      <method name="get_icon_size"
              c:identifier="mx_button_get_icon_size"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the icon-size being used for the displayed icon inside the button.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The icon-size being used for the button icon, in pixels</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_icon_visible"
              c:identifier="mx_button_get_icon_visible"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the visibility of the icon associated with the button's action.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the icon is visible, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_is_toggle" c:identifier="mx_button_get_is_toggle">
        <doc xml:whitespace="preserve">Get the toggle mode status of the button.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if toggle mode is set, otherwise #FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_label" c:identifier="mx_button_get_label">
        <doc xml:whitespace="preserve">Get the text displayed on the button</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the text for the button. This must not be freed by the application</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_label_visible"
              c:identifier="mx_button_get_label_visible"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the visibility of the text associated with the button's action.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the text is visible, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_toggled" c:identifier="mx_button_get_toggled">
        <doc xml:whitespace="preserve">Get the state of the button that is in toggle mode.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the button is toggled, or #FALSE if not</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_action"
              c:identifier="mx_button_set_action"
              version="1.2">
        <doc xml:whitespace="preserve">Sets @action as the action for @button. @Button will take its label and
icon from @action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxAction</doc>
            <type name="Action" c:type="MxAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="mx_button_set_icon_name"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the icon-name used to display an icon on the button. Setting %NULL
will remove the icon name, or resort to the icon-name set in the current
style. Setting an icon name overrides any icon set in the style.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">icon-name to use on the button</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_position"
              c:identifier="mx_button_set_icon_position"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the icon position, relative to the text on the button.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxPosition</doc>
            <type name="Position" c:type="MxPosition"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_size"
              c:identifier="mx_button_set_icon_size"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the icon-size to use for the icon displayed inside the button. This will
override the icon-size set in the style. Setting a value of %0 resets to the
size from the style.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="icon_size" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_visible"
              c:identifier="mx_button_set_icon_visible"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the visibility of the icon associated with the button's action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="visible" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the icon should be visible</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_toggle" c:identifier="mx_button_set_is_toggle">
        <doc xml:whitespace="preserve">Enables or disables toggle mode for the button. In toggle mode, the active
state will be "toggled" when the user clicks the button.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="toggle" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE or #FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label" c:identifier="mx_button_set_label">
        <doc xml:whitespace="preserve">Sets the text displayed on the button</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set the label to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label_visible"
              c:identifier="mx_button_set_label_visible"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the visibility of the text associated with the button's action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="visible" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the text should be visible</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_toggled" c:identifier="mx_button_set_toggled">
        <doc xml:whitespace="preserve">Sets the toggled state of the button. This is only really useful if the
button has #toggle-mode mode set to #TRUE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="toggled" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE or #FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="action" writable="1" transfer-ownership="none">
        <type name="Action"/>
      </property>
      <property name="icon-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="icon-position" writable="1" transfer-ownership="none">
        <type name="Position"/>
      </property>
      <property name="icon-size" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="icon-visible" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="is-toggle" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="label-visible" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="toggled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ButtonPrivate" c:type="MxButtonPrivate*"/>
      </field>
      <glib:signal name="clicked" when="last">
        <doc xml:whitespace="preserve">Emitted when the user activates the button, either with a mouse press and
release or with the keyboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ButtonClass"
            c:type="MxButtonClass"
            glib:is-gtype-struct-for="Button">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
      <field name="clicked">
        <callback name="clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="button" transfer-ownership="none">
              <type name="Button" c:type="MxButton*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="ButtonGroup"
           c:symbol-prefix="button_group"
           c:type="MxButtonGroup"
           parent="GObject.InitiallyUnowned"
           glib:type-name="MxButtonGroup"
           glib:get-type="mx_button_group_get_type"
           glib:type-struct="ButtonGroupClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <constructor name="new" c:identifier="mx_button_group_new">
        <doc xml:whitespace="preserve">Create a new #MxButtonGroup.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxButtonGroup.</doc>
          <type name="ButtonGroup" c:type="MxButtonGroup*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="mx_button_group_add">
        <doc xml:whitespace="preserve">Add @button to the #MxButtonGroup.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="button" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxButton</doc>
            <type name="Button" c:type="MxButton*"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach" c:identifier="mx_button_group_foreach">
        <doc xml:whitespace="preserve">Calls @callback for each button in the group.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:whitespace="preserve">A #ClutterCallback</doc>
            <type name="Clutter.Callback" c:type="ClutterCallback"/>
          </parameter>
          <parameter name="userdata" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gpointer</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_button"
              c:identifier="mx_button_group_get_active_button">
        <doc xml:whitespace="preserve">Get the current active button</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the currently active button</doc>
          <type name="Button" c:type="MxButton*"/>
        </return-value>
      </method>
      <method name="get_allow_no_active"
              c:identifier="mx_button_group_get_allow_no_active">
        <doc xml:whitespace="preserve">Get the value of the #MxButtonGroup:allow-no-active property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the value of the "allow-no-active" property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_buttons" c:identifier="mx_button_group_get_buttons">
        <doc xml:whitespace="preserve">Get a list of the buttons in the button group.

owned by the #MxButtonGroup and should not be modified by the
application.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a list of buttons. The list is</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Button"/>
          </type>
        </return-value>
      </method>
      <method name="remove" c:identifier="mx_button_group_remove">
        <doc xml:whitespace="preserve">Remove @button from the #MxButtonGroup</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="button" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxButton</doc>
            <type name="Button" c:type="MxButton*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_active_button"
              c:identifier="mx_button_group_set_active_button">
        <doc xml:whitespace="preserve">Set the current active button in the group. The previous active button will
have #MxButton:toggled set to #FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="button" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">A #MxButton</doc>
            <type name="Button" c:type="MxButton*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allow_no_active"
              c:identifier="mx_button_group_set_allow_no_active">
        <doc xml:whitespace="preserve">Set the value of the #MxButtonGroup:allow-no-active property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="allow_no_active" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="active-button" writable="1" transfer-ownership="none">
        <type name="Button"/>
      </property>
      <property name="allow-no-active" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <field name="priv">
        <type name="ButtonGroupPrivate" c:type="MxButtonGroupPrivate*"/>
      </field>
    </class>
    <record name="ButtonGroupClass"
            c:type="MxButtonGroupClass"
            glib:is-gtype-struct-for="ButtonGroup">
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ButtonGroupPrivate"
            c:type="MxButtonGroupPrivate"
            disguised="1">
    </record>
    <record name="ButtonPrivate" c:type="MxButtonPrivate" disguised="1">
    </record>
    <class name="Clipboard"
           c:symbol-prefix="clipboard"
           c:type="MxClipboard"
           parent="GObject.Object"
           glib:type-name="MxClipboard"
           glib:get-type="mx_clipboard_get_type"
           glib:type-struct="ClipboardClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <function name="get_default" c:identifier="mx_clipboard_get_default">
        <doc xml:whitespace="preserve">Get the global #MxClipboard object that represents the clipboard.

unrefferenced or freed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #MxClipboard owned by Mx and must not be</doc>
          <type name="Clipboard" c:type="MxClipboard*"/>
        </return-value>
      </function>
      <method name="get_text" c:identifier="mx_clipboard_get_text">
        <doc xml:whitespace="preserve">Request the data from the clipboard in text form. @callback is executed
when the data is retreived.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="1">
            <doc xml:whitespace="preserve">function to be called when the text is retreived</doc>
            <type name="ClipboardCallbackFunc"
                  c:type="MxClipboardCallbackFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to be passed to the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="mx_clipboard_set_text">
        <doc xml:whitespace="preserve">Sets text as the current contents of the clipboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to copy to the clipboard</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ClipboardPrivate" c:type="MxClipboardPrivate*"/>
      </field>
    </class>
    <callback name="ClipboardCallbackFunc" c:type="MxClipboardCallbackFunc">
      <doc xml:whitespace="preserve">Callback function called when text is retrieved from the clipboard.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="clipboard" transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxClipboard</doc>
          <type name="Clipboard" c:type="MxClipboard*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <doc xml:whitespace="preserve">text from the clipboard</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <doc xml:whitespace="preserve">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ClipboardClass"
            c:type="MxClipboardClass"
            glib:is-gtype-struct-for="Clipboard">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ClipboardPrivate" c:type="MxClipboardPrivate" disguised="1">
    </record>
    <class name="ComboBox"
           c:symbol-prefix="combo_box"
           c:type="MxComboBox"
           parent="Widget"
           glib:type-name="MxComboBox"
           glib:get-type="mx_combo_box_get_type"
           glib:type-struct="ComboBoxClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_combo_box_new">
        <doc xml:whitespace="preserve">Create a new MxComboBox</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated MxComboBox</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="append_text" c:identifier="mx_combo_box_append_text">
        <doc xml:whitespace="preserve">Append an item to the combo box list</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the item</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_icon_name"
              c:identifier="mx_combo_box_get_active_icon_name">
        <doc xml:whitespace="preserve">Get the name of the icon displayed in the combo box

the combo box, or %NULL if there is no active icon.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the text string of the name of the displayed icon, owned by</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_active_text"
              c:identifier="mx_combo_box_get_active_text">
        <doc xml:whitespace="preserve">Get the text displayed in the combo box</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the text string, owned by the combo box</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_index" c:identifier="mx_combo_box_get_index">
        <doc xml:whitespace="preserve">Get the index of the last item selected</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">gint</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="insert_text" c:identifier="mx_combo_box_insert_text">
        <doc xml:whitespace="preserve">Insert an item into the combo box list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">zero indexed position to insert the item at</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the item</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_text_with_icon"
              c:identifier="mx_combo_box_insert_text_with_icon">
        <doc xml:whitespace="preserve">Insert an item with text and an icon into the combo box list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">zero indexed position to insert the item at</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the item</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of an icon from the icon theme</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_text" c:identifier="mx_combo_box_prepend_text">
        <doc xml:whitespace="preserve">Prepend an item to the combo box list</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the item</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all"
              c:identifier="mx_combo_box_remove_all"
              version="1.4">
        <doc xml:whitespace="preserve">Remove all the items of @box</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_text" c:identifier="mx_combo_box_remove_text">
        <doc xml:whitespace="preserve">Remove the item at @position</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">position of the item to remove</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_active_icon_name"
              c:identifier="mx_combo_box_set_active_icon_name">
        <doc xml:whitespace="preserve">Set the icon displayed in the combo box.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Icon name to use for displayed icon</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_active_text"
              c:identifier="mx_combo_box_set_active_text">
        <doc xml:whitespace="preserve">Set the text displayed in the combo box</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to display</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_index" c:identifier="mx_combo_box_set_index">
        <doc xml:whitespace="preserve">Set the current combo box text from the item at @index in the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <doc xml:whitespace="preserve">the index of the list item to set</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="active-icon-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="active-text" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="index" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ComboBoxPrivate" c:type="MxComboBoxPrivate*"/>
      </field>
    </class>
    <record name="ComboBoxClass"
            c:type="MxComboBoxClass"
            glib:is-gtype-struct-for="ComboBox">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ComboBoxPrivate" c:type="MxComboBoxPrivate" disguised="1">
    </record>
    <class name="DeformBowTie"
           c:symbol-prefix="deform_bow_tie"
           c:type="MxDeformBowTie"
           parent="DeformTexture"
           glib:type-name="MxDeformBowTie"
           glib:get-type="mx_deform_bow_tie_get_type"
           glib:type-struct="DeformBowTieClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_deform_bow_tie_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_flip_back"
              c:identifier="mx_deform_bow_tie_get_flip_back">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_period" c:identifier="mx_deform_bow_tie_get_period">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="set_flip_back"
              c:identifier="mx_deform_bow_tie_set_flip_back">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flip_back" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_period" c:identifier="mx_deform_bow_tie_set_period">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="period" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="flip-back" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="period" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <field name="parent">
        <type name="DeformTexture" c:type="MxDeformTexture"/>
      </field>
      <field name="priv">
        <type name="DeformBowTiePrivate" c:type="MxDeformBowTiePrivate*"/>
      </field>
    </class>
    <record name="DeformBowTieClass"
            c:type="MxDeformBowTieClass"
            glib:is-gtype-struct-for="DeformBowTie">
      <field name="parent_class">
        <type name="DeformTextureClass" c:type="MxDeformTextureClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="DeformBowTiePrivate"
            c:type="MxDeformBowTiePrivate"
            disguised="1">
    </record>
    <class name="DeformPageTurn"
           c:symbol-prefix="deform_page_turn"
           c:type="MxDeformPageTurn"
           parent="DeformTexture"
           glib:type-name="MxDeformPageTurn"
           glib:get-type="mx_deform_page_turn_get_type"
           glib:type-struct="DeformPageTurnClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_deform_page_turn_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_angle" c:identifier="mx_deform_page_turn_get_angle">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_period" c:identifier="mx_deform_page_turn_get_period">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_radius" c:identifier="mx_deform_page_turn_get_radius">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="set_angle" c:identifier="mx_deform_page_turn_set_angle">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="angle" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_period" c:identifier="mx_deform_page_turn_set_period">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="period" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_radius" c:identifier="mx_deform_page_turn_set_radius">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="radius" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="angle" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="period" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="radius" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <field name="parent">
        <type name="DeformTexture" c:type="MxDeformTexture"/>
      </field>
      <field name="priv">
        <type name="DeformPageTurnPrivate" c:type="MxDeformPageTurnPrivate*"/>
      </field>
    </class>
    <record name="DeformPageTurnClass"
            c:type="MxDeformPageTurnClass"
            glib:is-gtype-struct-for="DeformPageTurn">
      <field name="parent_class">
        <type name="DeformTextureClass" c:type="MxDeformTextureClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="DeformPageTurnPrivate"
            c:type="MxDeformPageTurnPrivate"
            disguised="1">
    </record>
    <class name="DeformTexture"
           c:symbol-prefix="deform_texture"
           c:type="MxDeformTexture"
           parent="Widget"
           abstract="1"
           glib:type-name="MxDeformTexture"
           glib:get-type="mx_deform_texture_get_type"
           glib:type-struct="DeformTextureClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <virtual-method name="deform">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="vertex" transfer-ownership="none">
            <type name="Cogl.TextureVertex" c:type="CoglTextureVertex*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_resolution"
              c:identifier="mx_deform_texture_get_resolution">
        <doc xml:whitespace="preserve">Retrieve the mesh resolution of the texture.
See mx_deform_texture_set_resolution().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tiles_x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <doc xml:whitespace="preserve">The horizontal resolution</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="tiles_y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <doc xml:whitespace="preserve">The vertical resolution</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_textures"
              c:identifier="mx_deform_texture_get_textures">
        <doc xml:whitespace="preserve">Retrieves the textures used by @texture.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="front"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">The front-facing texture</doc>
            <type name="Clutter.Texture" c:type="ClutterTexture**"/>
          </parameter>
          <parameter name="back"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">The back-facing texture</doc>
            <type name="Clutter.Texture" c:type="ClutterTexture**"/>
          </parameter>
        </parameters>
      </method>
      <method name="invalidate" c:identifier="mx_deform_texture_invalidate">
        <doc xml:whitespace="preserve">Make @texture re-calculate its vertices and redraw itself.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_resolution"
              c:identifier="mx_deform_texture_set_resolution">
        <doc xml:whitespace="preserve">Sets the amount of sub-divisions used on each axis when generating
the mesh, where a value of 1 for each axis will produce a single quad.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tiles_x" transfer-ownership="none">
            <doc xml:whitespace="preserve">The horizontal resolution</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="tiles_y" transfer-ownership="none">
            <doc xml:whitespace="preserve">The vertical resolution</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_textures"
              c:identifier="mx_deform_texture_set_textures">
        <doc xml:whitespace="preserve">Set textures to use as the sources of a deformation effect. Textures
must not be parented.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="front" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">#ClutterTexture to use for the front-face.</doc>
            <type name="Clutter.Texture" c:type="ClutterTexture*"/>
          </parameter>
          <parameter name="back" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">#ClutterTexture to use for the back-face.</doc>
            <type name="Clutter.Texture" c:type="ClutterTexture*"/>
          </parameter>
        </parameters>
      </method>
      <property name="back" writable="1" transfer-ownership="none">
        <type name="Clutter.Texture"/>
      </property>
      <property name="front" writable="1" transfer-ownership="none">
        <type name="Clutter.Texture"/>
      </property>
      <property name="tiles-x" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="tiles-y" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="parent">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv">
        <type name="DeformTexturePrivate" c:type="MxDeformTexturePrivate*"/>
      </field>
    </class>
    <record name="DeformTextureClass"
            c:type="MxDeformTextureClass"
            glib:is-gtype-struct-for="DeformTexture">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="deform">
        <callback name="deform">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="texture" transfer-ownership="none">
              <type name="DeformTexture" c:type="MxDeformTexture*"/>
            </parameter>
            <parameter name="vertex" transfer-ownership="none">
              <type name="Cogl.TextureVertex" c:type="CoglTextureVertex*"/>
            </parameter>
            <parameter name="width" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="DeformTexturePrivate"
            c:type="MxDeformTexturePrivate"
            disguised="1">
    </record>
    <class name="DeformWaves"
           c:symbol-prefix="deform_waves"
           c:type="MxDeformWaves"
           parent="DeformTexture"
           glib:type-name="MxDeformWaves"
           glib:get-type="mx_deform_waves_get_type"
           glib:type-struct="DeformWavesClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_deform_waves_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_amplitude"
              c:identifier="mx_deform_waves_get_amplitude">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_angle" c:identifier="mx_deform_waves_get_angle">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_period" c:identifier="mx_deform_waves_get_period">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_radius" c:identifier="mx_deform_waves_get_radius">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="set_amplitude"
              c:identifier="mx_deform_waves_set_amplitude">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="amplitude" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_angle" c:identifier="mx_deform_waves_set_angle">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="angle" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_period" c:identifier="mx_deform_waves_set_period">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="period" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_radius" c:identifier="mx_deform_waves_set_radius">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="radius" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="amplitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="angle" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="period" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="radius" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <field name="parent">
        <type name="DeformTexture" c:type="MxDeformTexture"/>
      </field>
      <field name="priv">
        <type name="DeformWavesPrivate" c:type="MxDeformWavesPrivate*"/>
      </field>
    </class>
    <record name="DeformWavesClass"
            c:type="MxDeformWavesClass"
            glib:is-gtype-struct-for="DeformWaves">
      <field name="parent_class">
        <type name="DeformTextureClass" c:type="MxDeformTextureClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="DeformWavesPrivate"
            c:type="MxDeformWavesPrivate"
            disguised="1">
    </record>
    <class name="Dialog"
           c:symbol-prefix="dialog"
           c:type="MxDialog"
           parent="Bin"
           glib:type-name="MxDialog"
           glib:get-type="mx_dialog_get_type"
           glib:type-struct="DialogClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_dialog_new" version="1.2">
        <doc xml:whitespace="preserve">Creates a new #MxDialog.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A newly allocated #MxDialog</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="add_action"
              c:identifier="mx_dialog_add_action"
              version="1.2">
        <doc xml:whitespace="preserve">Adds an #MxButton that represents @action to the button area of @dialog</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxAction</doc>
            <type name="Action" c:type="MxAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actions"
              c:identifier="mx_dialog_get_actions"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves a list of actions added to @dialog.

#GList of #MxAction objects. The actions in the list are owned by the
dialog.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">A newly allocated</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Action"/>
          </type>
        </return-value>
      </method>
      <method name="remove_action"
              c:identifier="mx_dialog_remove_action"
              version="1.2">
        <doc xml:whitespace="preserve">Removes the button associated with @action from the button area of @dialog</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxAction</doc>
            <type name="Action" c:type="MxAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transient_parent"
              c:identifier="mx_dialog_set_transient_parent"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the parent of the #MxDialog. This is the actor over which the
modal frame will appear when clutter_actor_show() is called.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DialogPrivate" c:type="MxDialogPrivate*"/>
      </field>
    </class>
    <record name="DialogClass"
            c:type="MxDialogClass"
            glib:is-gtype-struct-for="Dialog">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
    </record>
    <record name="DialogPrivate" c:type="MxDialogPrivate" disguised="1">
    </record>
    <enumeration name="DragAxis"
                 glib:type-name="MxDragAxis"
                 glib:get-type="mx_drag_axis_get_type"
                 c:type="MxDragAxis">
      <member name="none"
              value="0"
              c:identifier="MX_DRAG_AXIS_NONE"
              glib:nick="none"/>
      <member name="x" value="1" c:identifier="MX_DRAG_AXIS_X" glib:nick="x"/>
      <member name="y" value="2" c:identifier="MX_DRAG_AXIS_Y" glib:nick="y"/>
    </enumeration>
    <interface name="Draggable"
               c:symbol-prefix="draggable"
               c:type="MxDraggable"
               glib:type-name="MxDraggable"
               glib:get-type="mx_draggable_get_type"
               glib:type-struct="DraggableIface">
      <doc xml:whitespace="preserve">This is an opaque structure whose members cannot be directly accessed.</doc>
      <prerequisite name="Clutter.Actor"/>
      <virtual-method name="disable" invoker="disable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="drag_begin">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event_x" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="event_y" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="event_button" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <type name="Clutter.ModifierType" c:type="ClutterModifierType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drag_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event_x" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="event_y" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drag_motion">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="delta_x" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="delta_y" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="enable" invoker="enable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="disable" c:identifier="mx_draggable_disable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="enable" c:identifier="mx_draggable_enable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_axis" c:identifier="mx_draggable_get_axis">
        <return-value transfer-ownership="none">
          <type name="DragAxis" c:type="MxDragAxis"/>
        </return-value>
      </method>
      <method name="get_drag_actor" c:identifier="mx_draggable_get_drag_actor">
        <doc xml:whitespace="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #ClutterActor, or %NULL</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_drag_threshold"
              c:identifier="mx_draggable_get_drag_threshold">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="is_enabled" c:identifier="mx_draggable_is_enabled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_axis" c:identifier="mx_draggable_set_axis">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="axis" transfer-ownership="none">
            <type name="DragAxis" c:type="MxDragAxis"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_drag_actor" c:identifier="mx_draggable_set_drag_actor">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_drag_threshold"
              c:identifier="mx_draggable_set_drag_threshold">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="threshold" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="axis" writable="1" transfer-ownership="none">
        <type name="DragAxis"/>
      </property>
      <property name="drag-actor" writable="1" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="drag-enabled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="drag-threshold" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <glib:signal name="drag-begin" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="Clutter.ModifierType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drag-end" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drag-motion" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="DraggableIface"
            c:type="MxDraggableIface"
            glib:is-gtype-struct-for="Draggable">
      <doc xml:whitespace="preserve">Interface for draggable #ClutterActor&lt;!-- --&gt;s.</doc>
      <field name="g_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="enable">
        <callback name="enable">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="disable">
        <callback name="disable">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drag_begin">
        <callback name="drag_begin">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
            <parameter name="event_x" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="event_y" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="event_button" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="modifiers" transfer-ownership="none">
              <type name="Clutter.ModifierType" c:type="ClutterModifierType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drag_motion">
        <callback name="drag_motion">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
            <parameter name="delta_x" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="delta_y" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drag_end">
        <callback name="drag_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
            <parameter name="event_x" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="event_y" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Droppable"
               c:symbol-prefix="droppable"
               c:type="MxDroppable"
               glib:type-name="MxDroppable"
               glib:get-type="mx_droppable_get_type"
               glib:type-struct="DroppableIface">
      <doc xml:whitespace="preserve">This is an opaque structure whose members cannot be directly accessed.</doc>
      <prerequisite name="Clutter.Actor"/>
      <virtual-method name="accept_drop" invoker="accept_drop">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="draggable" transfer-ownership="none">
            <type name="Draggable" c:type="MxDraggable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="disable" invoker="disable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="drop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="draggable" transfer-ownership="none">
            <type name="Draggable" c:type="MxDraggable*"/>
          </parameter>
          <parameter name="event_x" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="event_y" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="button" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <type name="Clutter.ModifierType" c:type="ClutterModifierType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="enable" invoker="enable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="over_in">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="draggable" transfer-ownership="none">
            <type name="Draggable" c:type="MxDraggable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="over_out">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="draggable" transfer-ownership="none">
            <type name="Draggable" c:type="MxDraggable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="accept_drop" c:identifier="mx_droppable_accept_drop">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="draggable" transfer-ownership="none">
            <type name="Draggable" c:type="MxDraggable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="disable" c:identifier="mx_droppable_disable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="enable" c:identifier="mx_droppable_enable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="is_enabled" c:identifier="mx_droppable_is_enabled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="drop-enabled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <glib:signal name="drop" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Clutter.Actor"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p3" transfer-ownership="none">
            <type name="Clutter.ModifierType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="over-in" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="over-out" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="DroppableIface"
            c:type="MxDroppableIface"
            glib:is-gtype-struct-for="Droppable">
      <field name="g_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="enable">
        <callback name="enable">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="droppable" transfer-ownership="none">
              <type name="Droppable" c:type="MxDroppable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="disable">
        <callback name="disable">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="droppable" transfer-ownership="none">
              <type name="Droppable" c:type="MxDroppable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="accept_drop">
        <callback name="accept_drop">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="droppable" transfer-ownership="none">
              <type name="Droppable" c:type="MxDroppable*"/>
            </parameter>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="over_in">
        <callback name="over_in">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="droppable" transfer-ownership="none">
              <type name="Droppable" c:type="MxDroppable*"/>
            </parameter>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="over_out">
        <callback name="over_out">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="droppable" transfer-ownership="none">
              <type name="Droppable" c:type="MxDroppable*"/>
            </parameter>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drop">
        <callback name="drop">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="droppable" transfer-ownership="none">
              <type name="Droppable" c:type="MxDroppable*"/>
            </parameter>
            <parameter name="draggable" transfer-ownership="none">
              <type name="Draggable" c:type="MxDraggable*"/>
            </parameter>
            <parameter name="event_x" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="event_y" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="button" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="modifiers" transfer-ownership="none">
              <type name="Clutter.ModifierType" c:type="ClutterModifierType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Entry"
           c:symbol-prefix="entry"
           c:type="MxEntry"
           parent="Widget"
           glib:type-name="MxEntry"
           glib:get-type="mx_entry_get_type"
           glib:type-struct="EntryClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_entry_new">
        <doc xml:whitespace="preserve">Create a new #MxEntry</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxEntry</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_text" c:identifier="mx_entry_new_with_text">
        <doc xml:whitespace="preserve">Create a new #MxEntry with the specified entry</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxEntry</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set the entry to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="primary_icon_clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="secondary_icon_clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_clutter_text" c:identifier="mx_entry_get_clutter_text">
        <doc xml:whitespace="preserve">Retrieve the internal #ClutterText so that extra parameters can be set

owned by the #MxEntry and should not be unref'ed by the application.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #ClutterText used by #MxEntry. The entry is</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_hint_text" c:identifier="mx_entry_get_hint_text">
        <doc xml:whitespace="preserve">Gets the text that is displayed when the entry is empty and unfocused

#MxEntry and should not be freed or modified.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the hint property. This string is owned by the</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_icon_highlight_suffix"
              c:identifier="mx_entry_get_icon_highlight_suffix">
        <doc xml:whitespace="preserve">Get the suffix appended to the filename to use for the highlighted version
of the icon.

#MxEntry and should not be freed or modified.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the highlight filename suffix. This string is owned by the</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_password_char"
              c:identifier="mx_entry_get_password_char">
        <doc xml:whitespace="preserve">Gets the character to display instead of the text.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a character, or 0 if input should not be hidden.</doc>
          <type name="gunichar" c:type="gunichar"/>
        </return-value>
      </method>
      <method name="get_text" c:identifier="mx_entry_get_text">
        <doc xml:whitespace="preserve">Get the text displayed on the entry</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the text for the entry. This must not be freed by the application</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_hint_text" c:identifier="mx_entry_set_hint_text">
        <doc xml:whitespace="preserve">Sets the text to display when the entry is empty and unfocused. When the
entry is displaying the hint, it has a pseudo class of "indeterminate".
A value of NULL unsets the hint.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set as the entry hint</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_highlight_suffix"
              c:identifier="mx_entry_set_icon_highlight_suffix">
        <doc xml:whitespace="preserve">Sets the suffix appended to the filename to use for the highlighted version
of the icon. e.g. if you have set your primay icon to "primary-icon.png" 
and the suffix to "-highlight" #MxEntry will look for
"primary-icon-highlight.png"</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="suffix" transfer-ownership="none">
            <doc xml:whitespace="preserve">the suffix to append to the filename for the highlight version</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_char"
              c:identifier="mx_entry_set_password_char">
        <doc xml:whitespace="preserve">Sets the character to display instead of the text. Use 0 to display
the actual text.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="password_char" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set as the entry hint</doc>
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_primary_icon_from_file"
              c:identifier="mx_entry_set_primary_icon_from_file">
        <doc xml:whitespace="preserve">Set the primary icon of the entry to the given filename</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">filename of an icon</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_primary_icon_tooltip_text"
              c:identifier="mx_entry_set_primary_icon_tooltip_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_secondary_icon_from_file"
              c:identifier="mx_entry_set_secondary_icon_from_file">
        <doc xml:whitespace="preserve">Set the primary icon of the entry to the given filename</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">filename of an icon</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_secondary_icon_tooltip_text"
              c:identifier="mx_entry_set_secondary_icon_tooltip_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="mx_entry_set_text">
        <doc xml:whitespace="preserve">Sets the text displayed on the entry</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set the entry to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="clutter-text" transfer-ownership="none">
        <type name="Clutter.Text"/>
      </property>
      <property name="hint-text" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="icon-highlight-suffix"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="password-char" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="primary-icon-tooltip-text"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="secondary-icon-tooltip-text"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="text" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="EntryPrivate" c:type="MxEntryPrivate*"/>
      </field>
      <glib:signal name="primary-icon-clicked" when="last">
        <doc xml:whitespace="preserve">Emitted when the primary icon is clicked</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="secondary-icon-clicked" when="last">
        <doc xml:whitespace="preserve">Emitted when the secondary icon is clicked</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="EntryClass"
            c:type="MxEntryClass"
            glib:is-gtype-struct-for="Entry">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="primary_icon_clicked">
        <callback name="primary_icon_clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="entry" transfer-ownership="none">
              <type name="Entry" c:type="MxEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="secondary_icon_clicked">
        <callback name="secondary_icon_clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="entry" transfer-ownership="none">
              <type name="Entry" c:type="MxEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="EntryPrivate" c:type="MxEntryPrivate" disguised="1">
    </record>
    <class name="Expander"
           c:symbol-prefix="expander"
           c:type="MxExpander"
           parent="Bin"
           glib:type-name="MxExpander"
           glib:get-type="mx_expander_get_type"
           glib:type-struct="ExpanderClass">
      <doc xml:whitespace="preserve">The contents of the this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_expander_new">
        <doc xml:whitespace="preserve">Creates a new #MxExpander</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the newly allocated #MxExpander</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <virtual-method name="expand_complete">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_expanded" c:identifier="mx_expander_get_expanded">
        <doc xml:whitespace="preserve">Get the current state of the expander (the value of #MxExpander:expanded)</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the expander is open, #FALSE if it is closed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_expanded" c:identifier="mx_expander_set_expanded">
        <doc xml:whitespace="preserve">Set the state (the #MxExpander:expanded property) of the expander. 
This will cause the expander to open or close.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="expanded" transfer-ownership="none">
            <doc xml:whitespace="preserve">the state of the expander to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label" c:identifier="mx_expander_set_label">
        <doc xml:whitespace="preserve">Sets the text displayed as the title of the expander</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none">
            <doc xml:whitespace="preserve">string to set as the expander label</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="expanded" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ExpanderPrivate" c:type="MxExpanderPrivate*"/>
      </field>
      <glib:signal name="expand-complete" when="last">
        <doc xml:whitespace="preserve">Emitted after the expand animation finishes. Check the "expanded" property
of the #MxExpander to determine if the expander is expanded or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ExpanderClass"
            c:type="MxExpanderClass"
            glib:is-gtype-struct-for="Expander">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
      <field name="expand_complete">
        <callback name="expand_complete">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="expander" transfer-ownership="none">
              <type name="Expander" c:type="MxExpander*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ExpanderPrivate" c:type="MxExpanderPrivate" disguised="1">
    </record>
    <class name="FadeEffect"
           c:symbol-prefix="fade_effect"
           c:type="MxFadeEffect"
           parent="Clutter.OffscreenEffect"
           glib:type-name="MxFadeEffect"
           glib:get-type="mx_fade_effect_get_type"
           glib:type-struct="FadeEffectClass">
      <constructor name="new" c:identifier="mx_fade_effect_new" version="1.2">
        <doc xml:whitespace="preserve">Creates a new #MxFadeEffect to be used with clutter_actor_add_effect().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the newly created #MxFadeEffect, or %NULL</doc>
          <type name="Clutter.Effect" c:type="ClutterEffect*"/>
        </return-value>
      </constructor>
      <method name="get_border"
              c:identifier="mx_fade_effect_get_border"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the border values for @effect.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="top"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The upper border, in pixels</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="right"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The right border, in pixels</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="bottom"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The lower border, in pixels</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="left"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The left border, in pixels</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_bounds"
              c:identifier="mx_fade_effect_get_bounds"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the bounding box of the effect.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The x value of the effect bounds, in pixels</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The y value of the effect bounds, in pixels</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The width of the effect bounds, in pixels, or %0</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">The height of the effect bounds, in pixels, or %0</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_color"
              c:identifier="mx_fade_effect_get_color"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the color used for the fade effect.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterColor to store the color in</doc>
            <type name="Clutter.Color" c:type="ClutterColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_border"
              c:identifier="mx_fade_effect_set_border"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the border to be used for the fading effect. This is the number of
pixels on each side of the effect that should be used to fade.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="top" transfer-ownership="none">
            <doc xml:whitespace="preserve">The upper border, in pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="right" transfer-ownership="none">
            <doc xml:whitespace="preserve">The right border, in pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="bottom" transfer-ownership="none">
            <doc xml:whitespace="preserve">The lower border, in pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="left" transfer-ownership="none">
            <doc xml:whitespace="preserve">The left border, in pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bounds"
              c:identifier="mx_fade_effect_set_bounds"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the bounding box of the effect. The effect will essentially treat
this box as a clipping rectangle. Setting width or height to %0 will
use the width or height of the #ClutterActor the effect is attached to.

&lt;note&gt;&lt;para&gt;
The effect border will apply to the bounds, and not to the un-altered
rectangle, so an effect with an %x of %5 and a %left-border of %5 will
have a gap of 5 blank pixels to the left, with a fade length of 5 pixels.
&lt;/para&gt;&lt;/note&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x" transfer-ownership="none">
            <doc xml:whitespace="preserve">The x value of the effect bounds, in pixels</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:whitespace="preserve">The y value of the effect bounds, in pixels</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:whitespace="preserve">The width of the effect bounds, in pixels, or %0</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:whitespace="preserve">The height of the effect bounds, in pixels, or %0</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color"
              c:identifier="mx_fade_effect_set_color"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the color of the fade effect. The effect will fade out towards
the set border to this color.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="color" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterColor</doc>
            <type name="Clutter.Color" c:type="ClutterColor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="border-bottom" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="border-left" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="border-right" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="border-top" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="bounds-height" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="bounds-width" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="bounds-x" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="bounds-y" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="color" writable="1" transfer-ownership="none">
        <type name="Clutter.Color"/>
      </property>
      <property name="freeze-update" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Clutter.OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
      <field name="priv">
        <type name="FadeEffectPrivate" c:type="MxFadeEffectPrivate*"/>
      </field>
    </class>
    <record name="FadeEffectClass"
            c:type="MxFadeEffectClass"
            glib:is-gtype-struct-for="FadeEffect">
      <field name="parent_class">
        <type name="Clutter.OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
    </record>
    <record name="FadeEffectPrivate"
            c:type="MxFadeEffectPrivate"
            disguised="1">
    </record>
    <class name="FloatingWidget"
           c:symbol-prefix="floating_widget"
           c:type="MxFloatingWidget"
           parent="Widget"
           abstract="1"
           glib:type-name="MxFloatingWidget"
           glib:get-type="mx_floating_widget_get_type"
           glib:type-struct="FloatingWidgetClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <field name="parent">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv">
        <type name="FloatingWidgetPrivate" c:type="MxFloatingWidgetPrivate*"/>
      </field>
    </class>
    <record name="FloatingWidgetClass"
            c:type="MxFloatingWidgetClass"
            glib:is-gtype-struct-for="FloatingWidget">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="floating_pick">
        <callback name="floating_pick">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Clutter.Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="color" transfer-ownership="none">
              <type name="Clutter.Color" c:type="ClutterColor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="floating_paint">
        <callback name="floating_paint">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Clutter.Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="FloatingWidgetPrivate"
            c:type="MxFloatingWidgetPrivate"
            disguised="1">
    </record>
    <enumeration name="FocusDirection"
                 glib:type-name="MxFocusDirection"
                 glib:get-type="mx_focus_direction_get_type"
                 c:type="MxFocusDirection">
      <member name="out"
              value="0"
              c:identifier="MX_FOCUS_DIRECTION_OUT"
              glib:nick="out"/>
      <member name="up"
              value="1"
              c:identifier="MX_FOCUS_DIRECTION_UP"
              glib:nick="up"/>
      <member name="down"
              value="2"
              c:identifier="MX_FOCUS_DIRECTION_DOWN"
              glib:nick="down"/>
      <member name="left"
              value="3"
              c:identifier="MX_FOCUS_DIRECTION_LEFT"
              glib:nick="left"/>
      <member name="right"
              value="4"
              c:identifier="MX_FOCUS_DIRECTION_RIGHT"
              glib:nick="right"/>
      <member name="next"
              value="5"
              c:identifier="MX_FOCUS_DIRECTION_NEXT"
              glib:nick="next"/>
      <member name="previous"
              value="6"
              c:identifier="MX_FOCUS_DIRECTION_PREVIOUS"
              glib:nick="previous"/>
    </enumeration>
    <enumeration name="FocusHint"
                 glib:type-name="MxFocusHint"
                 glib:get-type="mx_focus_hint_get_type"
                 c:type="MxFocusHint">
      <member name="first"
              value="0"
              c:identifier="MX_FOCUS_HINT_FIRST"
              glib:nick="first"/>
      <member name="last"
              value="1"
              c:identifier="MX_FOCUS_HINT_LAST"
              glib:nick="last"/>
      <member name="prior"
              value="2"
              c:identifier="MX_FOCUS_HINT_PRIOR"
              glib:nick="prior"/>
      <member name="from_above"
              value="3"
              c:identifier="MX_FOCUS_HINT_FROM_ABOVE"
              glib:nick="from-above"/>
      <member name="from_below"
              value="4"
              c:identifier="MX_FOCUS_HINT_FROM_BELOW"
              glib:nick="from-below"/>
      <member name="from_left"
              value="5"
              c:identifier="MX_FOCUS_HINT_FROM_LEFT"
              glib:nick="from-left"/>
      <member name="from_right"
              value="6"
              c:identifier="MX_FOCUS_HINT_FROM_RIGHT"
              glib:nick="from-right"/>
      <function name="from_direction"
                c:identifier="mx_focus_hint_from_direction"
                version="1.2">
        <doc xml:whitespace="preserve">Transforms a focus direction to a focus hint. This is a convenience
function for actors that implement the #MxFocusable interface, to
pass the correct #MxFocusHint to their children when calling
mx_focusable_accept_focus().

%MX_FOCUS_DIRECTION_UP maps to %MX_FOCUS_HINT_FROM_BELOW,
%MX_FOCUS_DIRECTION_DOWN maps to %MX_FOCUS_HINT_FROM_ABOVE,
%MX_FOCUS_DIRECTION_LEFT maps to %MX_FOCUS_HINT_FROM_RIGHT,
%MX_FOCUS_DIRECTION_RIGHT maps to %MX_FOCUS_HINT_FROM_LEFT,
%MX_FOCUS_DIRECTION_NEXT maps to %MX_FOCUS_HINT_FIRST,
%MX_FOCUS_DIRECTION_PREVIOUS maps to %MX_FOCUS_HINT_LAST and
anything else maps to %MX_FOCUS_HINT_PRIOR.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxFocusHint</doc>
          <type name="FocusHint" c:type="MxFocusHint"/>
        </return-value>
        <parameters>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxFocusDirection</doc>
            <type name="FocusDirection" c:type="MxFocusDirection"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <class name="FocusManager"
           c:symbol-prefix="focus_manager"
           c:type="MxFocusManager"
           parent="GObject.Object"
           glib:type-name="MxFocusManager"
           glib:get-type="mx_focus_manager_get_type"
           glib:type-struct="FocusManagerClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <function name="get_for_stage"
                c:identifier="mx_focus_manager_get_for_stage">
        <doc xml:whitespace="preserve">Get the MxFocusManager associated with a stage, or create one if none exist
for the specified stage.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxFocusManager</doc>
          <type name="FocusManager" c:type="MxFocusManager*"/>
        </return-value>
        <parameters>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterStage</doc>
            <type name="Clutter.Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_focused" c:identifier="mx_focus_manager_get_focused">
        <doc xml:whitespace="preserve">Get the currently focused #MxFocusable</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">MxFocusable</doc>
          <type name="Focusable" c:type="MxFocusable*"/>
        </return-value>
      </method>
      <method name="get_stage" c:identifier="mx_focus_manager_get_stage">
        <doc xml:whitespace="preserve">Get the stage the MxFocusManager is associated with</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #ClutterStage</doc>
          <type name="Clutter.Stage" c:type="ClutterStage*"/>
        </return-value>
      </method>
      <method name="move_focus" c:identifier="mx_focus_manager_move_focus">
        <doc xml:whitespace="preserve">Moves the current focus in the given direction.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:whitespace="preserve">The direction to move focus in</doc>
            <type name="FocusDirection" c:type="MxFocusDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_focus" c:identifier="mx_focus_manager_push_focus">
        <doc xml:whitespace="preserve">Sets the currently focused actor, with an #MxFocusHint of
%MX_FOCUS_HINT_PRIOR.

Note: the final focused object may not be the same as @focusable if
@focusable does not accept focus directly.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="focusable" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object to set focus on</doc>
            <type name="Focusable" c:type="MxFocusable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_focus_with_hint"
              c:identifier="mx_focus_manager_push_focus_with_hint"
              version="1.2">
        <doc xml:whitespace="preserve">Similar to #mx_focus_manager_push_focus, but allows the hint to be specified.

Note: the final focused object may not be the same as @focusable if
@focusable does not accept focus directly.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="focusable" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object to set focus on</doc>
            <type name="Focusable" c:type="MxFocusable*"/>
          </parameter>
          <parameter name="hint" transfer-ownership="none">
            <doc xml:whitespace="preserve">an #MxFocusHint</doc>
            <type name="FocusHint" c:type="MxFocusHint"/>
          </parameter>
        </parameters>
      </method>
      <property name="focused" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="stage" transfer-ownership="none">
        <type name="Clutter.Stage"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="FocusManagerPrivate" c:type="MxFocusManagerPrivate*"/>
      </field>
    </class>
    <record name="FocusManagerClass"
            c:type="MxFocusManagerClass"
            glib:is-gtype-struct-for="FocusManager">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="FocusManagerPrivate"
            c:type="MxFocusManagerPrivate"
            disguised="1">
    </record>
    <interface name="Focusable"
               c:symbol-prefix="focusable"
               c:type="MxFocusable"
               glib:type-name="MxFocusable"
               glib:get-type="mx_focusable_get_type"
               glib:type-struct="FocusableIface">
      <doc xml:whitespace="preserve">This is an opaque structure whose members cannot be directly accessed.</doc>
      <virtual-method name="accept_focus" invoker="accept_focus">
        <doc xml:whitespace="preserve">Accept the focus</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the focusable</doc>
          <type name="Focusable" c:type="MxFocusable*"/>
        </return-value>
        <parameters>
          <parameter name="hint" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxFocusHint</doc>
            <type name="FocusHint" c:type="MxFocusHint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="move_focus" invoker="move_focus">
        <doc xml:whitespace="preserve">Move the focus</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the newly focused focusable</doc>
          <type name="Focusable" c:type="MxFocusable*"/>
        </return-value>
        <parameters>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxFocusDirection</doc>
            <type name="FocusDirection" c:type="MxFocusDirection"/>
          </parameter>
          <parameter name="from" transfer-ownership="none">
            <doc xml:whitespace="preserve">focusable to move the focus from</doc>
            <type name="Focusable" c:type="MxFocusable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="accept_focus" c:identifier="mx_focusable_accept_focus">
        <doc xml:whitespace="preserve">Accept the focus</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the focusable</doc>
          <type name="Focusable" c:type="MxFocusable*"/>
        </return-value>
        <parameters>
          <parameter name="hint" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxFocusHint</doc>
            <type name="FocusHint" c:type="MxFocusHint"/>
          </parameter>
        </parameters>
      </method>
      <method name="move_focus" c:identifier="mx_focusable_move_focus">
        <doc xml:whitespace="preserve">Move the focus</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the newly focused focusable</doc>
          <type name="Focusable" c:type="MxFocusable*"/>
        </return-value>
        <parameters>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxFocusDirection</doc>
            <type name="FocusDirection" c:type="MxFocusDirection"/>
          </parameter>
          <parameter name="from" transfer-ownership="none">
            <doc xml:whitespace="preserve">focusable to move the focus from</doc>
            <type name="Focusable" c:type="MxFocusable*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="FocusableIface"
            c:type="MxFocusableIface"
            glib:is-gtype-struct-for="Focusable">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="accept_focus">
        <callback name="accept_focus">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the focusable</doc>
            <type name="Focusable" c:type="MxFocusable*"/>
          </return-value>
          <parameters>
            <parameter name="focusable" transfer-ownership="none">
              <type name="Focusable" c:type="MxFocusable*"/>
            </parameter>
            <parameter name="hint" transfer-ownership="none">
              <doc xml:whitespace="preserve">A #MxFocusHint</doc>
              <type name="FocusHint" c:type="MxFocusHint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="move_focus">
        <callback name="move_focus">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the newly focused focusable</doc>
            <type name="Focusable" c:type="MxFocusable*"/>
          </return-value>
          <parameters>
            <parameter name="focusable" transfer-ownership="none">
              <type name="Focusable" c:type="MxFocusable*"/>
            </parameter>
            <parameter name="direction" transfer-ownership="none">
              <doc xml:whitespace="preserve">A #MxFocusDirection</doc>
              <type name="FocusDirection" c:type="MxFocusDirection"/>
            </parameter>
            <parameter name="from" transfer-ownership="none">
              <doc xml:whitespace="preserve">focusable to move the focus from</doc>
              <type name="Focusable" c:type="MxFocusable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="FontWeight"
                 glib:type-name="MxFontWeight"
                 glib:get-type="mx_font_weight_get_type"
                 c:type="MxFontWeight">
      <doc xml:whitespace="preserve">Support values of font weight</doc>
      <member name="normal"
              value="0"
              c:identifier="MX_FONT_WEIGHT_NORMAL"
              glib:nick="normal"/>
      <member name="bold"
              value="1"
              c:identifier="MX_FONT_WEIGHT_BOLD"
              glib:nick="bold"/>
      <member name="bolder"
              value="2"
              c:identifier="MX_FONT_WEIGHT_BOLDER"
              glib:nick="bolder"/>
      <member name="lighter"
              value="3"
              c:identifier="MX_FONT_WEIGHT_LIGHTER"
              glib:nick="lighter"/>
      <function name="set_from_string"
                c:identifier="mx_font_weight_set_from_string">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
          <parameter name="str" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <class name="Frame"
           c:symbol-prefix="frame"
           c:type="MxFrame"
           parent="Bin"
           glib:type-name="MxFrame"
           glib:get-type="mx_frame_get_type"
           glib:type-struct="FrameClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_frame_new">
        <doc xml:whitespace="preserve">Create a new #MxFrame</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxFrame</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv">
        <type name="FramePrivate" c:type="MxFramePrivate*"/>
      </field>
    </class>
    <record name="FrameClass"
            c:type="MxFrameClass"
            glib:is-gtype-struct-for="Frame">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="FramePrivate" c:type="MxFramePrivate" disguised="1">
    </record>
    <class name="Grid"
           c:symbol-prefix="grid"
           c:type="MxGrid"
           parent="Widget"
           glib:type-name="MxGrid"
           glib:get-type="mx_grid_get_type"
           glib:type-struct="GridClass">
      <doc xml:whitespace="preserve">The contents of the this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Scrollable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_grid_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_child_x_align"
              c:identifier="mx_grid_get_child_x_align">
        <return-value transfer-ownership="none">
          <type name="Align" c:type="MxAlign"/>
        </return-value>
      </method>
      <method name="get_child_y_align"
              c:identifier="mx_grid_get_child_y_align">
        <return-value transfer-ownership="none">
          <type name="Align" c:type="MxAlign"/>
        </return-value>
      </method>
      <method name="get_column_spacing"
              c:identifier="mx_grid_get_column_spacing">
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
      </method>
      <method name="get_homogenous_columns"
              c:identifier="mx_grid_get_homogenous_columns">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_homogenous_rows"
              c:identifier="mx_grid_get_homogenous_rows">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_line_alignment"
              c:identifier="mx_grid_get_line_alignment">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_max_stride" c:identifier="mx_grid_get_max_stride">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_orientation" c:identifier="mx_grid_get_orientation">
        <return-value transfer-ownership="none">
          <type name="Orientation" c:type="MxOrientation"/>
        </return-value>
      </method>
      <method name="get_row_spacing" c:identifier="mx_grid_get_row_spacing">
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
      </method>
      <method name="set_child_x_align"
              c:identifier="mx_grid_set_child_x_align">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_y_align"
              c:identifier="mx_grid_set_child_y_align">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_column_spacing"
              c:identifier="mx_grid_set_column_spacing">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogenous_columns"
              c:identifier="mx_grid_set_homogenous_columns">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogenous_rows"
              c:identifier="mx_grid_set_homogenous_rows">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_alignment"
              c:identifier="mx_grid_set_line_alignment">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_stride" c:identifier="mx_grid_set_max_stride">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation" c:identifier="mx_grid_set_orientation">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <type name="Orientation" c:type="MxOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row_spacing" c:identifier="mx_grid_set_row_spacing">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <property name="child-x-align"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="child-y-align"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="column-spacing"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="homogenous-columns"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="homogenous-rows"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="line-alignment"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="max-stride"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="orientation"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Orientation"/>
      </property>
      <property name="row-spacing"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="GridPrivate" c:type="MxGridPrivate*"/>
      </field>
    </class>
    <record name="GridClass"
            c:type="MxGridClass"
            glib:is-gtype-struct-for="Grid">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="GridPrivate" c:type="MxGridPrivate" disguised="1">
    </record>
    <class name="Icon"
           c:symbol-prefix="icon"
           c:type="MxIcon"
           parent="Widget"
           glib:type-name="MxIcon"
           glib:get-type="mx_icon_get_type"
           glib:type-struct="IconClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_icon_new">
        <doc xml:whitespace="preserve">Create a newly allocated #MxIcon</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A newly allocated #MxIcon</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_icon_name" c:identifier="mx_icon_get_icon_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_icon_size" c:identifier="mx_icon_get_icon_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="set_icon_name" c:identifier="mx_icon_set_icon_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_size" c:identifier="mx_icon_set_icon_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="icon-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="icon-size" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="IconPrivate" c:type="MxIconPrivate*"/>
      </field>
    </class>
    <record name="IconClass"
            c:type="MxIconClass"
            glib:is-gtype-struct-for="Icon">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="IconPrivate" c:type="MxIconPrivate" disguised="1">
    </record>
    <class name="IconTheme"
           c:symbol-prefix="icon_theme"
           c:type="MxIconTheme"
           parent="GObject.Object"
           glib:type-name="MxIconTheme"
           glib:get-type="mx_icon_theme_get_type"
           glib:type-struct="IconThemeClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <constructor name="new" c:identifier="mx_icon_theme_new">
        <doc xml:whitespace="preserve">Create a new #MxIconTheme. In most cicumstances, it is more useful to use
#mx_icon_theme_get_default to load the default icon theme.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly allocated #MxIconTheme.</doc>
          <type name="IconTheme" c:type="MxIconTheme*"/>
        </return-value>
      </constructor>
      <function name="get_default" c:identifier="mx_icon_theme_get_default">
        <doc xml:whitespace="preserve">Return the default #MxIconTheme object used by the toolkit.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">an #MxIconTheme.</doc>
          <type name="IconTheme" c:type="MxIconTheme*"/>
        </return-value>
      </function>
      <method name="get_search_paths"
              c:identifier="mx_icon_theme_get_search_paths">
        <doc xml:whitespace="preserve">Gets the directories the #MxIconTheme will search in to find icons.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the search paths</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
      <method name="get_theme_name"
              c:identifier="mx_icon_theme_get_theme_name">
        <doc xml:whitespace="preserve">Get the value of the #MxIconTheme:theme-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "theme-name" property.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="has_icon" c:identifier="mx_icon_theme_has_icon">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="mx_icon_theme_lookup">
        <doc xml:whitespace="preserve">If the icon is available, returns a #CoglHandle of the icon.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #CoglHandle of the icon, or %NULL.</doc>
          <type name="Cogl.Handle" c:type="CoglHandle"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the icon</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:whitespace="preserve">The desired size of the icon</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_texture"
              c:identifier="mx_icon_theme_lookup_texture">
        <doc xml:whitespace="preserve">If the icon is available, returns a #ClutterTexture of the icon.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #ClutterTexture of the icon, or %NULL.</doc>
          <type name="Clutter.Texture" c:type="ClutterTexture*"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the icon</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:whitespace="preserve">The desired size of the icon</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_paths"
              c:identifier="mx_icon_theme_set_search_paths">
        <doc xml:whitespace="preserve">Sets the directories the #MxIconTheme will search in to find icons.
By default, it will look in the default system and local icon
directories.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="paths" transfer-ownership="none">
            <doc xml:whitespace="preserve">a list of search paths</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_theme_name"
              c:identifier="mx_icon_theme_set_theme_name">
        <doc xml:whitespace="preserve">Set the value of the #MxIconTheme:theme-name property. This will cause the
icon theme to be loaded if it differs from the existing theme name. If the
theme could not be loaded, it will fall back to using the default icon theme
(hicolor).

This will override the system's theme setting. To revert to the system
icon theme, this function can be called with a %NULL @theme_name argument.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="theme_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of an icon theme to load, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="theme-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="IconThemePrivate" c:type="MxIconThemePrivate*"/>
      </field>
    </class>
    <record name="IconThemeClass"
            c:type="MxIconThemeClass"
            glib:is-gtype-struct-for="IconTheme">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="IconThemePrivate" c:type="MxIconThemePrivate" disguised="1">
    </record>
    <class name="Image"
           c:symbol-prefix="image"
           c:type="MxImage"
           parent="Widget"
           glib:type-name="MxImage"
           glib:get-type="mx_image_get_type"
           glib:type-struct="ImageClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_image_new" version="1.2">
        <doc xml:whitespace="preserve">Creates a new #MxImage object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A newly created #MxImage object</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <virtual-method name="image_load_error">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="image_loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="animate_scale_mode"
              c:identifier="mx_image_animate_scale_mode"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the value of #MxImage:scale-mode to @scale_mode and animates the
scale factor of the image between the previous value and the new value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterAnimationMode</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:whitespace="preserve">duration of the animation in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="scale_mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #MxImageScaleMode to set</doc>
            <type name="ImageScaleMode" c:type="MxImageScaleMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear" c:identifier="mx_image_clear" version="1.2">
        <doc xml:whitespace="preserve">Clear the current image and set a blank, transparent image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">static void</doc>
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_allow_upscale"
              c:identifier="mx_image_get_allow_upscale"
              version="1.2">
        <doc xml:whitespace="preserve">Determines whether image up-scaling is allowed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if upscaling is allowed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_image_rotation"
              c:identifier="mx_image_get_image_rotation"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the MxImage:image-rotation property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The value of the image-rotation property.</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
      </method>
      <method name="get_load_async"
              c:identifier="mx_image_get_load_async"
              version="1.2">
        <doc xml:whitespace="preserve">Determines whether asynchronous image loading is in use.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if images are set to load asynchronously, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_scale_height_threshold"
              c:identifier="mx_image_get_scale_height_threshold"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the height scaling threshold.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The height scaling threshold, in pixels</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_scale_mode"
              c:identifier="mx_image_get_scale_mode"
              version="1.2">
        <doc xml:whitespace="preserve">Get the current scale mode of @MxImage.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The current MxImageScaleMode</doc>
          <type name="ImageScaleMode" c:type="MxImageScaleMode"/>
        </return-value>
      </method>
      <method name="get_scale_width_threshold"
              c:identifier="mx_image_get_scale_width_threshold"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the width scaling threshold.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The width scaling threshold, in pixels</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_transition_duration"
              c:identifier="mx_image_get_transition_duration"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the MxImage:transition-duration property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The value of the transition-duration property.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="set_allow_upscale"
              c:identifier="mx_image_set_allow_upscale"
              version="1.2">
        <doc xml:whitespace="preserve">Sets whether up-scaling of images is allowed. If set to %TRUE and a size
larger than the image is requested, the image will be up-scaled in
software.

The advantage of this is that software up-scaling is potentially higher
quality, but it comes at the expense of video memory.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="allow" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to allow upscaling, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_buffer"
              c:identifier="mx_image_set_from_buffer"
              version="1.2"
              throws="1">
        <doc xml:whitespace="preserve">Set the image data from unencoded image data, stored in memory. In case of
failure, #FALSE is returned and @error is set. It is expected that @buffer
will remain accessible for the duration of the load. Once it is finished
with, @buffer_free_func will be called.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the image was successfully updated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:whitespace="preserve">A buffer pointing to encoded image data</doc>
            <type name="guint8" c:type="guchar*"/>
          </parameter>
          <parameter name="buffer_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">The size of @buffer, in bytes</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="buffer_free_func"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:whitespace="preserve">A function to free @buffer, or %NULL</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_buffer_at_size"
              c:identifier="mx_image_set_from_buffer_at_size"
              version="1.2"
              throws="1">
        <doc xml:whitespace="preserve">Set the image data from unencoded image data, stored in memory, and scales
it while loading. In case of failure, #FALSE is returned and @error is set.
It is expected that @buffer will remain accessible for the duration of the
load. Once it is finished with, @buffer_free_func will be called. The aspect
ratio will always be maintained.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the image was successfully updated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:whitespace="preserve">A buffer pointing to encoded image data</doc>
            <type name="guint8" c:type="guchar*"/>
          </parameter>
          <parameter name="buffer_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">The size of @buffer, in bytes</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="buffer_free_func"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:whitespace="preserve">A function to free @buffer, or %NULL</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:whitespace="preserve">Width to scale the image to, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:whitespace="preserve">Height to scale the image to, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_cogl_texture"
              c:identifier="mx_image_set_from_cogl_texture"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the contents of the image from the given Cogl texture.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #CoglHandle to a texture</doc>
            <type name="Cogl.Handle" c:type="CoglHandle"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_data"
              c:identifier="mx_image_set_from_data"
              version="1.2"
              throws="1">
        <doc xml:whitespace="preserve">Set the image data from a buffer. In case of failure, #FALSE is returned
and @error is set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the image was successfully updated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <doc xml:whitespace="preserve">Image data</doc>
            <type name="guint8" c:type="guchar*"/>
          </parameter>
          <parameter name="pixel_format" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #CoglPixelFormat of the buffer</doc>
            <type name="Cogl.PixelFormat" c:type="CoglPixelFormat"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:whitespace="preserve">Width in pixels of image data.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:whitespace="preserve">Height in pixels of image data</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="rowstride" transfer-ownership="none">
            <doc xml:whitespace="preserve">Distance in bytes between row starts.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_file"
              c:identifier="mx_image_set_from_file"
              version="1.2"
              throws="1">
        <doc xml:whitespace="preserve">Set the image data from an image file. In case of failure, #FALSE is returned
and @error is set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the image was successfully updated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">Filename to read the file from</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_file_at_size"
              c:identifier="mx_image_set_from_file_at_size"
              version="1.2"
              throws="1">
        <doc xml:whitespace="preserve">Set the image data from an image file, and scale the image during loading.
In case of failure, #FALSE is returned and @error is set. The aspect ratio
will always be maintained.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the image was successfully updated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">Filename to read the file from</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:whitespace="preserve">Width to scale the image to, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:whitespace="preserve">Height to scale the image to, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image_rotation"
              c:identifier="mx_image_set_image_rotation"
              version="1.2">
        <doc xml:whitespace="preserve">Set the MxImage:image-rotation property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rotation" transfer-ownership="none">
            <doc xml:whitespace="preserve">Rotation angle in degrees</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_load_async"
              c:identifier="mx_image_set_load_async"
              version="1.2">
        <doc xml:whitespace="preserve">Sets whether to load images asynchronously. Asynchronous image loading
requires thread support (see g_thread_init()).

When using asynchronous image loading, all image-loading functions will
return immediately as successful. The #MxImage::image-loaded and
#MxImage::image-load-error signals are used to signal success or failure
of asynchronous image loading.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="load_async" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to load images asynchronously</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scale_height_threshold"
              c:identifier="mx_image_set_scale_height_threshold"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the threshold used to determine whether to scale the height of the
image. If a specific height is requested, the image height is allowed to
differ by this amount before scaling is employed.

This can be useful to avoid excessive CPU usage when the image differs
only slightly to the desired size.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pixels" transfer-ownership="none">
            <doc xml:whitespace="preserve">Number of pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scale_mode"
              c:identifier="mx_image_set_scale_mode"
              version="1.2">
        <doc xml:whitespace="preserve">Set the scale mode on @MxImage</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #MxImageScaleMode to set</doc>
            <type name="ImageScaleMode" c:type="MxImageScaleMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scale_width_threshold"
              c:identifier="mx_image_set_scale_width_threshold"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the threshold used to determine whether to scale the width of the
image. If a specific width is requested, the image width is allowed to
differ by this amount before scaling is employed.

This can be useful to avoid excessive CPU usage when the image differs
only slightly to the desired size.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pixels" transfer-ownership="none">
            <doc xml:whitespace="preserve">Number of pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transition_duration"
              c:identifier="mx_image_set_transition_duration"
              version="1.2">
        <doc xml:whitespace="preserve">Set the MxImage:transition-duration property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:whitespace="preserve">Transition duration in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="allow-upscale" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="image-rotation" writable="1" transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="load-async" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="scale-height-threshold"
                writable="1"
                transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="scale-mode" writable="1" transfer-ownership="none">
        <type name="ImageScaleMode"/>
      </property>
      <property name="scale-width-threshold"
                writable="1"
                transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="transition-duration"
                writable="1"
                transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ImagePrivate" c:type="MxImagePrivate*"/>
      </field>
      <glib:signal name="image-load-error" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an asynchronous image load has encountered an error
and cannot load the requested image.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="since" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="image-loaded" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted when an asynchronous image load has completed successfully</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ImageClass"
            c:type="MxImageClass"
            glib:is-gtype-struct-for="Image">
      <field name="parent_class" readable="0" private="1">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="image_loaded">
        <callback name="image_loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="image" transfer-ownership="none">
              <type name="Image" c:type="MxImage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="image_load_error">
        <callback name="image_load_error">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="image" transfer-ownership="none">
              <type name="Image" c:type="MxImage*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ImageError"
                 glib:type-name="MxImageError"
                 glib:get-type="mx_image_error_get_type"
                 c:type="MxImageError"
                 glib:error-domain="mx-image-error-quark">
      <member name="bad_format"
              value="0"
              c:identifier="MX_IMAGE_ERROR_BAD_FORMAT"
              glib:nick="bad-format"/>
      <member name="no_async"
              value="1"
              c:identifier="MX_IMAGE_ERROR_NO_ASYNC"
              glib:nick="no-async"/>
      <member name="internal"
              value="2"
              c:identifier="MX_IMAGE_ERROR_INTERNAL"
              glib:nick="internal"/>
      <member name="invalid_parameter"
              value="3"
              c:identifier="MX_IMAGE_ERROR_INVALID_PARAMETER"
              glib:nick="invalid-parameter"/>
      <function name="quark" c:identifier="mx_image_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="ImagePrivate" c:type="MxImagePrivate" disguised="1">
    </record>
    <enumeration name="ImageScaleMode"
                 glib:type-name="MxImageScaleMode"
                 glib:get-type="mx_image_scale_mode_get_type"
                 c:type="MxImageScaleMode">
      <doc xml:whitespace="preserve">Defines the scaling mode of an image.</doc>
      <member name="none"
              value="0"
              c:identifier="MX_IMAGE_SCALE_NONE"
              glib:nick="none"/>
      <member name="fit"
              value="1"
              c:identifier="MX_IMAGE_SCALE_FIT"
              glib:nick="fit"/>
      <member name="crop"
              value="2"
              c:identifier="MX_IMAGE_SCALE_CROP"
              glib:nick="crop"/>
    </enumeration>
    <interface name="ItemFactory"
               c:symbol-prefix="item_factory"
               c:type="MxItemFactory"
               glib:type-name="MxItemFactory"
               glib:get-type="mx_item_factory_get_type"
               glib:type-struct="ItemFactoryIface">
      <doc xml:whitespace="preserve">This is an opaque structure whose members cannot be directly accessed.</doc>
      <virtual-method name="create" invoker="create">
        <doc xml:whitespace="preserve">Create an item</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new item</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </virtual-method>
      <method name="create" c:identifier="mx_item_factory_create">
        <doc xml:whitespace="preserve">Create an item</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new item</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
    </interface>
    <record name="ItemFactoryIface"
            c:type="MxItemFactoryIface"
            glib:is-gtype-struct-for="ItemFactory">
      <doc xml:whitespace="preserve">Interface for creating custom items</doc>
      <field name="g_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="create">
        <callback name="create">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">the new item</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </return-value>
          <parameters>
            <parameter name="factory" transfer-ownership="none">
              <type name="ItemFactory" c:type="MxItemFactory*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="ItemView"
           c:symbol-prefix="item_view"
           c:type="MxItemView"
           parent="Grid"
           glib:type-name="MxItemView"
           glib:get-type="mx_item_view_get_type"
           glib:type-struct="ItemViewClass">
      <doc xml:whitespace="preserve">The contents of the this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Scrollable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_item_view_new">
        <doc xml:whitespace="preserve">Create a new #MxItemView</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxItemView</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="add_attribute" c:identifier="mx_item_view_add_attribute">
        <doc xml:whitespace="preserve">Adds an attribute mapping between the current model and the objects from the
cell renderer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="attribute" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the attribute</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">Column number</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="freeze" c:identifier="mx_item_view_freeze">
        <doc xml:whitespace="preserve">Freeze the view. This means that the view will not act on changes to the
model until it is thawed. Call #mx_item_view_thaw to thaw the view</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_factory" c:identifier="mx_item_view_get_factory">
        <doc xml:whitespace="preserve">Gets the #MxItemFactory used for creating new items.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxItemFactory.</doc>
          <type name="ItemFactory" c:type="MxItemFactory*"/>
        </return-value>
      </method>
      <method name="get_item_type" c:identifier="mx_item_view_get_item_type">
        <doc xml:whitespace="preserve">Get the item type currently being used to create items</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GType</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
      </method>
      <method name="get_model" c:identifier="mx_item_view_get_model">
        <doc xml:whitespace="preserve">Get the model currently used by the #MxItemView</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current #ClutterModel</doc>
          <type name="Clutter.Model" c:type="ClutterModel*"/>
        </return-value>
      </method>
      <method name="set_factory" c:identifier="mx_item_view_set_factory">
        <doc xml:whitespace="preserve">Sets @factory to be the factory used for creating new items</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="factory" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">A #MxItemFactory</doc>
            <type name="ItemFactory" c:type="MxItemFactory*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item_type" c:identifier="mx_item_view_set_item_type">
        <doc xml:whitespace="preserve">Set the item type used to create items representing each row in the
model</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GType</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model" c:identifier="mx_item_view_set_model">
        <doc xml:whitespace="preserve">Set the model used by the #MxItemView</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterModel</doc>
            <type name="Clutter.Model" c:type="ClutterModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thaw" c:identifier="mx_item_view_thaw">
        <doc xml:whitespace="preserve">Thaw the view. This means that the view will now act on changes to the
model.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="factory" writable="1" transfer-ownership="none">
        <type name="GObject.Object"/>
      </property>
      <property name="item-type" writable="1" transfer-ownership="none">
        <type name="GType"/>
      </property>
      <property name="model" writable="1" transfer-ownership="none">
        <type name="Clutter.Model"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Grid" c:type="MxGrid"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ItemViewPrivate" c:type="MxItemViewPrivate*"/>
      </field>
    </class>
    <record name="ItemViewClass"
            c:type="MxItemViewClass"
            glib:is-gtype-struct-for="ItemView">
      <field name="parent_class">
        <type name="GridClass" c:type="MxGridClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ItemViewPrivate" c:type="MxItemViewPrivate" disguised="1">
    </record>
    <class name="KineticScrollView"
           c:symbol-prefix="kinetic_scroll_view"
           c:type="MxKineticScrollView"
           parent="Bin"
           glib:type-name="MxKineticScrollView"
           glib:get-type="mx_kinetic_scroll_view_get_type"
           glib:type-struct="KineticScrollViewClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Scrollable"/>
      <implements name="Stylable"/>
      <constructor name="new"
                   c:identifier="mx_kinetic_scroll_view_new"
                   version="1.2">
        <doc xml:whitespace="preserve">Creates a new #MxKineticScrollView.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxKineticScrollView</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_acceleration_factor"
              c:identifier="mx_kinetic_scroll_view_get_acceleration_factor"
              version="1.4">
        <doc xml:whitespace="preserve">Retrieves the initial acceleration factor of the kinetic scroll-view.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The initial acceleration factor of the kinetic scroll-view</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_clamp_duration"
              c:identifier="mx_kinetic_scroll_view_get_clamp_duration"
              version="1.4">
        <doc xml:whitespace="preserve">Retrieves the duration of the adjustment clamp animation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Clamp duration</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_clamp_mode"
              c:identifier="mx_kinetic_scroll_view_get_clamp_mode"
              version="1.4">
        <doc xml:whitespace="preserve">Retrieves the animation mode to use for the adjustment clamp animation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Clamp mode</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
      </method>
      <method name="get_clamp_to_center"
              c:identifier="mx_kinetic_scroll_view_get_clamp_to_center"
              version="1.4">
        <doc xml:whitespace="preserve">Retrieves whether to clamp to step increments based on the center of the page.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Clamp to center</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_deceleration"
              c:identifier="mx_kinetic_scroll_view_get_deceleration"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the deceleration rate of the kinetic scroll-view.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The deceleration rate of the kinetic scroll-view</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_mouse_button"
              c:identifier="mx_kinetic_scroll_view_get_mouse_button"
              version="1.2">
        <doc xml:whitespace="preserve">Gets the #MxKineticScrollView:mouse-button property

kinetic scroll-view</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The mouse button number used to initiate drag events on the</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="get_overshoot"
              c:identifier="mx_kinetic_scroll_view_get_overshoot"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the deceleration rate multiplier used when the scroll-view is
scrolling beyond its boundaries.</doc>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_scroll_policy"
              c:identifier="mx_kinetic_scroll_view_get_scroll_policy">
        <doc xml:whitespace="preserve">Retrieves the scrolling policy of the kinetic scroll-view.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxScrollPolicy</doc>
          <type name="ScrollPolicy" c:type="MxScrollPolicy"/>
        </return-value>
      </method>
      <method name="get_use_captured"
              c:identifier="mx_kinetic_scroll_view_get_use_captured"
              version="1.2">
        <doc xml:whitespace="preserve">Gets the #MxKineticScrollView:use-captured property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if captured-events should be used to initiate scrolling</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_acceleration_factor"
              c:identifier="mx_kinetic_scroll_view_set_acceleration_factor"
              version="1.4">
        <doc xml:whitespace="preserve">Factor applied to the initial momentum.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="acceleration_factor" transfer-ownership="none">
            <doc xml:whitespace="preserve">The acceleration factor</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_clamp_duration"
              c:identifier="mx_kinetic_scroll_view_set_clamp_duration"
              version="1.4">
        <doc xml:whitespace="preserve">Duration of the adjustment clamp animation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="clamp_duration" transfer-ownership="none">
            <doc xml:whitespace="preserve">Clamp duration</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_clamp_mode"
              c:identifier="mx_kinetic_scroll_view_set_clamp_mode"
              version="1.4">
        <doc xml:whitespace="preserve">Animation mode to use for the adjustment clamp animation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="clamp_mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">Clamp mode</doc>
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_clamp_to_center"
              c:identifier="mx_kinetic_scroll_view_set_clamp_to_center"
              version="1.4">
        <doc xml:whitespace="preserve">Set whether to clamp to step increments based on the center of the page.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="clamp_to_center" transfer-ownership="none">
            <doc xml:whitespace="preserve">Clamp to center</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_deceleration"
              c:identifier="mx_kinetic_scroll_view_set_deceleration"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the deceleration rate when a drag is finished on the kinetic
scroll-view. This is the value that the momentum is divided by
every 60th of a second.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rate" transfer-ownership="none">
            <doc xml:whitespace="preserve">The deceleration rate</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mouse_button"
              c:identifier="mx_kinetic_scroll_view_set_mouse_button"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the mouse button number used to initiate drag events on the kinetic
scroll-view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="button" transfer-ownership="none">
            <doc xml:whitespace="preserve">A mouse button number</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_overshoot"
              c:identifier="mx_kinetic_scroll_view_set_overshoot"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the rate at which the view will decelerate when scrolling beyond its
boundaries. The deceleration rate will be multiplied by this value every
60th of a second when the view is scrolling outside of the range set by its
adjustments.

See mx_kinetic_scroll_view_set_deceleration()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="overshoot" transfer-ownership="none">
            <doc xml:whitespace="preserve">The rate at which the view will decelerate when scrolling beyond its boundaries.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scroll_policy"
              c:identifier="mx_kinetic_scroll_view_set_scroll_policy">
        <doc xml:whitespace="preserve">Sets the scrolling policy for the kinetic scroll-view. This controls the
possible axes of movement, and can affect the minimum size of the widget.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="policy" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxScrollPolicy</doc>
            <type name="ScrollPolicy" c:type="MxScrollPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_captured"
              c:identifier="mx_kinetic_scroll_view_set_use_captured"
              version="1.2">
        <doc xml:whitespace="preserve">Sets whether to use captured events to initiate drag events. This can be
used to block events that would initiate scrolling from reaching the child
actor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="use_captured" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to use captured events</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="stop"
              c:identifier="mx_kinetic_scroll_view_stop"
              version="1.2">
        <doc xml:whitespace="preserve">Stops any current movement due to kinetic scrolling.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="acceleration-factor"
                writable="1"
                transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="clamp-duration" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="clamp-mode" writable="1" transfer-ownership="none">
        <type name="gulong"/>
      </property>
      <property name="clamp-to-center" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="deceleration" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="mouse-button" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="overshoot" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="scroll-policy" writable="1" transfer-ownership="none">
        <type name="ScrollPolicy"/>
      </property>
      <property name="state" transfer-ownership="none">
        <type name="KineticScrollViewState"/>
      </property>
      <property name="use-captured" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="KineticScrollViewPrivate"
              c:type="MxKineticScrollViewPrivate*"/>
      </field>
    </class>
    <record name="KineticScrollViewClass"
            c:type="MxKineticScrollViewClass"
            glib:is-gtype-struct-for="KineticScrollView">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
    </record>
    <record name="KineticScrollViewPrivate"
            c:type="MxKineticScrollViewPrivate"
            disguised="1">
    </record>
    <enumeration name="KineticScrollViewState"
                 glib:type-name="MxKineticScrollViewState"
                 glib:get-type="mx_kinetic_scroll_view_state_get_type"
                 c:type="MxKineticScrollViewState">
      <member name="idle"
              value="0"
              c:identifier="MX_KINETIC_SCROLL_VIEW_STATE_IDLE"
              glib:nick="idle"/>
      <member name="panning"
              value="1"
              c:identifier="MX_KINETIC_SCROLL_VIEW_STATE_PANNING"
              glib:nick="panning"/>
      <member name="scrolling"
              value="2"
              c:identifier="MX_KINETIC_SCROLL_VIEW_STATE_SCROLLING"
              glib:nick="scrolling"/>
      <member name="clamping"
              value="3"
              c:identifier="MX_KINETIC_SCROLL_VIEW_STATE_CLAMPING"
              glib:nick="clamping"/>
    </enumeration>
    <class name="Label"
           c:symbol-prefix="label"
           c:type="MxLabel"
           parent="Widget"
           glib:type-name="MxLabel"
           glib:get-type="mx_label_get_type"
           glib:type-struct="LabelClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_label_new">
        <doc xml:whitespace="preserve">Create a new #MxLabel</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxLabel</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_text" c:identifier="mx_label_new_with_text">
        <doc xml:whitespace="preserve">Create a new #MxLabel with the specified label</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxLabel</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set the label to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_clutter_text" c:identifier="mx_label_get_clutter_text">
        <doc xml:whitespace="preserve">Retrieve the internal #ClutterText so that extra parameters can be set

is owned by the #MxLabel and should not be unref'ed by the application.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #ClutterText used by #MxLabel. The label</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_fade_out"
              c:identifier="mx_label_get_fade_out"
              version="1.2">
        <doc xml:whitespace="preserve">Determines whether the label has been set to fade out when there isn't
enough space allocated to display the entire label.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the label is set to fade out, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_line_wrap"
              c:identifier="mx_label_get_line_wrap"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxLabel:line-wrap property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the "line-wrap" property is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_show_tooltip"
              c:identifier="mx_label_get_show_tooltip"
              version="1.4">
        <doc xml:whitespace="preserve">Returns the current value of the #MxLabel:show-tooltip property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the #MxLabel:show-tooltip property is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_text" c:identifier="mx_label_get_text">
        <doc xml:whitespace="preserve">Get the text displayed on the label</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the text for the label. This must not be freed by the application</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_use_markup"
              c:identifier="mx_label_get_use_markup"
              version="1.2">
        <doc xml:whitespace="preserve">Determines whether the text of the label is being treated as Pango markup.

%FALSE otherwise.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the text of the label is treated as Pango markup,</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_x_align" c:identifier="mx_label_get_x_align">
        <return-value transfer-ownership="none">
          <type name="Align" c:type="MxAlign"/>
        </return-value>
      </method>
      <method name="get_y_align" c:identifier="mx_label_get_y_align">
        <return-value transfer-ownership="none">
          <type name="Align" c:type="MxAlign"/>
        </return-value>
      </method>
      <method name="set_fade_out"
              c:identifier="mx_label_set_fade_out"
              version="1.2">
        <doc xml:whitespace="preserve">Set whether to fade out the end of the label, instead of ellipsizing.
Enabling this mode will also set the #ClutterText:single-line-mode and
#ClutterText:ellipsize properties.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="fade" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to fade out, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_wrap"
              c:identifier="mx_label_set_line_wrap"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxLabel:line-wrap property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="line_wrap" transfer-ownership="none">
            <doc xml:whitespace="preserve">new value of the line-wrap property.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_tooltip"
              c:identifier="mx_label_set_show_tooltip"
              version="1.4">
        <doc xml:whitespace="preserve">Set the value of the #MxLabel:show-tooltip property</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="show_tooltip" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the tooltip should be shown</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="mx_label_set_text">
        <doc xml:whitespace="preserve">Sets the text displayed on the label</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set the label to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_markup" c:identifier="mx_label_set_use_markup">
        <doc xml:whitespace="preserve">Sets whether the text of the label should be treated as Pango markup.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to use Pango markup, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_x_align" c:identifier="mx_label_set_x_align">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="align" transfer-ownership="none">
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_y_align" c:identifier="mx_label_set_y_align">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="align" transfer-ownership="none">
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <property name="clutter-text" transfer-ownership="none">
        <type name="Clutter.Text"/>
      </property>
      <property name="fade-out" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="line-wrap"
                version="1.2"
                writable="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">Whether to wrap the lines of #MxLabel:text if the contents
exceed the available allocation.</doc>
        <type name="gboolean"/>
      </property>
      <property name="show-tooltip"
                version="1.4"
                writable="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">Show a tooltip when there is not enough space to display the text. If set
to %TRUE, this will also cause the #ClutterActor:reactive property to be
enabled.</doc>
        <type name="gboolean"/>
      </property>
      <property name="text" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="use-markup" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="x-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="y-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="LabelPrivate" c:type="MxLabelPrivate*"/>
      </field>
    </class>
    <record name="LabelClass"
            c:type="MxLabelClass"
            glib:is-gtype-struct-for="Label">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="LabelPrivate" c:type="MxLabelPrivate" disguised="1">
    </record>
    <class name="ListView"
           c:symbol-prefix="list_view"
           c:type="MxListView"
           parent="BoxLayout"
           glib:type-name="MxListView"
           glib:get-type="mx_list_view_get_type"
           glib:type-struct="ListViewClass">
      <doc xml:whitespace="preserve">The contents of the this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Scrollable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_list_view_new">
        <doc xml:whitespace="preserve">Create a new #MxListView</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxListView</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="add_attribute" c:identifier="mx_list_view_add_attribute">
        <doc xml:whitespace="preserve">Adds an attribute mapping between the current model and the objects from the
cell renderer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="attribute" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the attribute</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">Column number</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="freeze" c:identifier="mx_list_view_freeze">
        <doc xml:whitespace="preserve">Freeze the view. This means that the view will not act on changes to the
model until it is thawed. Call #mx_list_view_thaw to thaw the view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_factory" c:identifier="mx_list_view_get_factory">
        <doc xml:whitespace="preserve">Gets the #MxItemFactory used for creating new list items.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxItemFactory.</doc>
          <type name="ItemFactory" c:type="MxItemFactory*"/>
        </return-value>
      </method>
      <method name="get_item_type" c:identifier="mx_list_view_get_item_type">
        <doc xml:whitespace="preserve">Get the item type currently being used to create items</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GType</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
      </method>
      <method name="get_model" c:identifier="mx_list_view_get_model">
        <doc xml:whitespace="preserve">Get the model currently used by the #MxListView</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current #ClutterModel</doc>
          <type name="Clutter.Model" c:type="ClutterModel*"/>
        </return-value>
      </method>
      <method name="set_factory" c:identifier="mx_list_view_set_factory">
        <doc xml:whitespace="preserve">Sets @factory to be the factory used for creating new list items</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="factory" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">A #MxItemFactory</doc>
            <type name="ItemFactory" c:type="MxItemFactory*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item_type" c:identifier="mx_list_view_set_item_type">
        <doc xml:whitespace="preserve">Set the item type used to create items representing each row in the
model</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GType</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model" c:identifier="mx_list_view_set_model">
        <doc xml:whitespace="preserve">Set the model used by the #MxListView</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterModel</doc>
            <type name="Clutter.Model" c:type="ClutterModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thaw" c:identifier="mx_list_view_thaw">
        <doc xml:whitespace="preserve">Thaw the view. This means that the view will now act on changes to the
model.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="factory" writable="1" transfer-ownership="none">
        <type name="GObject.Object"/>
      </property>
      <property name="item-type" writable="1" transfer-ownership="none">
        <type name="GType"/>
      </property>
      <property name="model" writable="1" transfer-ownership="none">
        <type name="Clutter.Model"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="BoxLayout" c:type="MxBoxLayout"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ListViewPrivate" c:type="MxListViewPrivate*"/>
      </field>
    </class>
    <record name="ListViewClass"
            c:type="MxListViewClass"
            glib:is-gtype-struct-for="ListView">
      <field name="parent_class">
        <type name="BoxLayoutClass" c:type="MxBoxLayoutClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ListViewPrivate" c:type="MxListViewPrivate" disguised="1">
    </record>
    <enumeration name="LongPressAction"
                 glib:type-name="MxLongPressAction"
                 glib:get-type="mx_long_press_action_get_type"
                 c:type="MxLongPressAction">
      <member name="query"
              value="0"
              c:identifier="MX_LONG_PRESS_QUERY"
              glib:nick="query"/>
      <member name="action"
              value="1"
              c:identifier="MX_LONG_PRESS_ACTION"
              glib:nick="action"/>
      <member name="cancel"
              value="2"
              c:identifier="MX_LONG_PRESS_CANCEL"
              glib:nick="cancel"/>
    </enumeration>
    <constant name="MAJOR_VERSION" value="1" c:type="MX_MAJOR_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="6" c:type="MX_MICRO_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="4" c:type="MX_MINOR_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Menu"
           c:symbol-prefix="menu"
           c:type="MxMenu"
           parent="FloatingWidget"
           glib:type-name="MxMenu"
           glib:get-type="mx_menu_get_type"
           glib:type-struct="MenuClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_menu_new">
        <doc xml:whitespace="preserve">Create a new #MxMenu</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxMenu</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <virtual-method name="action_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="MxAction*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_action" c:identifier="mx_menu_add_action">
        <doc xml:whitespace="preserve">Append @action to @menu.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxAction</doc>
            <type name="Action" c:type="MxAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_action" c:identifier="mx_menu_remove_action">
        <doc xml:whitespace="preserve">Remove @action from @menu.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxAction</doc>
            <type name="Action" c:type="MxAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all" c:identifier="mx_menu_remove_all">
        <doc xml:whitespace="preserve">Remove all the actions from @menu.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="show_with_position"
              c:identifier="mx_menu_show_with_position">
        <doc xml:whitespace="preserve">Moves the menu to the specified position and shows it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x" transfer-ownership="none">
            <doc xml:whitespace="preserve">X position</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:whitespace="preserve">Y position</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="FloatingWidget" c:type="MxFloatingWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="MenuPrivate" c:type="MxMenuPrivate*"/>
      </field>
      <glib:signal name="action-activated" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Action"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MenuClass"
            c:type="MxMenuClass"
            glib:is-gtype-struct-for="Menu">
      <field name="parent_class">
        <type name="FloatingWidgetClass" c:type="MxFloatingWidgetClass"/>
      </field>
      <field name="action_activated">
        <callback name="action_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="menu" transfer-ownership="none">
              <type name="Menu" c:type="MxMenu*"/>
            </parameter>
            <parameter name="action" transfer-ownership="none">
              <type name="Action" c:type="MxAction*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="MenuPrivate" c:type="MxMenuPrivate" disguised="1">
    </record>
    <class name="Notebook"
           c:symbol-prefix="notebook"
           c:type="MxNotebook"
           parent="Widget"
           glib:type-name="MxNotebook"
           glib:get-type="mx_notebook_get_type"
           glib:type-struct="NotebookClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_notebook_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_current_page"
              c:identifier="mx_notebook_get_current_page">
        <doc xml:whitespace="preserve">Get the current page</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current page</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_enable_gestures"
              c:identifier="mx_notebook_get_enable_gestures">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_current_page"
              c:identifier="mx_notebook_set_current_page">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_gestures"
              c:identifier="mx_notebook_set_enable_gestures">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="current-page" writable="1" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="enable-gestures" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv">
        <type name="NotebookPrivate" c:type="MxNotebookPrivate*"/>
      </field>
    </class>
    <record name="NotebookClass"
            c:type="MxNotebookClass"
            glib:is-gtype-struct-for="Notebook">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="NotebookPrivate" c:type="MxNotebookPrivate" disguised="1">
    </record>
    <class name="Offscreen"
           c:symbol-prefix="offscreen"
           c:type="MxOffscreen"
           parent="Clutter.Texture"
           glib:type-name="MxOffscreen"
           glib:get-type="mx_offscreen_get_type"
           glib:type-struct="OffscreenClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <constructor name="new" c:identifier="mx_offscreen_new">
        <doc xml:whitespace="preserve">Creates a new #MxOffscreen.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxOffscreen</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <virtual-method name="paint_child">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_accumulation_enabled"
              c:identifier="mx_offscreen_get_accumulation_enabled"
              version="1.2">
        <doc xml:whitespace="preserve">Gets the value of the #MxOffscreen:accumulation-enabled property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the accumulation buffer is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_accumulation_material"
              c:identifier="mx_offscreen_get_accumulation_material"
              version="1.2">
        <doc xml:whitespace="preserve">Gets the #MxOffscreen:accumulation-material property.

for the accumulation buffer</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The #CoglHandle for the material used</doc>
          <type name="Cogl.Handle" c:type="CoglHandle"/>
        </return-value>
      </method>
      <method name="get_auto_update"
              c:identifier="mx_offscreen_get_auto_update">
        <doc xml:whitespace="preserve">Gets the value of the #MxOffscreen:auto-update property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if automatic updating of the offscreen surface is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_buffer"
              c:identifier="mx_offscreen_get_buffer"
              version="1.2">
        <doc xml:whitespace="preserve">Gets the value of the #MxOffscreen:buffer property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #CoglHandle for the offscreen buffer object</doc>
          <type name="Cogl.Handle" c:type="CoglHandle"/>
        </return-value>
      </method>
      <method name="get_child" c:identifier="mx_offscreen_get_child">
        <doc xml:whitespace="preserve">Gets the value of the #MxOffscreen:child property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The child of the offscreen widget</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_pick_child" c:identifier="mx_offscreen_get_pick_child">
        <doc xml:whitespace="preserve">Gets the value of the #MxOffscreen:pick-child property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if picking of the child is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_redirect_enabled"
              c:identifier="mx_offscreen_get_redirect_enabled"
              version="1.2">
        <doc xml:whitespace="preserve">Gets the value of the #MxOffscreen:redirect-enabled property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if offscreen redirection is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_accumulation_enabled"
              c:identifier="mx_offscreen_set_accumulation_enabled"
              version="1.2">
        <doc xml:whitespace="preserve">Sets whether the accumulation buffer is enabled. When enabled, an extra
offscreen buffer is allocated, and the contents of the offscreen texture
are blended with this accumulation buffer. By default, the blend function
is set to blend the contents of the offscreen texture with the accumulation
buffer at the opacity specified in the alpha component of the blend
constant. This opacity is 50% by default.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE to enable an accumulation buffer</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_update"
              c:identifier="mx_offscreen_set_auto_update">
        <doc xml:whitespace="preserve">Enable automatic updating of the offscreen surface when the child is
updated.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="auto_update" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE if the offscreen surface should be automatically updated</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child" c:identifier="mx_offscreen_set_child">
        <doc xml:whitespace="preserve">Redirects the painting of @actor to the offscreen surface owned by
@offscreen. In the event that @actor is unparented, it will be parented
to @offscreen. Note that when you redirect the painting of @actor, it
will no longer be painted in its original position in the scenegraph.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pick_child" c:identifier="mx_offscreen_set_pick_child">
        <doc xml:whitespace="preserve">Enable picking of the child actor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pick" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE to enable picking of the child actor</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_redirect_enabled"
              c:identifier="mx_offscreen_set_redirect_enabled"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the value of the #MxOffscreen:redirect-enabled property. When
redirection is enabled, the painting of the child of @offscreen will be
redirected to the texture of @offscreen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE if redirection to the offscreen surface should be enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="update" c:identifier="mx_offscreen_update">
        <doc xml:whitespace="preserve">Updates the offscreen surface. This causes the child of @offscreen to be
drawn into the texture of @offscreen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="accumulation-enabled"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="accumulation-material" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="auto-update" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="buffer" transfer-ownership="none">
        <doc xml:whitespace="preserve">The off-screen buffer used to draw the child.</doc>
        <type name="gpointer"/>
      </property>
      <property name="child" writable="1" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="pick-child" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="redirect-enabled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Clutter.Texture" c:type="ClutterTexture"/>
      </field>
      <field name="priv">
        <type name="OffscreenPrivate" c:type="MxOffscreenPrivate*"/>
      </field>
    </class>
    <record name="OffscreenClass"
            c:type="MxOffscreenClass"
            glib:is-gtype-struct-for="Offscreen">
      <field name="parent_class">
        <type name="Clutter.TextureClass" c:type="ClutterTextureClass"/>
      </field>
      <field name="paint_child">
        <callback name="paint_child">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Offscreen" c:type="MxOffscreen*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="OffscreenPrivate" c:type="MxOffscreenPrivate" disguised="1">
    </record>
    <enumeration name="Orientation"
                 glib:type-name="MxOrientation"
                 glib:get-type="mx_orientation_get_type"
                 c:type="MxOrientation">
      <doc xml:whitespace="preserve">Defines the orientation of various layout widgets.</doc>
      <member name="horizontal"
              value="0"
              c:identifier="MX_ORIENTATION_HORIZONTAL"
              glib:nick="horizontal"/>
      <member name="vertical"
              value="1"
              c:identifier="MX_ORIENTATION_VERTICAL"
              glib:nick="vertical"/>
    </enumeration>
    <constant name="PARAM_TRANSLATEABLE"
              value="256"
              c:type="MX_PARAM_TRANSLATEABLE">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="Padding"
            c:type="MxPadding"
            glib:type-name="MxPadding"
            glib:get-type="mx_padding_get_type"
            c:symbol-prefix="padding">
      <doc xml:whitespace="preserve">The padding from the internal border of the parent container.</doc>
      <field name="top" writable="1">
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="right" writable="1">
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="bottom" writable="1">
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="left" writable="1">
        <type name="gfloat" c:type="gfloat"/>
      </field>
    </record>
    <class name="PathBar"
           c:symbol-prefix="path_bar"
           c:type="MxPathBar"
           parent="Widget"
           glib:type-name="MxPathBar"
           glib:get-type="mx_path_bar_get_type"
           glib:type-struct="PathBarClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_path_bar_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="clear" c:identifier="mx_path_bar_clear">
        <doc xml:whitespace="preserve">Remove all the current buttons</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_clear_on_change"
              c:identifier="mx_path_bar_get_clear_on_change">
        <doc xml:whitespace="preserve">Get the value of the #MxPathBar:clear-on-change property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the value of the "clear-on-change" property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_editable" c:identifier="mx_path_bar_get_editable">
        <doc xml:whitespace="preserve">Get the value of the #MxPathBar:editable property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "editable" property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_entry" c:identifier="mx_path_bar_get_entry">
        <doc xml:whitespace="preserve">Get the MxEntry used as the editable area in the MxPathBar.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">MxEntry *</doc>
          <type name="Entry" c:type="MxEntry*"/>
        </return-value>
      </method>
      <method name="get_label" c:identifier="mx_path_bar_get_label">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="level" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_level" c:identifier="mx_path_bar_get_level">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_text" c:identifier="mx_path_bar_get_text">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="pop" c:identifier="mx_path_bar_pop">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="push" c:identifier="mx_path_bar_push">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_clear_on_change"
              c:identifier="mx_path_bar_set_clear_on_change">
        <doc xml:whitespace="preserve">Set theh value of the #MxPathBar:clear-on-change property</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="clear_on_change" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new value of the property</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_editable" c:identifier="mx_path_bar_set_editable">
        <doc xml:whitespace="preserve">Set the value of the #MxPathBar:editable property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE if the path bar should be editable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label" c:identifier="mx_path_bar_set_label">
        <doc xml:whitespace="preserve">Set the text on the button specified by @level</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="level" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gint</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gchar</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="mx_path_bar_set_text">
        <doc xml:whitespace="preserve">Set the text in the editable area of the #MxPathBar</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">string to set the editable text to.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="clear-on-change" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="editable" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="entry" transfer-ownership="none">
        <type name="Entry"/>
      </property>
      <property name="level" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="parent">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv">
        <type name="PathBarPrivate" c:type="MxPathBarPrivate*"/>
      </field>
    </class>
    <record name="PathBarClass"
            c:type="MxPathBarClass"
            glib:is-gtype-struct-for="PathBar">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="PathBarPrivate" c:type="MxPathBarPrivate" disguised="1">
    </record>
    <enumeration name="Position"
                 version="1.2"
                 glib:type-name="MxPosition"
                 glib:get-type="mx_position_get_type"
                 c:type="MxPosition">
      <doc xml:whitespace="preserve">Defines the position of an interface element.</doc>
      <member name="top"
              value="0"
              c:identifier="MX_POSITION_TOP"
              glib:nick="top"/>
      <member name="right"
              value="1"
              c:identifier="MX_POSITION_RIGHT"
              glib:nick="right"/>
      <member name="bottom"
              value="2"
              c:identifier="MX_POSITION_BOTTOM"
              glib:nick="bottom"/>
      <member name="left"
              value="3"
              c:identifier="MX_POSITION_LEFT"
              glib:nick="left"/>
    </enumeration>
    <class name="ProgressBar"
           c:symbol-prefix="progress_bar"
           c:type="MxProgressBar"
           parent="Widget"
           glib:type-name="MxProgressBar"
           glib:get-type="mx_progress_bar_get_type"
           glib:type-struct="ProgressBarClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be
accessed through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_progress_bar_new">
        <doc xml:whitespace="preserve">Create a new progress bar</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxProgressBar</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_progress" c:identifier="mx_progress_bar_get_progress">
        <doc xml:whitespace="preserve">Get the progress of the progress bar</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A value between 0.0 and 1.0</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="set_progress" c:identifier="mx_progress_bar_set_progress">
        <doc xml:whitespace="preserve">Set the progress of the progress bar</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:whitespace="preserve">A value between 0.0 and 1.0</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="progress" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ProgressBarPrivate" c:type="MxProgressBarPrivate*"/>
      </field>
    </class>
    <record name="ProgressBarClass"
            c:type="MxProgressBarClass"
            glib:is-gtype-struct-for="ProgressBar">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ProgressBarPrivate"
            c:type="MxProgressBarPrivate"
            disguised="1">
    </record>
    <class name="ScrollBar"
           c:symbol-prefix="scroll_bar"
           c:type="MxScrollBar"
           parent="Bin"
           glib:type-name="MxScrollBar"
           glib:get-type="mx_scroll_bar_get_type"
           glib:type-struct="ScrollBarClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_scroll_bar_new">
        <doc xml:whitespace="preserve">Create a new #MxScrollBar</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxScrollBar</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_adjustment"
                   c:identifier="mx_scroll_bar_new_with_adjustment">
        <doc xml:whitespace="preserve">Create a new #MxScrollBar with the given adjustment set</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxScrollBar</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="adjustment" transfer-ownership="none">
            <doc xml:whitespace="preserve">an #MxAdjustment</doc>
            <type name="Adjustment" c:type="MxAdjustment*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="scroll_start">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="scroll_stop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_adjustment"
              c:identifier="mx_scroll_bar_get_adjustment">
        <doc xml:whitespace="preserve">Gets the adjustment object that stores the current position
of the scrollbar.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the adjustment</doc>
          <type name="Adjustment" c:type="MxAdjustment*"/>
        </return-value>
      </method>
      <method name="get_orientation"
              c:identifier="mx_scroll_bar_get_orientation">
        <return-value transfer-ownership="none">
          <type name="Orientation" c:type="MxOrientation"/>
        </return-value>
      </method>
      <method name="set_adjustment"
              c:identifier="mx_scroll_bar_set_adjustment">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="adjustment" transfer-ownership="none">
            <type name="Adjustment" c:type="MxAdjustment*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation"
              c:identifier="mx_scroll_bar_set_orientation">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <type name="Orientation" c:type="MxOrientation"/>
          </parameter>
        </parameters>
      </method>
      <property name="adjustment" writable="1" transfer-ownership="none">
        <type name="Adjustment"/>
      </property>
      <property name="orientation" writable="1" transfer-ownership="none">
        <type name="Orientation"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ScrollBarPrivate" c:type="MxScrollBarPrivate*"/>
      </field>
      <glib:signal name="scroll-start" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="scroll-stop" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ScrollBarClass"
            c:type="MxScrollBarClass"
            glib:is-gtype-struct-for="ScrollBar">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
      <field name="scroll_start">
        <callback name="scroll_start">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bar" transfer-ownership="none">
              <type name="ScrollBar" c:type="MxScrollBar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="scroll_stop">
        <callback name="scroll_stop">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bar" transfer-ownership="none">
              <type name="ScrollBar" c:type="MxScrollBar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ScrollBarPrivate" c:type="MxScrollBarPrivate" disguised="1">
    </record>
    <enumeration name="ScrollPolicy"
                 glib:type-name="MxScrollPolicy"
                 glib:get-type="mx_scroll_policy_get_type"
                 c:type="MxScrollPolicy">
      <doc xml:whitespace="preserve">Defines the scrolling policy of scrollable widgets.</doc>
      <member name="none"
              value="0"
              c:identifier="MX_SCROLL_POLICY_NONE"
              glib:nick="none"/>
      <member name="horizontal"
              value="1"
              c:identifier="MX_SCROLL_POLICY_HORIZONTAL"
              glib:nick="horizontal"/>
      <member name="vertical"
              value="2"
              c:identifier="MX_SCROLL_POLICY_VERTICAL"
              glib:nick="vertical"/>
      <member name="both"
              value="3"
              c:identifier="MX_SCROLL_POLICY_BOTH"
              glib:nick="both"/>
    </enumeration>
    <class name="ScrollView"
           c:symbol-prefix="scroll_view"
           c:type="MxScrollView"
           parent="Bin"
           glib:type-name="MxScrollView"
           glib:get-type="mx_scroll_view_get_type"
           glib:type-struct="ScrollViewClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_scroll_view_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="ensure_visible"
              c:identifier="mx_scroll_view_ensure_visible">
        <doc xml:whitespace="preserve">Ensures that a given region is visible in the ScrollView, with the top-left
taking precedence.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="geometry" transfer-ownership="none">
            <doc xml:whitespace="preserve">The region to make visible</doc>
            <type name="Clutter.Geometry" c:type="ClutterGeometry*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_enable_gestures"
              c:identifier="mx_scroll_view_get_enable_gestures">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_enable_mouse_scrolling"
              c:identifier="mx_scroll_view_get_enable_mouse_scrolling">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_scroll_policy"
              c:identifier="mx_scroll_view_get_scroll_policy">
        <return-value transfer-ownership="none">
          <type name="ScrollPolicy" c:type="MxScrollPolicy"/>
        </return-value>
      </method>
      <method name="set_enable_gestures"
              c:identifier="mx_scroll_view_set_enable_gestures">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_mouse_scrolling"
              c:identifier="mx_scroll_view_set_enable_mouse_scrolling">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scroll_policy"
              c:identifier="mx_scroll_view_set_scroll_policy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="policy" transfer-ownership="none">
            <type name="ScrollPolicy" c:type="MxScrollPolicy"/>
          </parameter>
        </parameters>
      </method>
      <property name="enable-gestures" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="enable-mouse-scrolling"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="scroll-policy" writable="1" transfer-ownership="none">
        <type name="ScrollPolicy"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ScrollViewPrivate" c:type="MxScrollViewPrivate*"/>
      </field>
    </class>
    <record name="ScrollViewClass"
            c:type="MxScrollViewClass"
            glib:is-gtype-struct-for="ScrollView">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ScrollViewPrivate"
            c:type="MxScrollViewPrivate"
            disguised="1">
    </record>
    <interface name="Scrollable"
               c:symbol-prefix="scrollable"
               c:type="MxScrollable"
               glib:type-name="MxScrollable"
               glib:get-type="mx_scrollable_get_type"
               glib:type-struct="ScrollableIface">
      <doc xml:whitespace="preserve">This is an opaque structure whose members cannot be directly accessed.</doc>
      <virtual-method name="get_adjustments" invoker="get_adjustments">
        <doc xml:whitespace="preserve">Gets the adjustment objects that store the offsets of the scrollable widget
into its possible scrolling area.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hadjustment"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">location to store the horizontal adjustment, or %NULL</doc>
            <type name="Adjustment" c:type="MxAdjustment**"/>
          </parameter>
          <parameter name="vadjustment"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">location to store the vertical adjustment, or %NULL</doc>
            <type name="Adjustment" c:type="MxAdjustment**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_adjustments" invoker="set_adjustments">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hadjustment" transfer-ownership="none">
            <type name="Adjustment" c:type="MxAdjustment*"/>
          </parameter>
          <parameter name="vadjustment" transfer-ownership="none">
            <type name="Adjustment" c:type="MxAdjustment*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_adjustments"
              c:identifier="mx_scrollable_get_adjustments">
        <doc xml:whitespace="preserve">Gets the adjustment objects that store the offsets of the scrollable widget
into its possible scrolling area.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hadjustment"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">location to store the horizontal adjustment, or %NULL</doc>
            <type name="Adjustment" c:type="MxAdjustment**"/>
          </parameter>
          <parameter name="vadjustment"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">location to store the vertical adjustment, or %NULL</doc>
            <type name="Adjustment" c:type="MxAdjustment**"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_adjustments"
              c:identifier="mx_scrollable_set_adjustments">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hadjustment" transfer-ownership="none">
            <type name="Adjustment" c:type="MxAdjustment*"/>
          </parameter>
          <parameter name="vadjustment" transfer-ownership="none">
            <type name="Adjustment" c:type="MxAdjustment*"/>
          </parameter>
        </parameters>
      </method>
      <property name="horizontal-adjustment"
                writable="1"
                transfer-ownership="none">
        <type name="Adjustment"/>
      </property>
      <property name="vertical-adjustment"
                writable="1"
                transfer-ownership="none">
        <type name="Adjustment"/>
      </property>
    </interface>
    <record name="ScrollableIface"
            c:type="MxScrollableIface"
            glib:is-gtype-struct-for="Scrollable">
      <field name="parent" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="set_adjustments">
        <callback name="set_adjustments">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="scrollable" transfer-ownership="none">
              <type name="Scrollable" c:type="MxScrollable*"/>
            </parameter>
            <parameter name="hadjustment" transfer-ownership="none">
              <type name="Adjustment" c:type="MxAdjustment*"/>
            </parameter>
            <parameter name="vadjustment" transfer-ownership="none">
              <type name="Adjustment" c:type="MxAdjustment*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_adjustments">
        <callback name="get_adjustments">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="scrollable" transfer-ownership="none">
              <type name="Scrollable" c:type="MxScrollable*"/>
            </parameter>
            <parameter name="hadjustment"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="none"
                       allow-none="1">
              <doc xml:whitespace="preserve">location to store the horizontal adjustment, or %NULL</doc>
              <type name="Adjustment" c:type="MxAdjustment**"/>
            </parameter>
            <parameter name="vadjustment"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="none"
                       allow-none="1">
              <doc xml:whitespace="preserve">location to store the vertical adjustment, or %NULL</doc>
              <type name="Adjustment" c:type="MxAdjustment**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Settings"
           c:symbol-prefix="settings"
           c:type="MxSettings"
           parent="GObject.Object"
           glib:type-name="MxSettings"
           glib:get-type="mx_settings_get_type"
           glib:type-struct="SettingsClass">
      <function name="get_default" c:identifier="mx_settings_get_default">
        <doc xml:whitespace="preserve">Get the global MxSettings object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">an #MxSettings object</doc>
          <type name="Settings" c:type="MxSettings*"/>
        </return-value>
      </function>
      <property name="drag-threshold" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="font-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="icon-theme" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="long-press-timeout"
                writable="1"
                transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="small-screen" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SettingsPrivate" c:type="MxSettingsPrivate*"/>
      </field>
    </class>
    <record name="SettingsClass"
            c:type="MxSettingsClass"
            glib:is-gtype-struct-for="Settings">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="SettingsPrivate" c:type="MxSettingsPrivate" disguised="1">
    </record>
    <record name="SettingsProvider" c:type="MxSettingsProvider" disguised="1">
    </record>
    <record name="SettingsProviderIface" c:type="MxSettingsProviderIface">
      <field name="parent_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="setting_changed" introspectable="0">
        <callback name="setting_changed" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <type name="SettingsProvider" c:type="MxSettingsProvider*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type c:type="MxSettingsProperty"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_setting" introspectable="0">
        <callback name="get_setting" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <type name="SettingsProvider" c:type="MxSettingsProvider*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type c:type="MxSettingsProperty"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_setting" introspectable="0">
        <callback name="set_setting" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="provider" transfer-ownership="none">
              <type name="SettingsProvider" c:type="MxSettingsProvider*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type c:type="MxSettingsProperty"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Slider"
           c:symbol-prefix="slider"
           c:type="MxSlider"
           parent="Widget"
           glib:type-name="MxSlider"
           glib:get-type="mx_slider_get_type"
           glib:type-struct="SliderClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_slider_new">
        <doc xml:whitespace="preserve">Create a new slider</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxSlider</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_buffer_value"
              c:identifier="mx_slider_get_buffer_value"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxSlider:buffer-value property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The current value of the "buffer-value" property.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_value" c:identifier="mx_slider_get_value">
        <doc xml:whitespace="preserve">Retrieve the current value of the media bar</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">gdouble</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="set_buffer_value"
              c:identifier="mx_slider_set_buffer_value"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxSlider:buffer-value property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new buffer value of the slider</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="mx_slider_set_value">
        <doc xml:whitespace="preserve">Set the value of the slider</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">A value between 0.0 and 1.0</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="buffer-value" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="value" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SliderPrivate" c:type="MxSliderPrivate*"/>
      </field>
    </class>
    <record name="SliderClass"
            c:type="MxSliderClass"
            glib:is-gtype-struct-for="Slider">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="SliderPrivate" c:type="MxSliderPrivate" disguised="1">
    </record>
    <class name="Spinner"
           c:symbol-prefix="spinner"
           c:type="MxSpinner"
           parent="Widget"
           glib:type-name="MxSpinner"
           glib:get-type="mx_spinner_get_type"
           glib:type-struct="SpinnerClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_spinner_new" version="1.2">
        <doc xml:whitespace="preserve">Create a new #MxSpinner widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxSpinner</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <virtual-method name="looped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_animating"
              c:identifier="mx_spinner_get_animating"
              version="1.2">
        <doc xml:whitespace="preserve">Determines whether the spinner is animating.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the spinner is animating, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_animating"
              c:identifier="mx_spinner_set_animating"
              version="1.2">
        <doc xml:whitespace="preserve">Sets whether the spinner is animating. A spinner can be stopped if
the task it represents has finished, or to save energy.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="animating" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to enable animation, %FALSE to disable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="animating" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SpinnerPrivate" c:type="MxSpinnerPrivate*"/>
      </field>
      <glib:signal name="looped" when="last" version="1.2">
        <doc xml:whitespace="preserve">Emitted after the animation has displayed the final frame.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="SpinnerClass"
            c:type="MxSpinnerClass"
            glib:is-gtype-struct-for="Spinner">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="looped">
        <callback name="looped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="spinner" transfer-ownership="none">
              <type name="Spinner" c:type="MxSpinner*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="SpinnerPrivate" c:type="MxSpinnerPrivate" disguised="1">
    </record>
    <class name="Stack"
           c:symbol-prefix="stack"
           c:type="MxStack"
           parent="Widget"
           glib:type-name="MxStack"
           glib:get-type="mx_stack_get_type"
           glib:type-struct="StackClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_stack_new" version="1.2">
        <doc xml:whitespace="preserve">Create a new #MxStack.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly allocated #MxStack</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="child_get_crop"
              c:identifier="mx_stack_child_get_crop"
              version="1.4">
        <doc xml:whitespace="preserve">Get the value of the #MxStackChild:fit property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the #MxStackChild:crop property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_fit"
              c:identifier="mx_stack_child_get_fit"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxStackChild:fit property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the #MxStackChild:fit property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_x_align"
              c:identifier="mx_stack_child_get_x_align"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxStackChild:x-align property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "x-align" property</doc>
          <type name="Align" c:type="MxAlign"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_x_fill"
              c:identifier="mx_stack_child_get_x_fill"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxStackChild:x-fill property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "x-fill" property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_y_align"
              c:identifier="mx_stack_child_get_y_align"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxStackChild:y-align property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "y-align" property.</doc>
          <type name="Align" c:type="MxAlign"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_y_fill"
              c:identifier="mx_stack_child_get_y_fill"
              version="1.2">
        <doc xml:whitespace="preserve">Get the value of the #MxStackChild:y-fill property</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "y-fill" property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_crop"
              c:identifier="mx_stack_child_set_crop"
              version="1.4">
        <doc xml:whitespace="preserve">Set the value of the #MxStackChild:crop property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="crop" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_fit"
              c:identifier="mx_stack_child_set_fit"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxStackChild:fit property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="fit" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_x_align"
              c:identifier="mx_stack_child_set_x_align"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxStackChild:x-align property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="x_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">An #MxAlign</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_x_fill"
              c:identifier="mx_stack_child_set_x_fill"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxStackChild:x-fill property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="x_fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_y_align"
              c:identifier="mx_stack_child_set_y_align"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxStackChild:y-align property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="y_align" transfer-ownership="none">
            <doc xml:whitespace="preserve">An #MxAlign</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_y_fill"
              c:identifier="mx_stack_child_set_y_fill"
              version="1.2">
        <doc xml:whitespace="preserve">Set the value of the #MxStackChild:y-fill property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="y_fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="StackPrivate" c:type="MxStackPrivate*"/>
      </field>
    </class>
    <class name="StackChild"
           c:symbol-prefix="stack_child"
           c:type="MxStackChild"
           parent="Clutter.ChildMeta"
           glib:type-name="MxStackChild"
           glib:get-type="mx_stack_child_get_type"
           glib:type-struct="StackChildClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <property name="crop" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="fit" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="x-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="x-fill" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="y-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="y-fill" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Clutter.ChildMeta" c:type="ClutterChildMeta"/>
      </field>
      <field name="x_fill" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="y_fill" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="fit" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="crop" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="x_align" readable="0" private="1">
        <type name="Align" c:type="MxAlign"/>
      </field>
      <field name="y_align" readable="0" private="1">
        <type name="Align" c:type="MxAlign"/>
      </field>
    </class>
    <record name="StackChildClass"
            c:type="MxStackChildClass"
            glib:is-gtype-struct-for="StackChild">
      <field name="parent_class">
        <type name="Clutter.ChildMetaClass" c:type="ClutterChildMetaClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="StackChildPrivate"
            c:type="MxStackChildPrivate"
            disguised="1">
    </record>
    <record name="StackClass"
            c:type="MxStackClass"
            glib:is-gtype-struct-for="Stack">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="StackPrivate" c:type="MxStackPrivate" disguised="1">
    </record>
    <interface name="Stylable"
               c:symbol-prefix="stylable"
               c:type="MxStylable"
               glib:type-name="MxStylable"
               glib:get-type="mx_stylable_get_type"
               glib:type-struct="StylableIface">
      <doc xml:whitespace="preserve">This is an opaque structure whose members cannot be directly accessed.</doc>
      <virtual-method name="get_style" invoker="get_style">
        <doc xml:whitespace="preserve">Retrieves the #MxStyle used by @stylable. This function does not
alter the reference count of the returned object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #MxStyle</doc>
          <type name="Style" c:type="MxStyle*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_style_class" invoker="get_style_class">
        <doc xml:whitespace="preserve">Get the current style class name

should not be modified or freed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the class name string. The string is owned by the #MxWidget and</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_style_pseudo_class"
                      invoker="get_style_pseudo_class">
        <doc xml:whitespace="preserve">Get the current style pseudo class. This can contain multiple pseudo class
names, separated by ':'.

should not be modified or freed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the pseudo class string. The string is owned by the #MxWidget and</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set_style" invoker="set_style">
        <doc xml:whitespace="preserve">Sets @style as the new #MxStyle to be used by @stylable.

The #MxStylable will take ownership of the passed #MxStyle.

After the #MxStyle has been set, the MxStylable::style-set signal
will be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #MxStyle</doc>
            <type name="Style" c:type="MxStyle*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_style_class" invoker="set_style_class">
        <doc xml:whitespace="preserve">Set the style class name</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style_class" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new style class string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_style_pseudo_class"
                      invoker="set_style_pseudo_class">
        <doc xml:whitespace="preserve">Set the style pseudo class. The string can contain multiple pseudo class
names, separated by ':'.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pseudo_class" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new pseudo class string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="style_changed" invoker="style_changed">
        <doc xml:whitespace="preserve">Emit the "style-changed" signal on @stylable to notify it that one or more
of the style properties has changed.

If @stylable is a #ClutterContainer then the "style-changed" notification is
propagated to it's children, since their style may depend on one or more
properties of the parent.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">flags that control the style changing</doc>
            <type name="StyleChangedFlags" c:type="MxStyleChangedFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="apply_clutter_text_attributes"
              c:identifier="mx_stylable_apply_clutter_text_attributes">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="Clutter.Text" c:type="ClutterText*"/>
          </parameter>
        </parameters>
      </method>
      <method name="connect_change_notifiers"
              c:identifier="mx_stylable_connect_change_notifiers">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="find_property" c:identifier="mx_stylable_find_property">
        <doc xml:whitespace="preserve">Finds the #GParamSpec installed by @stylable for the property
with @property_name.

or %NULL if no property with that name was found</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GParamSpec for the given property,</doc>
          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
        </return-value>
        <parameters>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the property to find</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get" c:identifier="mx_stylable_get" introspectable="0">
        <doc xml:whitespace="preserve">Gets the style properties for @stylable.

In general, a copy is made of the property contents and the called
is responsible for freeing the memory in the appropriate manner for
the property type.

&lt;example&gt;
&lt;title&gt;Using mx_stylable_get(&lt;!-- --&gt;)&lt;/title&gt;
&lt;para&gt;An example of using mx_stylable_get() to get the contents of
two style properties - one of type #G_TYPE_INT and one of type
#CLUTTER_TYPE_COLOR:&lt;/para&gt;
&lt;programlisting&gt;
gint x_spacing;
ClutterColor *bg_color;

mx_stylable_get (stylable,
"x-spacing", &amp;amp;x_spacing,
"bg-color", &amp;amp;bg_color,
NULL);

/&lt;!-- --&gt;* do something with x_spacing and bg_color *&lt;!-- --&gt;/

clutter_color_free (bg_color);
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="first_property_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the first property to get</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_value"
              c:identifier="mx_stylable_get_default_value">
        <doc xml:whitespace="preserve">Query @stylable for the default value of property @property_name and
fill @value_out with the result.

been returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if property @property_name exists and the default value has</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the property to query</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the default value</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_property" c:identifier="mx_stylable_get_property">
        <doc xml:whitespace="preserve">Retrieves the value of @property_name for @stylable, and puts it
into @value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the property</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for an empty #GValue</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_style" c:identifier="mx_stylable_get_style">
        <doc xml:whitespace="preserve">Retrieves the #MxStyle used by @stylable. This function does not
alter the reference count of the returned object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #MxStyle</doc>
          <type name="Style" c:type="MxStyle*"/>
        </return-value>
      </method>
      <method name="get_style_class"
              c:identifier="mx_stylable_get_style_class">
        <doc xml:whitespace="preserve">Get the current style class name

should not be modified or freed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the class name string. The string is owned by the #MxWidget and</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_style_pseudo_class"
              c:identifier="mx_stylable_get_style_pseudo_class">
        <doc xml:whitespace="preserve">Get the current style pseudo class. This can contain multiple pseudo class
names, separated by ':'.

should not be modified or freed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the pseudo class string. The string is owned by the #MxWidget and</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="list_properties"
              c:identifier="mx_stylable_list_properties">
        <doc xml:whitespace="preserve">Retrieves all the #GParamSpec&lt;!-- --&gt;s installed by @stylable.

of #GParamSpec&lt;!-- --&gt;s. Free it with  g_free() when done.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">an array</doc>
          <array length="0" zero-terminated="0" c:type="GParamSpec**">
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="n_props"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">return location for the number of properties, or %NULL</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_style" c:identifier="mx_stylable_set_style">
        <doc xml:whitespace="preserve">Sets @style as the new #MxStyle to be used by @stylable.

The #MxStylable will take ownership of the passed #MxStyle.

After the #MxStyle has been set, the MxStylable::style-set signal
will be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #MxStyle</doc>
            <type name="Style" c:type="MxStyle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_style_class"
              c:identifier="mx_stylable_set_style_class">
        <doc xml:whitespace="preserve">Set the style class name</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style_class" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new style class string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_style_pseudo_class"
              c:identifier="mx_stylable_set_style_pseudo_class">
        <doc xml:whitespace="preserve">Set the style pseudo class. The string can contain multiple pseudo class
names, separated by ':'.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pseudo_class" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new pseudo class string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="style_changed" c:identifier="mx_stylable_style_changed">
        <doc xml:whitespace="preserve">Emit the "style-changed" signal on @stylable to notify it that one or more
of the style properties has changed.

If @stylable is a #ClutterContainer then the "style-changed" notification is
propagated to it's children, since their style may depend on one or more
properties of the parent.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">flags that control the style changing</doc>
            <type name="StyleChangedFlags" c:type="MxStyleChangedFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="style_pseudo_class_add"
              c:identifier="mx_stylable_style_pseudo_class_add"
              version="1.2">
        <doc xml:whitespace="preserve">Add a pseudo-class name to the list of pseudo classes, contained in the
#MxStylable:style-pseudo-class property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="new_class" transfer-ownership="none">
            <doc xml:whitespace="preserve">A pseudo-class name to add</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="style_pseudo_class_contains"
              c:identifier="mx_stylable_style_pseudo_class_contains"
              version="1.2">
        <doc xml:whitespace="preserve">Check if the given pseudo-class name is contained in the list of
set pseudo classes on this #MxStylable object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the given pseudo-class is set, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pseudo_class" transfer-ownership="none">
            <doc xml:whitespace="preserve">A pseudo-class name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="style_pseudo_class_remove"
              c:identifier="mx_stylable_style_pseudo_class_remove"
              version="1.2">
        <doc xml:whitespace="preserve">Remove the specified pseudo class name from the list of pseudo classes
contained in the #MxStylable:style-pseudo-class property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="remove_class" transfer-ownership="none">
            <doc xml:whitespace="preserve">A pseudo class name to remove</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="style" writable="1" transfer-ownership="none">
        <type name="Style"/>
      </property>
      <property name="style-class" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="style-pseudo-class"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <glib:signal name="style-changed" when="first">
        <doc xml:whitespace="preserve">The ::style-changed signal is emitted each time one of the style
properties have changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #MxStyleChangedFlags associated with the signal</doc>
            <type name="StyleChangedFlags"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="StylableIface"
            c:type="MxStylableIface"
            glib:is-gtype-struct-for="Stylable">
      <field name="g_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_style">
        <callback name="get_style">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">a #MxStyle</doc>
            <type name="Style" c:type="MxStyle*"/>
          </return-value>
          <parameters>
            <parameter name="stylable" transfer-ownership="none">
              <type name="Stylable" c:type="MxStylable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_style">
        <callback name="set_style">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="stylable" transfer-ownership="none">
              <type name="Stylable" c:type="MxStylable*"/>
            </parameter>
            <parameter name="style" transfer-ownership="none">
              <doc xml:whitespace="preserve">a #MxStyle</doc>
              <type name="Style" c:type="MxStyle*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_style_class">
        <callback name="get_style_class">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the class name string. The string is owned by the #MxWidget and</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="stylable" transfer-ownership="none">
              <type name="Stylable" c:type="MxStylable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_style_class">
        <callback name="set_style_class">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="stylable" transfer-ownership="none">
              <type name="Stylable" c:type="MxStylable*"/>
            </parameter>
            <parameter name="style_class" transfer-ownership="none">
              <doc xml:whitespace="preserve">a new style class string</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_style_pseudo_class">
        <callback name="get_style_pseudo_class">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the pseudo class string. The string is owned by the #MxWidget and</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="stylable" transfer-ownership="none">
              <type name="Stylable" c:type="MxStylable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_style_pseudo_class">
        <callback name="set_style_pseudo_class">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="stylable" transfer-ownership="none">
              <type name="Stylable" c:type="MxStylable*"/>
            </parameter>
            <parameter name="pseudo_class" transfer-ownership="none">
              <doc xml:whitespace="preserve">a new pseudo class string</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="style_changed">
        <callback name="style_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="stylable" transfer-ownership="none">
              <type name="Stylable" c:type="MxStylable*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <doc xml:whitespace="preserve">flags that control the style changing</doc>
              <type name="StyleChangedFlags" c:type="MxStyleChangedFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <method name="install_property"
              c:identifier="mx_stylable_iface_install_property">
        <doc xml:whitespace="preserve">Installs a property for @owner_type using @pspec as the property
description.

This function should be used inside the #MxStylableIface initialization
function of a class, for instance:

&lt;informalexample&gt;&lt;programlisting&gt;
G_DEFINE_TYPE_WITH_CODE (FooActor, foo_actor, CLUTTER_TYPE_ACTOR,
G_IMPLEMENT_INTERFACE (MX_TYPE_STYLABLE,
mx_stylable_init));
...
static void
mx_stylable_init (MxStylableIface *iface)
{
static gboolean is_initialized = FALSE;

if (!is_initialized)
{
...
mx_stylable_iface_install_property (stylable,
FOO_TYPE_ACTOR,
g_param_spec_int ("x-spacing",
"X Spacing",
"Horizontal spacing",
-1, G_MAXINT,
2,
G_PARAM_READWRITE));
...
}
}
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="owner_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">#GType of the style property owner</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="pspec" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GParamSpec</doc>
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <class name="Style"
           c:symbol-prefix="style"
           c:type="MxStyle"
           parent="GObject.Object"
           glib:type-name="MxStyle"
           glib:get-type="mx_style_get_type"
           glib:type-struct="StyleClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <constructor name="new" c:identifier="mx_style_new">
        <doc xml:whitespace="preserve">Creates a new #MxStyle object. This must be freed using #g_object_unref
when no longer required.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly allocated #MxStyle</doc>
          <type name="Style" c:type="MxStyle*"/>
        </return-value>
      </constructor>
      <function name="get_default" c:identifier="mx_style_get_default">
        <doc xml:whitespace="preserve">Return the default MxStyle object. This includes the current theme (if
any).

unref'd by applications</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #MxStyle object. This must not be freed or</doc>
          <type name="Style" c:type="MxStyle*"/>
        </return-value>
      </function>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get" c:identifier="mx_style_get" introspectable="0">
        <doc xml:whitespace="preserve">Gets the style properties for @stylable from @style.

In general, a copy is made of the property contents and the caller
is responsible for freeing the memory in the appropriate manner for
the property type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stylable" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #MxStylable</doc>
            <type name="Stylable" c:type="MxStylable*"/>
          </parameter>
          <parameter name="first_property_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the first property to get</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="get_property" c:identifier="mx_style_get_property">
        <doc xml:whitespace="preserve">Requests the property described in @pspec for the specified stylable</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stylable" transfer-ownership="none">
            <doc xml:whitespace="preserve">a stylable to retreive the data for</doc>
            <type name="Stylable" c:type="MxStylable*"/>
          </parameter>
          <parameter name="pspec" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GParamSpec describing the property required</doc>
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GValue to place the return value in</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_valist"
              c:identifier="mx_style_get_valist"
              introspectable="0">
        <doc xml:whitespace="preserve">Gets the style properties for @stylable from @style.

Please refer to mx_style_get() for further information.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stylable" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #MxStylable</doc>
            <type name="Stylable" c:type="MxStylable*"/>
          </parameter>
          <parameter name="first_property_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the first property to get</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="va_args" transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the first property, followed optionally by more name/return location pairs, followed by %NULL</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_file"
              c:identifier="mx_style_load_from_file"
              throws="1">
        <doc xml:whitespace="preserve">Load style information from the specified file.

FALSE on error.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the style information was loaded successfully. Returns</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">filename of the style sheet to load</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="StylePrivate" c:type="MxStylePrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <doc xml:whitespace="preserve">Indicates that the style data has changed in some way. For example, a new
stylesheet may have been loaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <bitfield name="StyleChangedFlags"
              glib:type-name="MxStyleChangedFlags"
              glib:get-type="mx_style_changed_flags_get_type"
              c:type="MxStyleChangedFlags">
      <member name="none"
              value="0"
              c:identifier="MX_STYLE_CHANGED_NONE"
              glib:nick="none"/>
      <member name="force"
              value="1"
              c:identifier="MX_STYLE_CHANGED_FORCE"
              glib:nick="force"/>
      <member name="invalidate_cache"
              value="2"
              c:identifier="MX_STYLE_CHANGED_INVALIDATE_CACHE"
              glib:nick="invalidate-cache"/>
    </bitfield>
    <record name="StyleClass"
            c:type="MxStyleClass"
            glib:is-gtype-struct-for="Style">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="style" transfer-ownership="none">
              <type name="Style" c:type="MxStyle*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <enumeration name="StyleError"
                 glib:type-name="MxStyleError"
                 glib:get-type="mx_style_error_get_type"
                 c:type="MxStyleError">
      <member name="invalid_file"
              value="0"
              c:identifier="MX_STYLE_ERROR_INVALID_FILE"
              glib:nick="invalid-file"/>
    </enumeration>
    <record name="StylePrivate" c:type="MxStylePrivate" disguised="1">
    </record>
    <class name="Table"
           c:symbol-prefix="table"
           c:type="MxTable"
           parent="Widget"
           glib:type-name="MxTable"
           glib:get-type="mx_table_get_type"
           glib:type-struct="TableClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_table_new">
        <doc xml:whitespace="preserve">Create a new #MxTable</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #MxTable</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="add_actor" c:identifier="mx_table_add_actor">
        <doc xml:whitespace="preserve">Add an actor at the specified row and column

Note, column and rows numbers start from zero</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">the child to insert</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row to place the child into</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column to place the child into</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_actor_with_properties"
              c:identifier="mx_table_add_actor_with_properties"
              introspectable="0">
        <doc xml:whitespace="preserve">Add an actor into at the specified row and column, with additional child
properties to set.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">the child #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row to place the child into</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column to place the child into</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="first_property_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the first property to set</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_column" c:identifier="mx_table_child_get_column">
        <doc xml:whitespace="preserve">Get the column of the child.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the column of the child</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_column_span"
              c:identifier="mx_table_child_get_column_span">
        <doc xml:whitespace="preserve">Get the column span of the child. Defaults to 1.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the column span of the child</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_row" c:identifier="mx_table_child_get_row">
        <doc xml:whitespace="preserve">Get the row of the child.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the row of the child</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_row_span"
              c:identifier="mx_table_child_get_row_span">
        <doc xml:whitespace="preserve">Get the row span of the child. Defaults to 1.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the row span of the child</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_x_align"
              c:identifier="mx_table_child_get_x_align">
        <doc xml:whitespace="preserve">Get the x-align value of the child</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxAlign value</doc>
          <type name="Align" c:type="MxAlign"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_x_expand"
              c:identifier="mx_table_child_get_x_expand">
        <doc xml:whitespace="preserve">Get the x-expand property of the child</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the child is set to x-expand</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_x_fill" c:identifier="mx_table_child_get_x_fill">
        <doc xml:whitespace="preserve">Get the x-fill state of the child</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the child is set to x-fill</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_y_align"
              c:identifier="mx_table_child_get_y_align">
        <doc xml:whitespace="preserve">Get the y-align value of the child</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxAlign value</doc>
          <type name="Align" c:type="MxAlign"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_y_expand"
              c:identifier="mx_table_child_get_y_expand">
        <doc xml:whitespace="preserve">Get the y-expand property of the child.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the child is set to y-expand</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_y_fill" c:identifier="mx_table_child_get_y_fill">
        <doc xml:whitespace="preserve">Get the y-fill state of the child</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE if the child is set to y-fill</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_column" c:identifier="mx_table_child_set_column">
        <doc xml:whitespace="preserve">Set the column of the child</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="col" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column of the child</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_column_span"
              c:identifier="mx_table_child_set_column_span">
        <doc xml:whitespace="preserve">Set the column span of the child.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">An #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="span" transfer-ownership="none">
            <doc xml:whitespace="preserve">The number of columns to span</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_row" c:identifier="mx_table_child_set_row">
        <doc xml:whitespace="preserve">Set the row of the child</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row of the child</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_row_span"
              c:identifier="mx_table_child_set_row_span">
        <doc xml:whitespace="preserve">Set the row span of the child.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="span" transfer-ownership="none">
            <doc xml:whitespace="preserve">the number of rows to span</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_x_align"
              c:identifier="mx_table_child_set_x_align">
        <doc xml:whitespace="preserve">Set the alignment of the child within its cell. This will only have an effect
if the the x-fill property is FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="align" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxAlign value</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_x_expand"
              c:identifier="mx_table_child_set_x_expand">
        <doc xml:whitespace="preserve">Set x-expand on the child. This causes the column which the child
resides in to be allocated any extra space if the allocation of the table is
larger than the preferred size.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="expand" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new value of the x expand child property</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_x_fill" c:identifier="mx_table_child_set_x_fill">
        <doc xml:whitespace="preserve">Set the fill state of the child on the x-axis. This will cause the child to
be allocated the maximum available space.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">the fill state</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_y_align"
              c:identifier="mx_table_child_set_y_align">
        <doc xml:whitespace="preserve">Set the value of the y-align property. This will only have an effect if
y-fill value is set to FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="align" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxAlign value</doc>
            <type name="Align" c:type="MxAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_y_expand"
              c:identifier="mx_table_child_set_y_expand">
        <doc xml:whitespace="preserve">Set y-expand on the child. This causes the row which the child
resides in to be allocated any extra space if the allocation of the table is
larger than the preferred size.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="expand" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new value of the y-expand child property</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_y_fill" c:identifier="mx_table_child_set_y_fill">
        <doc xml:whitespace="preserve">Set the fill state of the child on the y-axis. This will cause the child to
be allocated the maximum available space.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="fill" transfer-ownership="none">
            <doc xml:whitespace="preserve">the fill state</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_column_count" c:identifier="mx_table_get_column_count">
        <doc xml:whitespace="preserve">Retrieve the current number of columns in @table</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of columns</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_column_spacing"
              c:identifier="mx_table_get_column_spacing">
        <doc xml:whitespace="preserve">Gets the amount of spacing between columns.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the spacing between columns in device units</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_row_count" c:identifier="mx_table_get_row_count">
        <doc xml:whitespace="preserve">Retrieve the current number rows in the @table</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of rows</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_row_spacing" c:identifier="mx_table_get_row_spacing">
        <doc xml:whitespace="preserve">Gets the amount of spacing between rows.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the spacing between rows in device units</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="set_column_spacing"
              c:identifier="mx_table_set_column_spacing">
        <doc xml:whitespace="preserve">Sets the amount of spacing between columns.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:whitespace="preserve">spacing in pixels</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row_spacing" c:identifier="mx_table_set_row_spacing">
        <doc xml:whitespace="preserve">Sets the amount of spacing between rows.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:whitespace="preserve">spacing in pixels</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="column-count" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="column-spacing" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="row-count" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="row-spacing" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="TablePrivate" c:type="MxTablePrivate*"/>
      </field>
    </class>
    <class name="TableChild"
           c:symbol-prefix="table_child"
           c:type="MxTableChild"
           parent="Clutter.ChildMeta"
           glib:type-name="MxTableChild"
           glib:get-type="mx_table_child_get_type"
           glib:type-struct="TableChildClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <property name="column" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="column-span" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="row" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="row-span" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="x-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="x-expand" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="x-fill" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="y-align" writable="1" transfer-ownership="none">
        <type name="Align"/>
      </property>
      <property name="y-expand" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="y-fill" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
    </class>
    <record name="TableChildClass"
            c:type="MxTableChildClass"
            glib:is-gtype-struct-for="TableChild">
      <field name="parent_class">
        <type name="Clutter.ChildMetaClass" c:type="ClutterChildMetaClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="TableClass"
            c:type="MxTableClass"
            glib:is-gtype-struct-for="Table">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="TablePrivate" c:type="MxTablePrivate" disguised="1">
    </record>
    <class name="TextureCache"
           c:symbol-prefix="texture_cache"
           c:type="MxTextureCache"
           parent="GObject.Object"
           glib:type-name="MxTextureCache"
           glib:get-type="mx_texture_cache_get_type"
           glib:type-struct="TextureCacheClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <function name="get_default" c:identifier="mx_texture_cache_get_default">
        <doc xml:whitespace="preserve">Returns the default texture cache. This is owned by Mx and should not be
unreferenced or freed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a MxTextureCache</doc>
          <type name="TextureCache" c:type="MxTextureCache*"/>
        </return-value>
      </function>
      <virtual-method name="error_loading">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="texture" transfer-ownership="none">
            <type name="Clutter.Texture" c:type="ClutterTexture*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="contains"
              c:identifier="mx_texture_cache_contains"
              version="1.2">
        <doc xml:whitespace="preserve">Checks whether the given URI/path is contained within the texture
cache.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the image exists, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or path to an image file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="contains_meta"
              c:identifier="mx_texture_cache_contains_meta"
              version="1.2">
        <doc xml:whitespace="preserve">Checks whether there are any textures associated with the given URI by
the given identifier.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the data exists, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or path to an image file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="ident" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique identifier</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actor" c:identifier="mx_texture_cache_get_actor">
        <doc xml:whitespace="preserve">This is a wrapper around mx_texture_cache_get_texture() which returns
a ClutterActor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly created ClutterTexture</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or path to a image file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_cogl_texture"
              c:identifier="mx_texture_cache_get_cogl_texture">
        <doc xml:whitespace="preserve">Create a #CoglHandle representing a texture of the specified image. Adds
the image to the cache if the image had not been previously loaded.
Subsequent calls with the same image URI/path will return the #CoglHandle of
the previously loaded image with an increased reference count.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #CoglHandle to the cached texture</doc>
          <type name="Cogl.Handle" c:type="CoglHandle"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or path to an image file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_meta_cogl_texture"
              c:identifier="mx_texture_cache_get_meta_cogl_texture"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the #CoglHandle of the previously added image associated
with the given unique identifier.

See mx_texture_cache_insert_meta()

reference. %NULL if no image was found.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #CoglHandle to a texture, with an added</doc>
          <type name="Cogl.Handle" c:type="CoglHandle"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or path to an image file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="ident" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique identifier</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_meta_texture"
              c:identifier="mx_texture_cache_get_meta_texture"
              version="1.2">
        <doc xml:whitespace="preserve">Create a new ClutterTexture using the previously added image associated
with the given unique identifier.

See mx_texture_cache_insert_meta()

%NULL if no image was found</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A newly allocated #ClutterTexture, or</doc>
          <type name="Clutter.Texture" c:type="ClutterTexture*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or path to an image file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="ident" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique identifier</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="mx_texture_cache_get_size">
        <doc xml:whitespace="preserve">Returns the number of items in the texture cache</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current size of the cache</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_texture" c:identifier="mx_texture_cache_get_texture">
        <doc xml:whitespace="preserve">Create a new ClutterTexture with the specified image. Adds the image to the
cache if the image had not been previously loaded. Subsequent calls with
the same image URI/path will return a new ClutterTexture with the previously
loaded image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a newly created ClutterTexture</doc>
          <type name="Clutter.Texture" c:type="ClutterTexture*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or path to a image file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert"
              c:identifier="mx_texture_cache_insert"
              version="1.2">
        <doc xml:whitespace="preserve">Inserts a texture into the texture cache. This can be useful if you
want to cache a texture from a custom or unhandled URI type, or you
want to override a particular texture.

If the image is already in the cache, this texture will replace it. A
reference will be taken on the given texture.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or local file path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #CoglHandle to a texture</doc>
            <type name="Cogl.Handle" c:type="CoglHandle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_meta"
              c:identifier="mx_texture_cache_insert_meta"
              version="1.2">
        <doc xml:whitespace="preserve">Inserts a texture that's associated with a URI into the cache.
If the metadata already exists for this URI, it will be replaced.

This is useful if you have a widely used modification of an image,
for example, an image with a border composited around it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">A URI or local file path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="ident" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique identifier</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #CoglHandle to a texture</doc>
            <type name="Cogl.Handle" c:type="CoglHandle*"/>
          </parameter>
          <parameter name="destroy_func"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:whitespace="preserve">An optional destruction function for @ident</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_cache" c:identifier="mx_texture_cache_load_cache">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="TextureCacheClass"
            c:type="MxTextureCacheClass"
            glib:is-gtype-struct-for="TextureCache">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="loaded">
        <callback name="loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="TextureCache" c:type="MxTextureCache*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="texture" transfer-ownership="none">
              <type name="Clutter.Texture" c:type="ClutterTexture*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="error_loading">
        <callback name="error_loading">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="TextureCache" c:type="MxTextureCache*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="TextureFrame"
           c:symbol-prefix="texture_frame"
           c:type="MxTextureFrame"
           parent="Clutter.Actor"
           glib:type-name="MxTextureFrame"
           glib:get-type="mx_texture_frame_get_type"
           glib:type-struct="TextureFrameClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <constructor name="new" c:identifier="mx_texture_frame_new">
        <doc xml:whitespace="preserve">A #MxTextureFrame is a specialized texture that efficiently clones
an area of the given @texture while keeping preserving portions of the
same texture.

A #MxTextureFrame can be used to make a rectangular texture fit a
given size without stretching its borders.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the newly created #MxTextureFrame</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #ClutterTexture or %NULL</doc>
            <type name="Clutter.Texture" c:type="ClutterTexture*"/>
          </parameter>
          <parameter name="top" transfer-ownership="none">
            <doc xml:whitespace="preserve">top margin preserving its content</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="right" transfer-ownership="none">
            <doc xml:whitespace="preserve">right margin preserving its content</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="bottom" transfer-ownership="none">
            <doc xml:whitespace="preserve">bottom margin preserving its content</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="left" transfer-ownership="none">
            <doc xml:whitespace="preserve">left margin preserving its content</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_border_values"
              c:identifier="mx_texture_frame_get_border_values">
        <doc xml:whitespace="preserve">Retrieve the current slice lines from the specified frame.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="top" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the top slice</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="right" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the right slice</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="bottom" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the bottom slice</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="left" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the left slice</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_parent_texture"
              c:identifier="mx_texture_frame_get_parent_texture">
        <doc xml:whitespace="preserve">Return the texture used by the #MxTextureFrame</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #ClutterTexture owned by the #MxTextureFrame</doc>
          <type name="Clutter.Texture" c:type="ClutterTexture*"/>
        </return-value>
      </method>
      <method name="set_border_values"
              c:identifier="mx_texture_frame_set_border_values">
        <doc xml:whitespace="preserve">Set the slice lines of the specified frame. The slices are calculated as
widths from the edge of the frame.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="top" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the top slice</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="right" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the right slice</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="bottom" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the bottom slice</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="left" transfer-ownership="none">
            <doc xml:whitespace="preserve">width of the left slice</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_parent_texture"
              c:identifier="mx_texture_frame_set_parent_texture">
        <doc xml:whitespace="preserve">Set the #ClutterTexture used by this #MxTextureFrame</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterTexture</doc>
            <type name="Clutter.Texture" c:type="ClutterTexture*"/>
          </parameter>
        </parameters>
      </method>
      <property name="bottom"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="left"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="parent-texture"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Clutter.Texture"/>
      </property>
      <property name="right"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="top"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Clutter.Actor" c:type="ClutterActor"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="TextureFramePrivate" c:type="MxTextureFramePrivate*"/>
      </field>
    </class>
    <record name="TextureFrameClass"
            c:type="MxTextureFrameClass"
            glib:is-gtype-struct-for="TextureFrame">
      <field name="parent_class">
        <type name="Clutter.ActorClass" c:type="ClutterActorClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="TextureFramePrivate"
            c:type="MxTextureFramePrivate"
            disguised="1">
    </record>
    <class name="Toggle"
           c:symbol-prefix="toggle"
           c:type="MxToggle"
           parent="Widget"
           glib:type-name="MxToggle"
           glib:get-type="mx_toggle_get_type"
           glib:type-struct="ToggleClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_toggle_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_active" c:identifier="mx_toggle_get_active">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_active" c:identifier="mx_toggle_set_active">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="active" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="active" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Widget" c:type="MxWidget"/>
      </field>
      <field name="priv">
        <type name="TogglePrivate" c:type="MxTogglePrivate*"/>
      </field>
    </class>
    <record name="ToggleClass"
            c:type="MxToggleClass"
            glib:is-gtype-struct-for="Toggle">
      <field name="parent_class">
        <type name="WidgetClass" c:type="MxWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="TogglePrivate" c:type="MxTogglePrivate" disguised="1">
    </record>
    <class name="Toolbar"
           c:symbol-prefix="toolbar"
           c:type="MxToolbar"
           parent="Bin"
           glib:type-name="MxToolbar"
           glib:get-type="mx_toolbar_get_type"
           glib:type-struct="ToolbarClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_toolbar_new">
        <doc xml:whitespace="preserve">Create a new #MxToolbar. This is not normally necessary if using #MxWindow,
where #mx_window_get_toolbar should be used to retrieve the toolbar instead.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A newly allocated #MxToolbar</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <virtual-method name="close_button_clicked">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <method name="get_has_close_button"
              c:identifier="mx_toolbar_get_has_close_button">
        <doc xml:whitespace="preserve">Get the value of the #MxToolbar:has-close-button property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current value of the "hast-close-button" property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_has_close_button"
              c:identifier="mx_toolbar_set_has_close_button">
        <doc xml:whitespace="preserve">Set the #MxToolbar:has-close-button property</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="has_close_button" transfer-ownership="none">
            <doc xml:whitespace="preserve">#TRUE if a close button should be displayed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="has-close-button" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv">
        <type name="ToolbarPrivate" c:type="MxToolbarPrivate*"/>
      </field>
      <glib:signal name="close-button-clicked" when="last">
        <doc xml:whitespace="preserve">Emitted when the close button of the toolbar is clicked.

Normally, the parent stage will be closed when the close button is
clicked. Return #TRUE from this handler to prevent the stage from being
destroyed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#TRUE to prevent the parent stage being destroyed.</doc>
          <type name="gboolean"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ToolbarClass"
            c:type="MxToolbarClass"
            glib:is-gtype-struct-for="Toolbar">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
      <field name="close_button_clicked">
        <callback name="close_button_clicked">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="toolbar" transfer-ownership="none">
              <type name="Toolbar" c:type="MxToolbar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ToolbarPrivate" c:type="MxToolbarPrivate" disguised="1">
    </record>
    <class name="Tooltip"
           c:symbol-prefix="tooltip"
           c:type="MxTooltip"
           parent="FloatingWidget"
           glib:type-name="MxTooltip"
           glib:get-type="mx_tooltip_get_type"
           glib:type-struct="TooltipClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <function name="is_in_browse_mode"
                c:identifier="mx_tooltip_is_in_browse_mode"
                version="1.2">
        <doc xml:whitespace="preserve">Browse mode is entered whenever a tooltip is displayed and it is
left after a short delay when a tooltip is hidden. This is used to
make tooltips display quicker when a previous tooltip is already
displayed.

otherwise.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the app is in tooltip browse mode or %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <method name="get_text" c:identifier="mx_tooltip_get_text">
        <doc xml:whitespace="preserve">Get the text displayed on the tooltip</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the text for the tooltip. This must not be freed by the application</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_tip_area" c:identifier="mx_tooltip_get_tip_area">
        <doc xml:whitespace="preserve">Retrieve the area on the stage that the tooltip currently applies to

by the application.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #ClutterGeometry, owned by the tooltip which must not be freed</doc>
          <type name="Clutter.Geometry" c:type="ClutterGeometry*"/>
        </return-value>
      </method>
      <method name="hide" c:identifier="mx_tooltip_hide">
        <doc xml:whitespace="preserve">Hide the tooltip</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_text" c:identifier="mx_tooltip_set_text">
        <doc xml:whitespace="preserve">Sets the text displayed on the tooltip</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set the label to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tip_area" c:identifier="mx_tooltip_set_tip_area">
        <doc xml:whitespace="preserve">Set the area on the stage that the tooltip applies to.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="area" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterGeometry</doc>
            <type name="Clutter.Geometry" c:type="ClutterGeometry*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tip_area_from_actor"
              c:identifier="mx_tooltip_set_tip_area_from_actor">
        <doc xml:whitespace="preserve">Utility function to set the geometry of the tooltip area
from an existing actor.
See also mx_tooltip_set_tip_area</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show" c:identifier="mx_tooltip_show">
        <doc xml:whitespace="preserve">Show the tooltip relative to the associated widget.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="text" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="tip-area" writable="1" transfer-ownership="none">
        <type name="Clutter.Geometry"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="FloatingWidget" c:type="MxFloatingWidget"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="TooltipPrivate" c:type="MxTooltipPrivate*"/>
      </field>
    </class>
    <enumeration name="TooltipAnimation"
                 version="1.2"
                 glib:type-name="MxTooltipAnimation"
                 glib:get-type="mx_tooltip_animation_get_type"
                 c:type="MxTooltipAnimation">
      <doc xml:whitespace="preserve">Defines the animation when tooltips are shown and hidden.</doc>
      <member name="bounce"
              value="0"
              c:identifier="MX_TOOLTIP_ANIMATION_BOUNCE"
              glib:nick="bounce"/>
      <member name="fade"
              value="1"
              c:identifier="MX_TOOLTIP_ANIMATION_FADE"
              glib:nick="fade"/>
    </enumeration>
    <record name="TooltipClass"
            c:type="MxTooltipClass"
            glib:is-gtype-struct-for="Tooltip">
      <field name="parent_class">
        <type name="FloatingWidgetClass" c:type="MxFloatingWidgetClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="TooltipPrivate" c:type="MxTooltipPrivate" disguised="1">
    </record>
    <constant name="VERSION_HEX" value="0" c:type="MX_VERSION_HEX">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="VERSION_S" value="1.4.6" c:type="MX_VERSION_S">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Viewport"
           c:symbol-prefix="viewport"
           c:type="MxViewport"
           parent="Bin"
           glib:type-name="MxViewport"
           glib:get-type="mx_viewport_get_type"
           glib:type-struct="ViewportClass">
      <doc xml:whitespace="preserve">The contents of this structure are private and should only be accessed
through the public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Focusable"/>
      <implements name="Scrollable"/>
      <implements name="Stylable"/>
      <constructor name="new" c:identifier="mx_viewport_new">
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <method name="get_origin" c:identifier="mx_viewport_get_origin">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="z" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_sync_adjustments"
              c:identifier="mx_viewport_get_sync_adjustments">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_origin" c:identifier="mx_viewport_set_origin">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="z" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sync_adjustments"
              c:identifier="mx_viewport_set_sync_adjustments">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sync" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="sync-adjustments" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="x-origin" writable="1" transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="y-origin" writable="1" transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="z-origin" writable="1" transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Bin" c:type="MxBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ViewportPrivate" c:type="MxViewportPrivate*"/>
      </field>
    </class>
    <record name="ViewportClass"
            c:type="MxViewportClass"
            glib:is-gtype-struct-for="Viewport">
      <field name="parent_class">
        <type name="BinClass" c:type="MxBinClass"/>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ViewportPrivate" c:type="MxViewportPrivate" disguised="1">
    </record>
    <class name="Widget"
           c:symbol-prefix="widget"
           c:type="MxWidget"
           parent="Clutter.Actor"
           abstract="1"
           glib:type-name="MxWidget"
           glib:get-type="mx_widget_get_type"
           glib:type-struct="WidgetClass">
      <doc xml:whitespace="preserve">Base class for stylable actors. The contents of the #MxWidget
structure are private and should only be accessed through the
public API.</doc>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <implements name="Stylable"/>
      <virtual-method name="apply_style" invoker="apply_style" version="1.2">
        <doc xml:whitespace="preserve">Used to implement how a new style instance should be applied in the widget.
For instance, setting style instance on stylable internal children.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxStyle</doc>
            <type name="Style" c:type="MxStyle*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="long_press">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <type name="LongPressAction" c:type="MxLongPressAction"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint_background">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="background" transfer-ownership="none">
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Clutter.Color" c:type="ClutterColor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="apply_style"
              c:identifier="mx_widget_apply_style"
              version="1.2">
        <doc xml:whitespace="preserve">Used to implement how a new style instance should be applied in the widget.
For instance, setting style instance on stylable internal children.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxStyle</doc>
            <type name="Style" c:type="MxStyle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_available_area"
              c:identifier="mx_widget_get_available_area">
        <doc xml:whitespace="preserve">Copies @allocation into @area and accounts for the padding values. This
gives the area that is available in which to allocate children with respect
to padding.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="allocation" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActorBox</doc>
            <type name="Clutter.ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActorBox</doc>
            <type name="Clutter.ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_background_image"
              c:identifier="mx_widget_get_background_image">
        <doc xml:whitespace="preserve">Get the texture used as the background image. This is set using the
"background-image" CSS property. This function should normally only be used
by subclasses.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #ClutterActor</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_border_image"
              c:identifier="mx_widget_get_border_image">
        <doc xml:whitespace="preserve">Get the texture used as the border image. This is set using the
"border-image" CSS property. This function should normally only be used
by subclasses.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">#ClutterActor</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_disabled" c:identifier="mx_widget_get_disabled">
        <doc xml:whitespace="preserve">Get the value of the "disabled" property.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_menu" c:identifier="mx_widget_get_menu">
        <doc xml:whitespace="preserve">Get the object in the #MxWidget:menu property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The current object in the "menu" property.</doc>
          <type name="Menu" c:type="MxMenu*"/>
        </return-value>
      </method>
      <method name="get_padding" c:identifier="mx_widget_get_padding">
        <doc xml:whitespace="preserve">Gets the padding of the widget, set using the "padding" CSS property. This
function should normally only be used by subclasses.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="padding" transfer-ownership="none">
            <doc xml:whitespace="preserve">A pointer to an #MxPadding to fill</doc>
            <type name="Padding" c:type="MxPadding*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tooltip_delay"
              c:identifier="mx_widget_get_tooltip_delay">
        <doc xml:whitespace="preserve">Get the value of the "tooltip-delay" property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current delay value in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_tooltip_text"
              c:identifier="mx_widget_get_tooltip_text">
        <doc xml:whitespace="preserve">Get the current tooltip string</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The current tooltip string, owned by the #MxWidget</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="hide_tooltip" c:identifier="mx_widget_hide_tooltip">
        <doc xml:whitespace="preserve">Hide the tooltip for @widget</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="long_press_cancel"
              c:identifier="mx_widget_long_press_cancel">
        <doc xml:whitespace="preserve">Cancel a long-press timeout if one is running and emit the signal to notify
that the long-press has been cancelled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="long_press_query"
              c:identifier="mx_widget_long_press_query">
        <doc xml:whitespace="preserve">Emit the long-press query signal and start a long-press timeout if required.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:whitespace="preserve">the event used to determine whether to run a long-press</doc>
            <type name="Clutter.ButtonEvent" c:type="ClutterButtonEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="paint_background"
              c:identifier="mx_widget_paint_background">
        <doc xml:whitespace="preserve">Invokes #MxWidget::paint_background() using the default background
image and/or color from the @widget style

This function should be used by subclasses of #MxWidget that override
the paint() virtual function and cannot chain up</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_disabled" c:identifier="mx_widget_set_disabled">
        <doc xml:whitespace="preserve">Set the disabled property. Disabled widgets have a "disabled" pseudo-class
until disabled is set to #FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="disabled" transfer-ownership="none">
            <doc xml:whitespace="preserve">value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_menu" c:identifier="mx_widget_set_menu">
        <doc xml:whitespace="preserve">Set the value of the #MxWidget:menu property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #MxMenu</doc>
            <type name="Menu" c:type="MxMenu*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tooltip_delay"
              c:identifier="mx_widget_set_tooltip_delay">
        <doc xml:whitespace="preserve">Set the value, in milliseconds, of the "tooltip-delay" property.
This is initially set to MX_WIDGET_TOOLTIP_TIMEOUT.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="delay" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tooltip_text"
              c:identifier="mx_widget_set_tooltip_text">
        <doc xml:whitespace="preserve">Set the tooltip text of the widget. Note that setting tooltip text will cause
the widget to be set reactive. If you no longer need tooltips and you do not
need the widget to be reactive, you must set ClutterActor::reactive to
%FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">text to set as the tooltip</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_tooltip" c:identifier="mx_widget_show_tooltip">
        <doc xml:whitespace="preserve">Show the tooltip for @widget</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="disabled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="menu" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">#MxMenu associated with the widget.</doc>
        <type name="Menu"/>
      </property>
      <property name="tooltip-delay"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="tooltip-text" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">text displayed on the tooltip</doc>
        <type name="utf8"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Clutter.Actor" c:type="ClutterActor"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="WidgetPrivate" c:type="MxWidgetPrivate*"/>
      </field>
      <glib:signal name="long-press" when="last">
        <doc xml:whitespace="preserve">Emitted when the user holds a mouse button down for a longer period.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gfloat"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="LongPressAction"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="WidgetClass"
            c:type="MxWidgetClass"
            glib:is-gtype-struct-for="Widget">
      <doc xml:whitespace="preserve">Base class for stylable actors.</doc>
      <field name="parent_class" readable="0" private="1">
        <type name="Clutter.ActorClass" c:type="ClutterActorClass"/>
      </field>
      <field name="paint_background">
        <callback name="paint_background">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Widget" c:type="MxWidget*"/>
            </parameter>
            <parameter name="background" transfer-ownership="none">
              <type name="Clutter.Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="color" transfer-ownership="none">
              <type name="Clutter.Color" c:type="ClutterColor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="long_press">
        <callback name="long_press">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="widget" transfer-ownership="none">
              <type name="Widget" c:type="MxWidget*"/>
            </parameter>
            <parameter name="action" transfer-ownership="none">
              <type name="LongPressAction" c:type="MxLongPressAction"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="apply_style">
        <callback name="apply_style">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="widget" transfer-ownership="none">
              <type name="Widget" c:type="MxWidget*"/>
            </parameter>
            <parameter name="style" transfer-ownership="none">
              <doc xml:whitespace="preserve">A #MxStyle</doc>
              <type name="Style" c:type="MxStyle*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_5" introspectable="0">
        <callback name="_padding_5">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_6" introspectable="0">
        <callback name="_padding_6">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_7" introspectable="0">
        <callback name="_padding_7">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_8" introspectable="0">
        <callback name="_padding_8">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="WidgetPrivate" c:type="MxWidgetPrivate" disguised="1">
    </record>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="MxWindow"
           parent="GObject.Object"
           glib:type-name="MxWindow"
           glib:get-type="mx_window_get_type"
           glib:type-struct="WindowClass">
      <doc xml:whitespace="preserve">The contents of this structure is private and should only be accessed using
the provided API.</doc>
      <constructor name="new" c:identifier="mx_window_new">
        <doc xml:whitespace="preserve">Creates a new #MxWindow.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #MxWindow</doc>
          <type name="Window" c:type="MxWindow*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_clutter_stage"
                   c:identifier="mx_window_new_with_clutter_stage">
        <doc xml:whitespace="preserve">Creates a new #MxWindow, using @stage as the backing #ClutterStage. This
function is meant for use primarily for embedding a #MxWindow into
a foreign stage when using a Clutter toolkit integration library.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #MxWindow</doc>
          <type name="Window" c:type="MxWindow*"/>
        </return-value>
        <parameters>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterStage</doc>
            <type name="Clutter.Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_for_stage" c:identifier="mx_window_get_for_stage">
        <doc xml:whitespace="preserve">Gets the #MxWindow parent of the #ClutterStage, if it exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxWindow, or %NULL</doc>
          <type name="Window" c:type="MxWindow*"/>
        </return-value>
        <parameters>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterStage</doc>
            <type name="Clutter.Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_child" c:identifier="mx_window_get_child">
        <doc xml:whitespace="preserve">Get the primary child of the window. See mx_window_set_child().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #ClutterActor, or %NULL</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
      </method>
      <method name="get_clutter_stage"
              c:identifier="mx_window_get_clutter_stage">
        <doc xml:whitespace="preserve">Gets the #ClutterStage managed by the window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #ClutterStage</doc>
          <type name="Clutter.Stage" c:type="ClutterStage*"/>
        </return-value>
      </method>
      <method name="get_fullscreen"
              c:identifier="mx_window_get_fullscreen"
              version="1.2">
        <doc xml:whitespace="preserve">Determines if the window has been set to be in fullscreen mode.

otherwise %FALSE</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the window has been set to be in fullscreen mode,</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_has_toolbar" c:identifier="mx_window_get_has_toolbar">
        <doc xml:whitespace="preserve">Determines whether the window has a toolbar or not.
See mx_window_set_has_toolbar().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the window has a toolbar, otherwise %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_icon_name" c:identifier="mx_window_get_icon_name">
        <doc xml:whitespace="preserve">Gets the currently set window icon name. This will be %NULL if there is none
set, or the icon was set with mx_window_set_icon_from_cogl_texture().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The window icon name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_small_screen"
              c:identifier="mx_window_get_small_screen">
        <doc xml:whitespace="preserve">Determines if the window is in small-screen mode.
See mx_window_set_small_screen().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the window is in small-screen mode, otherwise %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_title"
              c:identifier="mx_window_get_title"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the title used for the window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The title used for the window</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_toolbar" c:identifier="mx_window_get_toolbar">
        <doc xml:whitespace="preserve">Retrieves the toolbar associated with the window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxToolbar</doc>
          <type name="Toolbar" c:type="MxToolbar*"/>
        </return-value>
      </method>
      <method name="get_window_position"
              c:identifier="mx_window_get_window_position">
        <doc xml:whitespace="preserve">Retrieves the absolute position of the window on the screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">A pointer for the x-coordinate</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">A pointer for the y-coordinate</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_window_rotation"
              c:identifier="mx_window_get_window_rotation"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieve the rotation of the window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An #MxWindowRotation</doc>
          <type name="WindowRotation" c:type="MxWindowRotation"/>
        </return-value>
      </method>
      <method name="get_window_size"
              c:identifier="mx_window_get_window_size"
              version="1.2">
        <doc xml:whitespace="preserve">Retrieves the size of the display area of the window, taking into
account any window border. This includes the area occupied by the
window's toolbar, if it's enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">A #gint pointer for the window's width</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">A #gint pointer for the window's height</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hide" c:identifier="mx_window_hide" version="1.2">
        <doc xml:whitespace="preserve">Hide the window</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="present" c:identifier="mx_window_present" version="1.2">
        <doc xml:whitespace="preserve">Present the window. The actual behaviour is specific to the window system.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_child" c:identifier="mx_window_set_child">
        <doc xml:whitespace="preserve">Adds @actor to the window and sets it as the primary child. When the
stage managed in the window changes size, the child will be resized
to match it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #ClutterActor</doc>
            <type name="Clutter.Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fullscreen"
              c:identifier="mx_window_set_fullscreen"
              version="1.2">
        <doc xml:whitespace="preserve">Set the window to be in fullscreen mode or windowed mode.

&lt;note&gt;&lt;para&gt;
Setting fullscreen mode doesn't necessarily mean the window is actually
fullscreen. Setting this property is only a request to the underlying
window system.
&lt;/para&gt;&lt;/note&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="fullscreen" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to request fullscreen mode, %FALSE to disable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_has_toolbar" c:identifier="mx_window_set_has_toolbar">
        <doc xml:whitespace="preserve">Sets whether the window has a toolbar or not. If the window has a toolbar,
client-side window decorations will be enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="toolbar" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the toolbar should be displayed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_from_cogl_texture"
              c:identifier="mx_window_set_icon_from_cogl_texture">
        <doc xml:whitespace="preserve">Sets the window icon from a texture. This will take precedence over
any currently set icon-name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #CoglHandle for a texture</doc>
            <type name="Cogl.Handle" c:type="CoglHandle"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name" c:identifier="mx_window_set_icon_name">
        <doc xml:whitespace="preserve">Set an icon-name to use for the window icon. The icon will be looked up
from the default theme.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">An icon name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_small_screen"
              c:identifier="mx_window_set_small_screen">
        <doc xml:whitespace="preserve">Enables or disables small-screen mode. This mode is meant primarily
for platforms with limited screen-space, such as netbooks. When enabled,
the window will take up all available room and will disable moving and
resizing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="small_screen" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if small-screen mode should be enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="mx_window_set_title"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the title used for the window, the results of which are
window-system specific.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">A string to use for the window title name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_toolbar"
              c:identifier="mx_window_set_toolbar"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the toolbar associated with the window.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="toolbar" transfer-ownership="none">
            <type name="Toolbar" c:type="MxToolbar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_position"
              c:identifier="mx_window_set_window_position">
        <doc xml:whitespace="preserve">Sets the absolute position of the window on the screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="x" transfer-ownership="none">
            <doc xml:whitespace="preserve">An x-coordinate</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:whitespace="preserve">A y-coordinate</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_rotation"
              c:identifier="mx_window_set_window_rotation"
              version="1.2">
        <doc xml:whitespace="preserve">Set the rotation of the window.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rotation" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #MxWindowRotation</doc>
            <type name="WindowRotation" c:type="MxWindowRotation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_size"
              c:identifier="mx_window_set_window_size"
              version="1.2">
        <doc xml:whitespace="preserve">Sets the size of the window, taking into account any window border. This
corresponds to the window's available area for its child, minus the area
occupied by the window's toolbar, if it's enabled.

&lt;note&gt;&lt;para&gt;
Setting the window size may involve a request to the underlying windowing
system, and may not immediately be reflected.
&lt;/para&gt;&lt;/note&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="width" transfer-ownership="none">
            <doc xml:whitespace="preserve">A width, in pixels</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:whitespace="preserve">A height, in pixels</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="show" c:identifier="mx_window_show" version="1.2">
        <doc xml:whitespace="preserve">Show the window</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="child" writable="1" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="clutter-stage"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Clutter.Stage"/>
      </property>
      <property name="fullscreen" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="has-toolbar" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="icon-cogl-texture"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="icon-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="small-screen" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="title" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="toolbar" writable="1" transfer-ownership="none">
        <type name="Toolbar"/>
      </property>
      <property name="window-rotation" writable="1" transfer-ownership="none">
        <type name="WindowRotation"/>
      </property>
      <property name="window-rotation-angle" transfer-ownership="none">
        <type name="gfloat"/>
      </property>
      <property name="window-rotation-timeline" transfer-ownership="none">
        <type name="Clutter.Timeline"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="WindowPrivate" c:type="MxWindowPrivate*"/>
      </field>
      <glib:signal name="destroy" when="last">
        <doc xml:whitespace="preserve">Emitted when the stage managed by the window is destroyed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="WindowClass"
            c:type="MxWindowClass"
            glib:is-gtype-struct-for="Window">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="destroy">
        <callback name="destroy">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="MxWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_padding_0" introspectable="0">
        <callback name="_padding_0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_1" introspectable="0">
        <callback name="_padding_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_2" introspectable="0">
        <callback name="_padding_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_3" introspectable="0">
        <callback name="_padding_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_padding_4" introspectable="0">
        <callback name="_padding_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="WindowPrivate" c:type="MxWindowPrivate" disguised="1">
    </record>
    <enumeration name="WindowRotation"
                 version="1.2"
                 glib:type-name="MxWindowRotation"
                 glib:get-type="mx_window_rotation_get_type"
                 c:type="MxWindowRotation">
      <doc xml:whitespace="preserve">Defines the clock-wise rotation angle of a window.</doc>
      <member name="0"
              value="0"
              c:identifier="MX_WINDOW_ROTATION_0"
              glib:nick="0"/>
      <member name="90"
              value="1"
              c:identifier="MX_WINDOW_ROTATION_90"
              glib:nick="90"/>
      <member name="180"
              value="2"
              c:identifier="MX_WINDOW_ROTATION_180"
              glib:nick="180"/>
      <member name="270"
              value="3"
              c:identifier="MX_WINDOW_ROTATION_270"
              glib:nick="270"/>
    </enumeration>
    <function name="actor_box_clamp_to_pixels"
              c:identifier="mx_actor_box_clamp_to_pixels">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="box" transfer-ownership="none">
          <type name="Clutter.ActorBox" c:type="ClutterActorBox*"/>
        </parameter>
      </parameters>
    </function>
    <function name="allocate_align_fill" c:identifier="mx_allocate_align_fill">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="child" transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </parameter>
        <parameter name="childbox" transfer-ownership="none">
          <type name="Clutter.ActorBox" c:type="ClutterActorBox*"/>
        </parameter>
        <parameter name="x_alignment" transfer-ownership="none">
          <type name="Align" c:type="MxAlign"/>
        </parameter>
        <parameter name="y_alignment" transfer-ownership="none">
          <type name="Align" c:type="MxAlign"/>
        </parameter>
        <parameter name="x_fill" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="y_fill" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="border_image_set_from_string"
              c:identifier="mx_border_image_set_from_string"
              moved-to="BorderImage.set_from_string">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="focus_hint_from_direction"
              c:identifier="mx_focus_hint_from_direction"
              moved-to="FocusHint.from_direction"
              version="1.2">
      <doc xml:whitespace="preserve">Transforms a focus direction to a focus hint. This is a convenience
function for actors that implement the #MxFocusable interface, to
pass the correct #MxFocusHint to their children when calling
mx_focusable_accept_focus().

%MX_FOCUS_DIRECTION_UP maps to %MX_FOCUS_HINT_FROM_BELOW,
%MX_FOCUS_DIRECTION_DOWN maps to %MX_FOCUS_HINT_FROM_ABOVE,
%MX_FOCUS_DIRECTION_LEFT maps to %MX_FOCUS_HINT_FROM_RIGHT,
%MX_FOCUS_DIRECTION_RIGHT maps to %MX_FOCUS_HINT_FROM_LEFT,
%MX_FOCUS_DIRECTION_NEXT maps to %MX_FOCUS_HINT_FIRST,
%MX_FOCUS_DIRECTION_PREVIOUS maps to %MX_FOCUS_HINT_LAST and
anything else maps to %MX_FOCUS_HINT_PRIOR.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">A #MxFocusHint</doc>
        <type name="FocusHint" c:type="MxFocusHint"/>
      </return-value>
      <parameters>
        <parameter name="direction" transfer-ownership="none">
          <doc xml:whitespace="preserve">A #MxFocusDirection</doc>
          <type name="FocusDirection" c:type="MxFocusDirection"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_weight_set_from_string"
              c:identifier="mx_font_weight_set_from_string"
              moved-to="FontWeight.set_from_string">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_error_quark"
              c:identifier="mx_image_error_quark"
              moved-to="ImageError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="set_locale" c:identifier="mx_set_locale">
      <doc xml:whitespace="preserve">Initializes internationalization support for Mx. If MxApplication is
used, this is called automatically. Otherwise it has to be called
together with clutter_init() before using Mx.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="utils_format_time" c:identifier="mx_utils_format_time">
      <doc xml:whitespace="preserve">Generates a string describing the time given in @time_ using
colloquial language suitable for display to the user. Examples of
what might be returned are "A few minutes ago" or "Yesterday".</doc>
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">a string. Free with g_free().</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="time_" transfer-ownership="none">
          <doc xml:whitespace="preserve">a time value</doc>
          <type name="GLib.TimeVal" c:type="GTimeVal*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
